diff --git a/.travis.yml b/.travis.yml
index 881d91b6..3826875e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -43,6 +43,6 @@ notifications:
install:
- "pip install -r dev-requirements.txt"
-script: "xvfb-run py.test --verbose" # Run tests in a fake X server
-
-
+script:
+ - "xvfb-run py.test --verbose" # Run tests in a fake X server
+ - "pep8"
diff --git a/gns3/cloud/base_cloud_ctrl.py b/gns3/cloud/base_cloud_ctrl.py
index 1b5ce475..067a6055 100644
--- a/gns3/cloud/base_cloud_ctrl.py
+++ b/gns3/cloud/base_cloud_ctrl.py
@@ -172,7 +172,6 @@ class BaseCloudCtrl(object):
return self.driver.list_nodes()
-
def create_key_pair(self, name):
""" Create and return a new Key Pair. """
diff --git a/gns3/cloud/exceptions.py b/gns3/cloud/exceptions.py
index beeb598d..65d65f9f 100644
--- a/gns3/cloud/exceptions.py
+++ b/gns3/cloud/exceptions.py
@@ -1,45 +1,67 @@
""" Exception classes for CloudCtrl classes. """
+
class ApiError(Exception):
+
""" Raised when the server returns 500 Compute Error. """
pass
+
class BadRequest(Exception):
+
""" Raised when the server returns 400 Bad Request. """
pass
+
class ComputeFault(Exception):
+
""" Raised when the server returns 400|500 Compute Fault. """
pass
+
class Forbidden(Exception):
+
""" Raised when the server returns 403 Forbidden. """
pass
+
class ItemNotFound(Exception):
+
""" Raised when the server returns 404 Not Found. """
pass
+
class KeyPairExists(Exception):
+
""" Raised when the server returns 409 Conflict Key pair exists. """
pass
+
class MethodNotAllowed(Exception):
+
""" Raised when the server returns 405 Method Not Allowed. """
pass
+
class OverLimit(Exception):
+
""" Raised when the server returns 413 Over Limit. """
pass
+
class ServerCapacityUnavailable(Exception):
+
""" Raised when the server returns 503 Server Capacity Uavailable. """
pass
+
class ServiceUnavailable(Exception):
+
""" Raised when the server returns 503 Service Unavailable. """
pass
+
class Unauthorized(Exception):
+
""" Raised when the server returns 401 Unauthorized. """
pass
diff --git a/gns3/cloud/utils.py b/gns3/cloud/utils.py
index 68474385..fdf6e2db 100644
--- a/gns3/cloud/utils.py
+++ b/gns3/cloud/utils.py
@@ -26,11 +26,14 @@ def ssh_client(host, key_string):
"""
import paramiko
+
class AllowAndForgetPolicy(paramiko.MissingHostKeyPolicy):
+
"""
Custom policy for server host keys: we simply accept the key
the server sent to us without storing it.
"""
+
def missing_host_key(self, *args, **kwargs):
"""
According to MissingHostKeyPolicy protocol, to accept
@@ -56,6 +59,7 @@ def ssh_client(host, key_string):
class ListInstancesThread(QtCore.QThread):
+
"""
Helper class to retrieve data from the provider in a separate thread,
avoid freezing the gui
@@ -76,6 +80,7 @@ class ListInstancesThread(QtCore.QThread):
class CreateInstanceThread(QtCore.QThread):
+
"""
Helper class to create instances in a separate thread
"""
@@ -106,6 +111,7 @@ class CreateInstanceThread(QtCore.QThread):
class DeleteInstanceThread(QtCore.QThread):
+
"""
Helper class to remove an instance in a separate thread
"""
@@ -122,6 +128,7 @@ class DeleteInstanceThread(QtCore.QThread):
class StartGNS3ServerThread(QtCore.QThread):
+
"""
Perform an SSH connection to the instances in a separate thread,
outside the GUI event loop, and start GNS3 server
@@ -207,7 +214,6 @@ killall python3 gns3server gns3dms
log.debug('stderr: {}'.format(stderr_data.decode('utf-8')))
return stdout_data, stderr_data
-
def run(self):
# We might be attempting a connection before the instance is fully booted, so retry
# when the ssh connection fails.
@@ -245,6 +251,7 @@ killall python3 gns3server gns3dms
class WSConnectThread(QtCore.QThread):
+
"""
Establish a websocket connection with the remote gns3server
instance. Run outside the GUI event loop.
@@ -283,6 +290,7 @@ class WSConnectThread(QtCore.QThread):
class UploadProjectThread(QtCore.QThread):
+
"""
Zip and Upload project to the cloud
"""
@@ -358,6 +366,7 @@ class UploadProjectThread(QtCore.QThread):
class UploadFilesThread(QtCore.QThread):
+
"""
Uploads files to cloud files
@@ -384,7 +393,7 @@ class UploadFilesThread(QtCore.QThread):
log.debug('Uploading image {} to cloud as {}'.format(file_to_upload[0], file_to_upload[1]))
provider.upload_file(file_to_upload[0], file_to_upload[1])
- self.update.emit((i+1) * 100 / len(self._files_to_upload))
+ self.update.emit((i + 1) * 100 / len(self._files_to_upload))
log.debug('Uploading image completed')
except Exception as e:
log.exception("Error uploading images to cloud")
@@ -397,6 +406,7 @@ class UploadFilesThread(QtCore.QThread):
class DownloadProjectThread(QtCore.QThread):
+
"""
Downloads project from cloud storage
"""
@@ -452,7 +462,9 @@ class DownloadProjectThread(QtCore.QThread):
def stop(self):
self.quit()
+
class DownloadImagesThread(QtCore.QThread):
+
"""
Downloads multiple files from cloud files
"""
@@ -493,6 +505,7 @@ class DownloadImagesThread(QtCore.QThread):
class DeleteProjectThread(QtCore.QThread):
+
"""
Deletes project from cloud storage
"""
diff --git a/gns3/cloud_builder.py b/gns3/cloud_builder.py
index 13b5fff8..c83a972b 100644
--- a/gns3/cloud_builder.py
+++ b/gns3/cloud_builder.py
@@ -36,6 +36,7 @@ log = logging.getLogger(__name__)
class CloudBuilder(QThread):
+
"""
"""
# Notify with progress amount and instance_id
@@ -56,7 +57,6 @@ class CloudBuilder(QThread):
# Notify when instance id exists with builder and instance_id
instanceIdExists = pyqtSignal(object, str)
-
def __init__(self, parent, cloud_provider, ca_dir):
super(QThread, self).__init__(parent)
# Store our parent so it can be passed to threads we spawn.
@@ -124,7 +124,6 @@ class CloudBuilder(QThread):
self.instanceCreated.emit(instance, key_pair)
self._waitForPublicIP()
-
def _waitForPublicIP(self):
public_ip = None
while public_ip is None:
@@ -171,6 +170,7 @@ cp vpcs_0.6_Linux64 /usr/local/bin/vpcs
chmod a+x /usr/local/bin/vpcs
killall python3 gns3server gns3dms
'''
+
def exec_command(client, cmd, wait_time=-1):
cmd += '; exit $?'
@@ -195,7 +195,6 @@ killall python3 gns3server gns3dms
log.debug('stderr: {}'.format(stderr_data.decode('utf-8')))
return stdout_data, stderr_data
-
# We might be attempting a connection before the instance is fully booted, so retry
# when the ssh connection fails.
ssh_connected = False
diff --git a/gns3/cloud_inspector_view.py b/gns3/cloud_inspector_view.py
index 9bdce3ce..f2d5cf84 100644
--- a/gns3/cloud_inspector_view.py
+++ b/gns3/cloud_inspector_view.py
@@ -23,6 +23,7 @@ POLLING_TIMER = 10000 # in milliseconds
class RunningInstanceState(NodeState):
+
"""
GNS3 states for running instances
"""
@@ -32,9 +33,11 @@ class RunningInstanceState(NodeState):
class InstanceTableModel(QtCore.QAbstractTableModel):
+
"""
A custom table model storing data of cloud instances
"""
+
def __init__(self, *args, **kwargs):
super(InstanceTableModel, self).__init__(*args, **kwargs)
self._header_data = ['Instance', '', 'Size', 'Devices'] # status has an empty header label
@@ -117,7 +120,7 @@ class InstanceTableModel(QtCore.QAbstractTableModel):
def addInstance(self, instance):
self.beginInsertRows(QtCore.QModelIndex(), self.rowCount(), self.rowCount())
if not len(self._instances):
- self.beginInsertColumns(QtCore.QModelIndex(), 0, self._width-1)
+ self.beginInsertColumns(QtCore.QModelIndex(), 0, self._width - 1)
self.endInsertColumns()
self._ids.append(instance.id)
self._instances[instance.id] = instance
@@ -155,7 +158,7 @@ class InstanceTableModel(QtCore.QAbstractTableModel):
for field in field_names:
setattr(current, field, getattr(instance, field))
first_index = self.createIndex(index, 0)
- last_index = self.createIndex(index, self.columnCount()-1)
+ last_index = self.createIndex(index, self.columnCount() - 1)
self.dataChanged.emit(first_index, last_index)
else:
self.addInstance(instance)
@@ -165,6 +168,7 @@ class InstanceTableModel(QtCore.QAbstractTableModel):
class CloudInspectorView(QtGui.QWidget, Ui_CloudInspectorView):
+
"""
Table view showing data coming from InstanceTableModel
@@ -342,11 +346,9 @@ class CloudInspectorView(QtGui.QWidget, Ui_CloudInspectorView):
self._populate_model(project_instances)
self._rebuild_instances(project_instances)
-
instance_manager = CloudInstances.instance()
instance_manager.update_instances(instances)
-
# Clean up removed instances
real = set(i.id for i in project_instances)
current = set(self._model.instanceIds)
diff --git a/gns3/cloud_instances.py b/gns3/cloud_instances.py
index 2655d498..1bf9b791 100644
--- a/gns3/cloud_instances.py
+++ b/gns3/cloud_instances.py
@@ -28,6 +28,7 @@ log = logging.getLogger(__name__)
class CloudInstances(QtCore.QObject):
+
"""
This class stores the instances that gns3 gui has started. This can be different than the list
of instances in the topology that can be changed when switching projects. This list is not touched
@@ -38,7 +39,6 @@ class CloudInstances(QtCore.QObject):
super(CloudInstances, self).__init__(*args, **kwargs)
self._instances = []
-
@staticmethod
def instance():
"""
diff --git a/gns3/console_view.py b/gns3/console_view.py
index 78dafc1d..a4702e71 100644
--- a/gns3/console_view.py
+++ b/gns3/console_view.py
@@ -69,7 +69,7 @@ class ConsoleView(PyCutExt, ConsoleCmd):
For exception handling purposes
(see exception hook in the program entry point).
"""
-
+
return False
def onKeyPress_Tab(self):
@@ -184,7 +184,7 @@ class ConsoleView(PyCutExt, ConsoleCmd):
if node and node.name():
name = " {}:".format(node.name())
server = "from {}:{}".format(node.server().host,
- node.server().port)
+ node.server().port)
text = "Server error [{code}] {server}:{name} {message}".format(code=code,
server=server,
diff --git a/gns3/dialogs/about_dialog.py b/gns3/dialogs/about_dialog.py
index e960cb29..adae4b09 100644
--- a/gns3/dialogs/about_dialog.py
+++ b/gns3/dialogs/about_dialog.py
@@ -21,6 +21,7 @@ from ..ui.about_dialog_ui import Ui_AboutDialog
class AboutDialog(QtGui.QDialog, Ui_AboutDialog):
+
"""
About dialog.
"""
diff --git a/gns3/dialogs/configuration_dialog.py b/gns3/dialogs/configuration_dialog.py
index 73951244..ea9a6723 100644
--- a/gns3/dialogs/configuration_dialog.py
+++ b/gns3/dialogs/configuration_dialog.py
@@ -23,7 +23,9 @@ from ..qt import QtGui
from ..ui.configuration_dialog_ui import Ui_configurationDialog
from .node_configurator_dialog import ConfigurationError
+
class ConfigurationDialog(QtGui.QDialog, Ui_configurationDialog):
+
"""
Configuration dialog implementation.
@@ -61,4 +63,3 @@ class ConfigurationDialog(QtGui.QDialog, Ui_configurationDialog):
except ConfigurationError:
return
QtGui.QDialog.accept(self)
-
diff --git a/gns3/dialogs/exec_command_dialog.py b/gns3/dialogs/exec_command_dialog.py
index e23ac4db..de91f142 100644
--- a/gns3/dialogs/exec_command_dialog.py
+++ b/gns3/dialogs/exec_command_dialog.py
@@ -20,6 +20,7 @@ from ..ui.exec_command_dialog_ui import Ui_ExecCommandDialog
class ExecCommandDialog(QtGui.QDialog, Ui_ExecCommandDialog):
+
"""
Execute a command and display its output.
"""
diff --git a/gns3/dialogs/getting_started_dialog.py b/gns3/dialogs/getting_started_dialog.py
index a676e5b5..df8fc503 100644
--- a/gns3/dialogs/getting_started_dialog.py
+++ b/gns3/dialogs/getting_started_dialog.py
@@ -24,6 +24,7 @@ from ..utils.get_resource import get_resource
class GettingStartedDialog(QtGui.QDialog, Ui_GettingStartedDialog):
+
"""
GettingStarted dialog.
"""
diff --git a/gns3/dialogs/idlepc_dialog.py b/gns3/dialogs/idlepc_dialog.py
index c3c79772..310446e9 100644
--- a/gns3/dialogs/idlepc_dialog.py
+++ b/gns3/dialogs/idlepc_dialog.py
@@ -23,6 +23,7 @@ from ..ui.idlepc_dialog_ui import Ui_IdlePCDialog
class IdlePCDialog(QtGui.QDialog, Ui_IdlePCDialog):
+
"""
Idle-PC dialog.
"""
@@ -84,4 +85,3 @@ class IdlePCDialog(QtGui.QDialog, Ui_IdlePCDialog):
if result:
self._applySlot()
QtGui.QDialog.done(self, result)
-
diff --git a/gns3/dialogs/import_cloud_project_dialog.py b/gns3/dialogs/import_cloud_project_dialog.py
index 9a33b5ac..f74a6980 100644
--- a/gns3/dialogs/import_cloud_project_dialog.py
+++ b/gns3/dialogs/import_cloud_project_dialog.py
@@ -9,6 +9,7 @@ from ..utils.progress_dialog import ProgressDialog
class ImportCloudProjectDialog(QtGui.QDialog, Ui_ImportCloudProjectDialog):
+
"""
Import cloud project dialog implementation.
"""
diff --git a/gns3/dialogs/new_project_dialog.py b/gns3/dialogs/new_project_dialog.py
index 4fceca25..29aec9a6 100644
--- a/gns3/dialogs/new_project_dialog.py
+++ b/gns3/dialogs/new_project_dialog.py
@@ -23,6 +23,7 @@ from ..settings import ENABLE_CLOUD
class NewProjectDialog(QtGui.QDialog, Ui_NewProjectDialog):
+
"""
New project dialog.
diff --git a/gns3/dialogs/node_configurator_dialog.py b/gns3/dialogs/node_configurator_dialog.py
index 15650242..a90847c8 100644
--- a/gns3/dialogs/node_configurator_dialog.py
+++ b/gns3/dialogs/node_configurator_dialog.py
@@ -24,6 +24,7 @@ from ..ui.node_configurator_dialog_ui import Ui_NodeConfiguratorDialog
class NodeConfiguratorDialog(QtGui.QDialog, Ui_NodeConfiguratorDialog):
+
"""
Node configurator implementation.
@@ -65,7 +66,7 @@ class NodeConfiguratorDialog(QtGui.QDialog, Ui_NodeConfiguratorDialog):
continue
group_name = " {} group".format(str(node_item.node()))
parent = group_name
- if not parent in self._parent_items:
+ if parent not in self._parent_items:
item = QtGui.QTreeWidgetItem(self.uiNodesTreeWidget, [group_name])
item.setIcon(0, QtGui.QIcon(node_item.node().defaultSymbol()))
item.setExpanded(True)
@@ -165,7 +166,7 @@ class NodeConfiguratorDialog(QtGui.QDialog, Ui_NodeConfiguratorDialog):
page.saveSettings(settings, node, group=True)
for index in range(0, item.childCount()):
child = item.child(index)
- #child.node().update(settings) #TODO: delete
+ # child.node().update(settings) #TODO: delete
child.settings().update(settings)
# update the nodes with the settings
@@ -201,6 +202,7 @@ class NodeConfiguratorDialog(QtGui.QDialog, Ui_NodeConfiguratorDialog):
class ConfigurationPageItem(QtGui.QTreeWidgetItem):
+
"""
Item for the QTreeWidget instance.
Store temporary node settings configured in a page widget.
@@ -269,6 +271,7 @@ class ConfigurationPageItem(QtGui.QTreeWidgetItem):
class ConfigurationError(Exception):
+
"""
Exception to be raised when a configuration error occurs.
"""
diff --git a/gns3/dialogs/preferences_dialog.py b/gns3/dialogs/preferences_dialog.py
index 4e980fa5..75733832 100644
--- a/gns3/dialogs/preferences_dialog.py
+++ b/gns3/dialogs/preferences_dialog.py
@@ -30,6 +30,7 @@ from ..settings import ENABLE_CLOUD
class PreferencesDialog(QtGui.QDialog, Ui_PreferencesDialog):
+
"""
Preferences dialog implementation.
diff --git a/gns3/dialogs/snapshots_dialog.py b/gns3/dialogs/snapshots_dialog.py
index e85fbd81..5aa876b6 100644
--- a/gns3/dialogs/snapshots_dialog.py
+++ b/gns3/dialogs/snapshots_dialog.py
@@ -33,6 +33,7 @@ from ..node import Node
class SnapshotsDialog(QtGui.QDialog, Ui_SnapshotsDialog):
+
"""
Snapshots dialog implementation.
@@ -145,7 +146,7 @@ class SnapshotsDialog(QtGui.QDialog, Ui_SnapshotsDialog):
if hasattr(node, "start") and node.status() == Node.started:
node.stop()
- #FIXME: problably a bug when restoring a snapshot and the project name has changed.
+ # FIXME: problably a bug when restoring a snapshot and the project name has changed.
thread = ProcessFilesThread(snapshot_path, os.path.dirname(self._project_path), skip_dirs=["snapshots"])
thread.deleteLater()
progress_dialog = ProgressDialog(thread, "Restoring snapshot", "Copying project files...", "Cancel", parent=self)
diff --git a/gns3/dialogs/style_editor_dialog.py b/gns3/dialogs/style_editor_dialog.py
index 64418a59..dcddaa87 100644
--- a/gns3/dialogs/style_editor_dialog.py
+++ b/gns3/dialogs/style_editor_dialog.py
@@ -24,6 +24,7 @@ from ..ui.style_editor_dialog_ui import Ui_StyleEditorDialog
class StyleEditorDialog(QtGui.QDialog, Ui_StyleEditorDialog):
+
"""
Style editor dialog.
diff --git a/gns3/dialogs/symbol_selection_dialog.py b/gns3/dialogs/symbol_selection_dialog.py
index 5f6d04ad..c4d2ef18 100644
--- a/gns3/dialogs/symbol_selection_dialog.py
+++ b/gns3/dialogs/symbol_selection_dialog.py
@@ -25,6 +25,7 @@ from ..node import Node
class SymbolSelectionDialog(QtGui.QDialog, Ui_SymbolSelectionDialog):
+
"""
Symbol selection dialog.
diff --git a/gns3/dialogs/text_editor_dialog.py b/gns3/dialogs/text_editor_dialog.py
index 3643f5ce..8cfbf9e9 100644
--- a/gns3/dialogs/text_editor_dialog.py
+++ b/gns3/dialogs/text_editor_dialog.py
@@ -24,6 +24,7 @@ from ..ui.text_editor_dialog_ui import Ui_TextEditorDialog
class TextEditorDialog(QtGui.QDialog, Ui_TextEditorDialog):
+
"""
Text editor dialog.
diff --git a/gns3/graphics_view.py b/gns3/graphics_view.py
index c49fbca6..cb54d436 100644
--- a/gns3/graphics_view.py
+++ b/gns3/graphics_view.py
@@ -58,6 +58,7 @@ log = logging.getLogger(__name__)
class GraphicsView(QtGui.QGraphicsView):
+
"""
Graphics view that displays the scene.
@@ -463,7 +464,7 @@ class GraphicsView(QtGui.QGraphicsView):
item.setSelected(True)
elif is_not_link and event.button() == QtCore.Qt.RightButton and not self._adding_link:
if item:
- #Prevent right clicking on a selected item from de-selecting all other items
+ # Prevent right clicking on a selected item from de-selecting all other items
if not item.isSelected():
if not event.modifiers() & QtCore.Qt.ControlModifier:
for it in self.scene().items():
@@ -1093,7 +1094,7 @@ class GraphicsView(QtGui.QGraphicsView):
idlepc = router.idlepc()
router.computeIdlepcs()
- #TODO: improve to show progress over 10 seconds
+ # TODO: improve to show progress over 10 seconds
self._idlepc_progress_dialog = QtGui.QProgressDialog("Computing values...", "Cancel", 0, 0, parent=self)
self._idlepc_progress_dialog.setWindowModality(QtCore.Qt.WindowModal)
self._idlepc_progress_dialog.setWindowTitle("Idle-PC")
@@ -1263,7 +1264,7 @@ class GraphicsView(QtGui.QGraphicsView):
if not node_module:
raise ModuleError("Could not find any module for {}".format(node_class))
- if not "server" in node_data:
+ if "server" not in node_data:
server = node_module.allocateServer(node_class)
elif node_data["server"] == "local":
server = Servers.instance().localServer()
diff --git a/gns3/http_client.py b/gns3/http_client.py
index 21bf63c3..6cc88ac6 100644
--- a/gns3/http_client.py
+++ b/gns3/http_client.py
@@ -32,6 +32,7 @@ log = logging.getLogger(__name__)
class HTTPClient:
+
"""
HTTP client.
@@ -89,7 +90,7 @@ class HTTPClient:
except ValueError as e:
log.error("could not get the server version: {}".format(e))
- #FIXME: temporary version check
+ # FIXME: temporary version check
if self._version != __version__:
if not self._version:
raise OSError("Could not determine the server version")
@@ -106,7 +107,7 @@ class HTTPClient:
:param callback: callback method to call when the server replies.
"""
- log.error("OLD Send message. Destination {destination}, {params}".format(destination=destination,params=params))
+ log.error("OLD Send message. Destination {destination}, {params}".format(destination=destination, params=params))
# TODO : Remove this method when migration to rest api is done
def send_notification(self, destination, params=None):
@@ -116,7 +117,7 @@ class HTTPClient:
:param destination: server destination method
:param params: params to send (dictionary)
"""
- log.error("OLD Send notification. Destination {destination}, {params}".format(destination=destination,params=params))
+ log.error("OLD Send notification. Destination {destination}, {params}".format(destination=destination, params=params))
# TODO : Remove this method when migration to rest api is done
def post(self, path, params, callback):
@@ -129,8 +130,8 @@ class HTTPClient:
"""
post_data = json.dumps(params)
- log.debug("POST http://{host}:{port}{path} {data}".format(host=self.host,port=self.port,path=path, data=post_data))
- url = QtCore.QUrl("http://{host}:{port}{path}".format(host=self.host,port=self.port,path=path))
+ log.debug("POST http://{host}:{port}{path} {data}".format(host=self.host, port=self.port, path=path, data=post_data))
+ url = QtCore.QUrl("http://{host}:{port}{path}".format(host=self.host, port=self.port, path=path))
request = QtNetwork.QNetworkRequest(url)
request.setRawHeader("Content-Type", "application/json")
request.setRawHeader("Content-Length", str(len(post_data)))
@@ -139,7 +140,6 @@ class HTTPClient:
response.finished.connect(partial(self.response_process, response, callback))
-
def response_process(self, response, callback):
if response.error() != QtNetwork.QNetworkReply.NoError:
log.debug("Response error: {}".format(response.errorString()))
diff --git a/gns3/items/ellipse_item.py b/gns3/items/ellipse_item.py
index 275f8c4a..3185dc91 100644
--- a/gns3/items/ellipse_item.py
+++ b/gns3/items/ellipse_item.py
@@ -24,6 +24,7 @@ from .shape_item import ShapeItem
class EllipseItem(ShapeItem, QtGui.QGraphicsEllipseItem):
+
"""
Class to draw an ellipse on the scene.
"""
diff --git a/gns3/items/ethernet_link_item.py b/gns3/items/ethernet_link_item.py
index eaa14412..26271014 100644
--- a/gns3/items/ethernet_link_item.py
+++ b/gns3/items/ethernet_link_item.py
@@ -26,6 +26,7 @@ from ..ports.port import Port
class EthernetLinkItem(LinkItem):
+
"""
Ethernet link for the scene.
diff --git a/gns3/items/image_item.py b/gns3/items/image_item.py
index 28ecdc4d..95e480d2 100644
--- a/gns3/items/image_item.py
+++ b/gns3/items/image_item.py
@@ -23,6 +23,7 @@ from ..qt import QtCore, QtGui
class ImageItem(QtGui.QGraphicsPixmapItem):
+
"""
Class to insert an image on the scene.
"""
diff --git a/gns3/items/link_item.py b/gns3/items/link_item.py
index 98355454..ab3c7bc2 100644
--- a/gns3/items/link_item.py
+++ b/gns3/items/link_item.py
@@ -27,6 +27,7 @@ from ..qt import QtCore, QtGui
class LinkItem(QtGui.QGraphicsPathItem):
+
"""
Base class for link items.
diff --git a/gns3/items/node_item.py b/gns3/items/node_item.py
index 126f66ec..15392d2a 100644
--- a/gns3/items/node_item.py
+++ b/gns3/items/node_item.py
@@ -24,6 +24,7 @@ from .note_item import NoteItem
class NodeItem(QtSvg.QGraphicsSvgItem):
+
"""
Node for the scene.
@@ -486,10 +487,10 @@ class NodeItem(QtSvg.QGraphicsSvgItem):
# dynamically change the renderer when this node item is hovered.
if not self.isSelected():
self.setSharedRenderer(self._hover_renderer)
- #effect = QtGui.QGraphicsColorizeEffect()
- #effect.setColor(QtGui.QColor("black"))
- #effect.setStrength(0.8)
- #self.setGraphicsEffect(effect)
+ # effect = QtGui.QGraphicsColorizeEffect()
+ # effect.setColor(QtGui.QColor("black"))
+ # effect.setStrength(0.8)
+ # self.setGraphicsEffect(effect)
def hoverLeaveEvent(self, event):
"""
@@ -501,4 +502,4 @@ class NodeItem(QtSvg.QGraphicsSvgItem):
# dynamically change the renderer back to the default when this node item is not hovered anymore.
if not self.isSelected():
self.setSharedRenderer(self._default_renderer)
- #self.graphicsEffect().setEnabled(False)
+ # self.graphicsEffect().setEnabled(False)
diff --git a/gns3/items/note_item.py b/gns3/items/note_item.py
index 39ba0af4..bacbe0b6 100644
--- a/gns3/items/note_item.py
+++ b/gns3/items/note_item.py
@@ -23,6 +23,7 @@ from ..qt import QtCore, QtGui
class NoteItem(QtGui.QGraphicsTextItem):
+
"""
Text note for the QGraphicsView.
@@ -77,9 +78,9 @@ class NoteItem(QtGui.QGraphicsTextItem):
"""
self._editable = value
- #if not self._editable:
+ # if not self._editable:
# self.setFlag(self.ItemIsSelectable, enabled=False)
- #else:
+ # else:
# self.setFlag(self.ItemIsSelectable)
def keyPressEvent(self, event):
diff --git a/gns3/items/rectangle_item.py b/gns3/items/rectangle_item.py
index 66035e68..95174a33 100644
--- a/gns3/items/rectangle_item.py
+++ b/gns3/items/rectangle_item.py
@@ -24,6 +24,7 @@ from .shape_item import ShapeItem
class RectangleItem(ShapeItem, QtGui.QGraphicsRectItem):
+
"""
Class to draw a rectangle on the scene.
"""
diff --git a/gns3/items/serial_link_item.py b/gns3/items/serial_link_item.py
index c68b4d84..51cc8749 100644
--- a/gns3/items/serial_link_item.py
+++ b/gns3/items/serial_link_item.py
@@ -27,6 +27,7 @@ from ..ports.port import Port
class SerialLinkItem(LinkItem):
+
"""
Serial link for the scene.
diff --git a/gns3/items/shape_item.py b/gns3/items/shape_item.py
index e67c83d7..a4d7a2ab 100644
--- a/gns3/items/shape_item.py
+++ b/gns3/items/shape_item.py
@@ -23,6 +23,7 @@ from ..qt import QtCore, QtGui
class ShapeItem:
+
"""
Base class to draw shapes on the scene.
"""
diff --git a/gns3/link.py b/gns3/link.py
index 3ca7dd1f..be7df69b 100644
--- a/gns3/link.py
+++ b/gns3/link.py
@@ -28,6 +28,7 @@ log = logging.getLogger(__name__)
class Link(QtCore.QObject):
+
"""
Link implementation.
diff --git a/gns3/main_window.py b/gns3/main_window.py
index 45412337..773e23fe 100644
--- a/gns3/main_window.py
+++ b/gns3/main_window.py
@@ -75,6 +75,7 @@ CLOUD_SETTINGS_GROUP = "Cloud"
class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
+
"""
Main window implementation.
@@ -273,7 +274,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
settings_to_persist = self._cloud_settings if persist else CLOUD_SETTINGS
for name, value in settings_to_persist.items():
- settings.setValue(name, value)
+ settings.setValue(name, value)
settings.endGroup()
def _connections(self):
@@ -547,7 +548,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
painter.setRenderHint(QtGui.QPainter.SmoothPixmapTransform, True)
scene.render(painter)
painter.end()
- #TODO: quality option
+ # TODO: quality option
return image.save(path)
def _screenshotActionSlot(self):
@@ -668,7 +669,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
Slot called to reset the port labels on the scene.
"""
- #TODO: reset port labels
+ # TODO: reset port labels
pass
def _showNamesActionSlot(self):
@@ -676,7 +677,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
Slot called to show the node names on the scene.
"""
- #TODO: show/hide node names
+ # TODO: show/hide node names
pass
def _showPortNamesActionSlot(self):
@@ -877,13 +878,13 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
else:
latest_release = bytes(network_reply.readAll()).decode().rstrip()
if parse_version(__version__) < parse_version(latest_release):
- reply = QtGui.QMessageBox.question(self,
- "Check For Update",
- "Newer GNS3 version {} is available, do you want to visit our website to download it?".format(latest_release),
- QtGui.QMessageBox.Yes,
- QtGui.QMessageBox.No)
- if reply == QtGui.QMessageBox.Yes:
- QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://www.gns3.net/download/"))
+ reply = QtGui.QMessageBox.question(self,
+ "Check For Update",
+ "Newer GNS3 version {} is available, do you want to visit our website to download it?".format(latest_release),
+ QtGui.QMessageBox.Yes,
+ QtGui.QMessageBox.No)
+ if reply == QtGui.QMessageBox.Yes:
+ QtGui.QDesktopServices.openUrl(QtCore.QUrl("http://www.gns3.net/download/"))
elif not is_silent:
QtGui.QMessageBox.information(self, "Check For Update", "GNS3 is up-to-date!")
return
@@ -918,12 +919,11 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
instructions_files += glob.glob(os.path.join(project_dir, "instructions") + os.sep + "instructions*")
if len(instructions_files):
path = instructions_files[0]
- if QtGui.QDesktopServices.openUrl(QtCore.QUrl('file:///' + path, QtCore.QUrl.TolerantMode)) == False and silent == False:
+ if QtGui.QDesktopServices.openUrl(QtCore.QUrl('file:///' + path, QtCore.QUrl.TolerantMode)) is False and silent is False:
QtGui.QMessageBox.critical(self, "Lab instructions", "Could not open {}".format(path))
elif silent is False:
QtGui.QMessageBox.critical(self, "Lab instructions", "No instructions found")
-
def _aboutQtActionSlot(self):
"""
Slot to display the Qt About dialog.
@@ -1131,7 +1131,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
# not a normal OSError, thrown from the Websocket client.
MessageBox(self, "Local server", "Something other than a GNS3 server is already running on {} port {}, please adjust the local server port setting".format(server.host,
server.port),
- e)
+ e)
return
if not servers.localServerAutoStart():
@@ -1154,14 +1154,14 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
return
if servers.startLocalServer(servers.localServerPath(), server.host, server.port):
- self._thread = WaitForConnectionThread(server.host, server.port)
- progress_dialog = ProgressDialog(self._thread,
- "Local server",
- "Connecting to server {} on port {}...".format(server.host, server.port),
- "Cancel", busy=True, parent=self)
- progress_dialog.show()
- if not progress_dialog.exec_():
- return
+ self._thread = WaitForConnectionThread(server.host, server.port)
+ progress_dialog = ProgressDialog(self._thread,
+ "Local server",
+ "Connecting to server {} on port {}...".format(server.host, server.port),
+ "Cancel", busy=True, parent=self)
+ progress_dialog.show()
+ if not progress_dialog.exec_():
+ return
else:
QtGui.QMessageBox.critical(self, "Local server", "Could not start the local server process: {}".format(servers.localServerPath()))
return
@@ -1413,7 +1413,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
except OSError as e:
QtGui.QMessageBox.critical(self, "Load", "Could not load project {}: {}".format(os.path.basename(path), e))
- #log.error("exception {type}".format(type=type(e)), exc_info=1)
+ # log.error("exception {type}".format(type=type(e)), exc_info=1)
return False
except ValueError as e:
QtGui.QMessageBox.critical(self, "Load", "Invalid file: {}".format(e))
diff --git a/gns3/modules/builtin/__init__.py b/gns3/modules/builtin/__init__.py
index de250750..4914d9f5 100644
--- a/gns3/modules/builtin/__init__.py
+++ b/gns3/modules/builtin/__init__.py
@@ -33,6 +33,7 @@ log = logging.getLogger(__name__)
class Builtin(Module):
+
"""
Built-in module.
"""
@@ -137,7 +138,7 @@ class Builtin(Module):
if not all(using_local_server) and len(remote_servers):
# a module is not using a local server
- if not True in using_local_server and len(remote_servers) == 1:
+ if True not in using_local_server and len(remote_servers) == 1:
# no module is using a local server and there is only one
# remote server available, so no need to ask the user.
return next(iter(servers))
@@ -147,7 +148,7 @@ class Builtin(Module):
for remote_server in remote_servers:
server_list.append("{}".format(remote_server))
- #TODO: move this to graphics_view
+ # TODO: move this to graphics_view
from gns3.main_window import MainWindow
mainwindow = MainWindow.instance()
(selection, ok) = QtGui.QInputDialog.getItem(mainwindow, "Server", "Please choose a server", server_list, 0, False)
diff --git a/gns3/modules/builtin/cloud.py b/gns3/modules/builtin/cloud.py
index e4bf0b55..1668d3bd 100644
--- a/gns3/modules/builtin/cloud.py
+++ b/gns3/modules/builtin/cloud.py
@@ -36,6 +36,7 @@ log = logging.getLogger(__name__)
class Cloud(Node):
+
"""
Dynamips cloud.
@@ -311,7 +312,7 @@ This is a pseudo-device for external connections
"properties": {"name": self.name(),
"nios": self._settings["nios"]},
"server_id": self._server.id(),
- }
+ }
# add the ports
if self._ports:
diff --git a/gns3/modules/builtin/host.py b/gns3/modules/builtin/host.py
index d5615ae8..d62c05d4 100644
--- a/gns3/modules/builtin/host.py
+++ b/gns3/modules/builtin/host.py
@@ -24,6 +24,7 @@ log = logging.getLogger(__name__)
class Host(Cloud):
+
"""
Pseudo host based on a Dynamips Cloud.
diff --git a/gns3/modules/builtin/pages/cloud_configuration_page.py b/gns3/modules/builtin/pages/cloud_configuration_page.py
index f46a9c0a..715d533f 100644
--- a/gns3/modules/builtin/pages/cloud_configuration_page.py
+++ b/gns3/modules/builtin/pages/cloud_configuration_page.py
@@ -25,6 +25,7 @@ from ..ui.cloud_configuration_page_ui import Ui_cloudConfigPageWidget
class CloudConfigurationPage(QtGui.QWidget, Ui_cloudConfigPageWidget):
+
"""
QWidget configuration page for clouds.
"""
@@ -105,7 +106,7 @@ class CloudConfigurationPage(QtGui.QWidget, Ui_cloudConfigPageWidget):
interface = self.uiGenericEthernetLineEdit.text()
if interface:
nio = "nio_gen_eth:{interface}".format(interface=interface)
- if not nio in self._nios:
+ if nio not in self._nios:
self.uiGenericEthernetListWidget.addItem(nio)
self._nios.append(nio)
@@ -154,7 +155,7 @@ class CloudConfigurationPage(QtGui.QWidget, Ui_cloudConfigPageWidget):
interface = self.uiLinuxEthernetLineEdit.text()
if interface:
nio = "nio_gen_linux:{interface}".format(interface=interface)
- if not nio in self._nios:
+ if nio not in self._nios:
self.uiLinuxEthernetListWidget.addItem(nio)
self._nios.append(nio)
@@ -212,7 +213,7 @@ class CloudConfigurationPage(QtGui.QWidget, Ui_cloudConfigPageWidget):
nio = "nio_udp:{lport}:{rhost}:{rport}".format(lport=local_port,
rhost=remote_host,
rport=remote_port)
- if not nio in self._nios:
+ if nio not in self._nios:
self.uiNIOUDPListWidget.addItem(nio)
self._nios.append(nio)
self.uiLocalPortSpinBox.setValue(local_port + 1)
@@ -268,7 +269,7 @@ class CloudConfigurationPage(QtGui.QWidget, Ui_cloudConfigPageWidget):
tap_interface = self.uiNIOTAPLineEdit.text()
if tap_interface:
nio = "nio_tap:{}".format(tap_interface.lower())
- if not nio in self._nios:
+ if nio not in self._nios:
self.uiNIOTAPListWidget.addItem(nio)
self._nios.append(nio)
@@ -325,7 +326,7 @@ class CloudConfigurationPage(QtGui.QWidget, Ui_cloudConfigPageWidget):
if local_file and remote_file:
nio = "nio_unix:{local}:{remote}".format(local=local_file,
remote=remote_file)
- if not nio in self._nios:
+ if nio not in self._nios:
self.uiNIOUNIXListWidget.addItem(nio)
self._nios.append(nio)
@@ -381,7 +382,7 @@ class CloudConfigurationPage(QtGui.QWidget, Ui_cloudConfigPageWidget):
local_file = self.uiVDELocalFileLineEdit.text()
if local_file and control_file:
nio = "nio_vde:{control}:{local}".format(control=control_file, local=local_file)
- if not nio in self._nios:
+ if nio not in self._nios:
self.uiNIOVDEListWidget.addItem(nio)
self._nios.append(nio)
@@ -433,7 +434,7 @@ class CloudConfigurationPage(QtGui.QWidget, Ui_cloudConfigPageWidget):
identifier = self.uiNIONullIdentiferLineEdit.text()
if identifier:
nio = "nio_null:{}".format(identifier)
- if not nio in self._nios:
+ if nio not in self._nios:
self.uiNIONullListWidget.addItem(nio)
self._nios.append(nio)
diff --git a/gns3/modules/builtin/ui/cloud_configuration_page_ui.py b/gns3/modules/builtin/ui/cloud_configuration_page_ui.py
index ecaea225..e0e75e7a 100644
--- a/gns3/modules/builtin/ui/cloud_configuration_page_ui.py
+++ b/gns3/modules/builtin/ui/cloud_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_cloudConfigPageWidget(object):
+
def setupUi(self, cloudConfigPageWidget):
cloudConfigPageWidget.setObjectName(_fromUtf8("cloudConfigPageWidget"))
cloudConfigPageWidget.resize(542, 500)
@@ -418,4 +421,3 @@ class Ui_cloudConfigPageWidget(object):
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_6), _translate("cloudConfigPageWidget", "NIO NULL", None))
self.uiNameLabel.setText(_translate("cloudConfigPageWidget", "Name:", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_7), _translate("cloudConfigPageWidget", "Misc.", None))
-
diff --git a/gns3/modules/dynamips/__init__.py b/gns3/modules/dynamips/__init__.py
index 6ffa2f99..c7c8f4a7 100644
--- a/gns3/modules/dynamips/__init__.py
+++ b/gns3/modules/dynamips/__init__.py
@@ -60,6 +60,7 @@ log = logging.getLogger(__name__)
class Dynamips(Module):
+
"""
Dynamips module.
"""
@@ -211,7 +212,7 @@ class Dynamips(Module):
:param path: path to the local project files directory
"""
- #self._delete_dynamips_files() #FIXME: cause issues
+ # self._delete_dynamips_files() #FIXME: cause issues
self._working_dir = path
log.info("local working directory for Dynamips module: {}".format(self._working_dir))
diff --git a/gns3/modules/dynamips/adapters.py b/gns3/modules/dynamips/adapters.py
index 0b0de1b5..28923d2c 100644
--- a/gns3/modules/dynamips/adapters.py
+++ b/gns3/modules/dynamips/adapters.py
@@ -55,8 +55,8 @@ ADAPTER_MATRIX = {"C1700-MB-1FE": {"nb_ports": 1,
"port": FastEthernetPort},
"C7200-IO-FE": {"nb_ports": 1,
- "wics": 0,
- "port": FastEthernetPort},
+ "wics": 0,
+ "port": FastEthernetPort},
"C7200-IO-GE-E": {"nb_ports": 1,
"wics": 0,
@@ -125,4 +125,4 @@ ADAPTER_MATRIX = {"C1700-MB-1FE": {"nb_ports": 1,
"PA-POS-OC3": {"nb_ports": 1,
"wics": 0,
"port": POSPort},
- }
+ }
diff --git a/gns3/modules/dynamips/dialogs/ios_router_wizard.py b/gns3/modules/dynamips/dialogs/ios_router_wizard.py
index fd1ec063..ff2cf952 100644
--- a/gns3/modules/dynamips/dialogs/ios_router_wizard.py
+++ b/gns3/modules/dynamips/dialogs/ios_router_wizard.py
@@ -55,6 +55,7 @@ PLATFORM_TO_CLASS = {
class IOSRouterWizard(QtGui.QWizard, Ui_IOSRouterWizard):
+
"""
Wizard to create an IOS router.
@@ -94,7 +95,7 @@ class IOSRouterWizard(QtGui.QWizard, Ui_IOSRouterWizard):
self._base_private_config_template = get_resource(os.path.join("configs", "ios_base_private-config.txt"))
self._base_etherswitch_startup_config_template = get_resource(os.path.join("configs", "ios_etherswitch_startup-config.txt"))
- #FIXME: hide because of issue on Windows.
+ # FIXME: hide because of issue on Windows.
self.uiTestIOSImagePushButton.hide()
# Mandatory fields
@@ -226,10 +227,10 @@ class IOSRouterWizard(QtGui.QWizard, Ui_IOSRouterWizard):
if state:
# forces the name to EtherSwitch
self.uiNameLineEdit.setText("EtherSwitch router")
- #self.uiNameLineEdit.setEnabled(False)
+ # self.uiNameLineEdit.setEnabled(False)
else:
self.uiNameLineEdit.setText(self.uiPlatformComboBox.currentText())
- #self.uiNameLineEdit.setEnabled(True)
+ # self.uiNameLineEdit.setEnabled(True)
def createdSlot(self, node_id):
"""
@@ -326,7 +327,7 @@ class IOSRouterWizard(QtGui.QWizard, Ui_IOSRouterWizard):
for slot_number, slot_adapters in ADAPTER_MATRIX[platform][chassis].items():
self._widget_slots[slot_number].setEnabled(True)
- if type(slot_adapters) == str:
+ if isinstance(slot_adapters, str):
# only one default adapter for this slot.
self._widget_slots[slot_number].addItem(slot_adapters)
else:
@@ -394,7 +395,7 @@ class IOSRouterWizard(QtGui.QWizard, Ui_IOSRouterWizard):
if ios_router["name"] == name:
QtGui.QMessageBox.critical(self, "Name", "{} is already used, please choose another name".format(name))
return False
- #if self.uiEtherSwitchCheckBox.isChecked() and ios_router["etherswitch"]:
+ # if self.uiEtherSwitchCheckBox.isChecked() and ios_router["etherswitch"]:
# QtGui.QMessageBox.critical(self, "EtherSwitch router", "A router has already been configured to be used as the EtherSwitch router".format(name))
# return False
if self.currentPage() == self.uiIdlePCWizardPage:
@@ -425,7 +426,7 @@ class IOSRouterWizard(QtGui.QWizard, Ui_IOSRouterWizard):
server = "{}:{}".format(server.host, server.port)
else:
server = self.uiRemoteServersComboBox.currentText()
- else: # Cloud is selected
+ else: # Cloud is selected
server = "cloud"
settings = {
diff --git a/gns3/modules/dynamips/nodes/atm_switch.py b/gns3/modules/dynamips/nodes/atm_switch.py
index c8c6bed2..b4018a91 100644
--- a/gns3/modules/dynamips/nodes/atm_switch.py
+++ b/gns3/modules/dynamips/nodes/atm_switch.py
@@ -29,6 +29,7 @@ log = logging.getLogger(__name__)
class ATMSwitch(Node):
+
"""
Dynamips ATM switch.
@@ -455,7 +456,7 @@ class ATMSwitch(Node):
"description": str(self),
"properties": {"name": self.name()},
"server_id": self._server.id(),
- }
+ }
if self._settings["mappings"]:
atmsw["properties"]["mappings"] = self._settings["mappings"]
diff --git a/gns3/modules/dynamips/nodes/c1700.py b/gns3/modules/dynamips/nodes/c1700.py
index ca600b02..5d391727 100644
--- a/gns3/modules/dynamips/nodes/c1700.py
+++ b/gns3/modules/dynamips/nodes/c1700.py
@@ -23,6 +23,7 @@ from .router import Router
class C1700(Router):
+
"""
Dynamips c1700 router.
diff --git a/gns3/modules/dynamips/nodes/c2600.py b/gns3/modules/dynamips/nodes/c2600.py
index 5631ec1e..aefef65b 100644
--- a/gns3/modules/dynamips/nodes/c2600.py
+++ b/gns3/modules/dynamips/nodes/c2600.py
@@ -23,6 +23,7 @@ from .router import Router
class C2600(Router):
+
"""
Dynamips c2600 router.
diff --git a/gns3/modules/dynamips/nodes/c2691.py b/gns3/modules/dynamips/nodes/c2691.py
index fa18233b..d07990c0 100644
--- a/gns3/modules/dynamips/nodes/c2691.py
+++ b/gns3/modules/dynamips/nodes/c2691.py
@@ -23,6 +23,7 @@ from .router import Router
class C2691(Router):
+
"""
Dynamips c2691 router.
diff --git a/gns3/modules/dynamips/nodes/c3600.py b/gns3/modules/dynamips/nodes/c3600.py
index 313c680b..e90d48e7 100644
--- a/gns3/modules/dynamips/nodes/c3600.py
+++ b/gns3/modules/dynamips/nodes/c3600.py
@@ -23,6 +23,7 @@ from .router import Router
class C3600(Router):
+
"""
Dynamips c3600 router.
diff --git a/gns3/modules/dynamips/nodes/c3725.py b/gns3/modules/dynamips/nodes/c3725.py
index 97ba0535..30b0c789 100644
--- a/gns3/modules/dynamips/nodes/c3725.py
+++ b/gns3/modules/dynamips/nodes/c3725.py
@@ -23,6 +23,7 @@ from .router import Router
class C3725(Router):
+
"""
Dynamips c3725 router.
diff --git a/gns3/modules/dynamips/nodes/c3745.py b/gns3/modules/dynamips/nodes/c3745.py
index f6270cb3..627aa4a3 100644
--- a/gns3/modules/dynamips/nodes/c3745.py
+++ b/gns3/modules/dynamips/nodes/c3745.py
@@ -23,6 +23,7 @@ from .router import Router
class C3745(Router):
+
"""
Dynamips c3745 router.
diff --git a/gns3/modules/dynamips/nodes/c7200.py b/gns3/modules/dynamips/nodes/c7200.py
index 00f0327f..edb4f897 100644
--- a/gns3/modules/dynamips/nodes/c7200.py
+++ b/gns3/modules/dynamips/nodes/c7200.py
@@ -23,6 +23,7 @@ from .router import Router
class C7200(Router):
+
"""
Dynamips c7200 router.
diff --git a/gns3/modules/dynamips/nodes/ethernet_hub.py b/gns3/modules/dynamips/nodes/ethernet_hub.py
index 07fdeff8..0fe1f51e 100644
--- a/gns3/modules/dynamips/nodes/ethernet_hub.py
+++ b/gns3/modules/dynamips/nodes/ethernet_hub.py
@@ -28,6 +28,7 @@ log = logging.getLogger(__name__)
class EthernetHub(Node):
+
"""
Dynamips Ethernet hub.
@@ -170,7 +171,6 @@ class EthernetHub(Node):
self._settings["ports"] = new_settings["ports"].copy()
-
params = {}
if "name" in new_settings and new_settings["name"] != self.name():
if self.hasAllocatedName(new_settings["name"]):
diff --git a/gns3/modules/dynamips/nodes/ethernet_switch.py b/gns3/modules/dynamips/nodes/ethernet_switch.py
index 031034a8..7b205a83 100644
--- a/gns3/modules/dynamips/nodes/ethernet_switch.py
+++ b/gns3/modules/dynamips/nodes/ethernet_switch.py
@@ -28,6 +28,7 @@ log = logging.getLogger(__name__)
class EthernetSwitch(Node):
+
"""
Dynamips Ethernet switch.
diff --git a/gns3/modules/dynamips/nodes/etherswitch_router.py b/gns3/modules/dynamips/nodes/etherswitch_router.py
index 48b304eb..c6ed91d2 100644
--- a/gns3/modules/dynamips/nodes/etherswitch_router.py
+++ b/gns3/modules/dynamips/nodes/etherswitch_router.py
@@ -28,6 +28,7 @@ from gns3.node import Node
class EtherSwitchRouter(Router):
+
"""
EtherSwitch router.
diff --git a/gns3/modules/dynamips/nodes/frame_relay_switch.py b/gns3/modules/dynamips/nodes/frame_relay_switch.py
index a9e7fafb..5db57ab6 100644
--- a/gns3/modules/dynamips/nodes/frame_relay_switch.py
+++ b/gns3/modules/dynamips/nodes/frame_relay_switch.py
@@ -28,6 +28,7 @@ log = logging.getLogger(__name__)
class FrameRelaySwitch(Node):
+
"""
Dynamips Frame-Relay switch.
@@ -398,7 +399,7 @@ class FrameRelaySwitch(Node):
port_info += " Port {} is empty\n".format(port.name())
else:
port_info += " Port {name} {description}\n".format(name=port.name(),
- description=port.description())
+ description=port.description())
for source, destination in self._settings["mappings"].items():
source_port, source_dlci = source.split(":")
diff --git a/gns3/modules/dynamips/nodes/router.py b/gns3/modules/dynamips/nodes/router.py
index 799e9fe7..53f19858 100644
--- a/gns3/modules/dynamips/nodes/router.py
+++ b/gns3/modules/dynamips/nodes/router.py
@@ -36,6 +36,7 @@ log = logging.getLogger(__name__)
class Router(Node):
+
"""
Dynamips router (client implementation).
@@ -363,12 +364,12 @@ class Router(Node):
# push the startup-config
if "startup_config" in new_settings and self._settings["startup_config"] != new_settings["startup_config"] \
- and not self.server().isLocal() and os.path.isfile(new_settings["startup_config"]):
+ and not self.server().isLocal() and os.path.isfile(new_settings["startup_config"]):
params["startup_config_base64"] = self._base64Config(new_settings["startup_config"])
# push the private-config
if "private_config" in new_settings and self._settings["private_config"] != new_settings["private_config"] \
- and not self.server().isLocal() and os.path.isfile(new_settings["private_config"]):
+ and not self.server().isLocal() and os.path.isfile(new_settings["private_config"]):
params["private_config_base64"] = self._base64Config(new_settings["private_config"])
log.debug("{} is updating settings: {}".format(self.name(), params))
@@ -791,7 +792,7 @@ class Router(Node):
slot_info = ""
for name, value in self._settings.items():
- if name.startswith("slot") and value != None:
+ if name.startswith("slot") and value is not None:
slot_number = int(name[-1])
adapter_name = value
nb_ports = ADAPTER_MATRIX[adapter_name]["nb_ports"]
@@ -819,7 +820,7 @@ class Router(Node):
slot_info += " {port_name} {port_description}\n".format(port_name=port_name,
port_description=port_info.description())
- if name.startswith("wic") and value != None:
+ if name.startswith("wic") and value is not None:
wic_slot_number = int(name[-1])
wic_name = value
nb_ports = WIC_MATRIX[wic_name]["nb_ports"]
@@ -875,7 +876,7 @@ class Router(Node):
# get info about JIT sharing
jitsharing_group_info = "No JIT blocks sharing enabled"
- if self._settings["jit_sharing_group"] != None:
+ if self._settings["jit_sharing_group"] is not None:
jitsharing_group_info = "JIT blocks sharing group is {group}".format(group=self._settings["jit_sharing_group"])
# get info about Idle-PC
@@ -911,7 +912,7 @@ class Router(Node):
disk0=self._settings["disk0"],
disk1=self._settings["disk1"])
- #gather information about PA, their interfaces and connections
+ # gather information about PA, their interfaces and connections
slot_info = self._slot_info()
return info + slot_info
diff --git a/gns3/modules/dynamips/pages/atm_bridge_configuration_page.py b/gns3/modules/dynamips/pages/atm_bridge_configuration_page.py
index 0648d040..5897afb9 100644
--- a/gns3/modules/dynamips/pages/atm_bridge_configuration_page.py
+++ b/gns3/modules/dynamips/pages/atm_bridge_configuration_page.py
@@ -25,6 +25,7 @@ from ..ui.atm_bridge_configuration_page_ui import Ui_atmBridgeConfigPageWidget
class ATMBridgeConfigurationPage(QtGui.QWidget, Ui_atmBridgeConfigPageWidget):
+
"""
QWidget configuration page for ATM bridges.
"""
@@ -74,7 +75,7 @@ class ATMBridgeConfigurationPage(QtGui.QWidget, Ui_atmBridgeConfigPageWidget):
"""
item = self.uiMappingTreeWidget.currentItem()
- if item != None:
+ if item is not None:
self.uiDeletePushButton.setEnabled(True)
else:
self.uiDeletePushButton.setEnabled(False)
diff --git a/gns3/modules/dynamips/pages/atm_switch_configuration_page.py b/gns3/modules/dynamips/pages/atm_switch_configuration_page.py
index d384642f..821459a8 100644
--- a/gns3/modules/dynamips/pages/atm_switch_configuration_page.py
+++ b/gns3/modules/dynamips/pages/atm_switch_configuration_page.py
@@ -25,6 +25,7 @@ from ..ui.atm_switch_configuration_page_ui import Ui_atmSwitchConfigPageWidget
class ATMSwitchConfigurationPage(QtGui.QWidget, Ui_atmSwitchConfigPageWidget):
+
"""
QWidget configuration page for ATM switches.
"""
@@ -85,7 +86,7 @@ class ATMSwitchConfigurationPage(QtGui.QWidget, Ui_atmSwitchConfigPageWidget):
"""
item = self.uiMappingTreeWidget.currentItem()
- if item != None:
+ if item is not None:
self.uiDeletePushButton.setEnabled(True)
else:
self.uiDeletePushButton.setEnabled(False)
diff --git a/gns3/modules/dynamips/pages/dynamips_preferences_page.py b/gns3/modules/dynamips/pages/dynamips_preferences_page.py
index 20b4ffe2..a1a8bb87 100644
--- a/gns3/modules/dynamips/pages/dynamips_preferences_page.py
+++ b/gns3/modules/dynamips/pages/dynamips_preferences_page.py
@@ -29,6 +29,7 @@ from ..settings import DYNAMIPS_SETTINGS
class DynamipsPreferencesPage(QtGui.QWidget, Ui_DynamipsPreferencesPageWidget):
+
"""
QWidget preference page for Dynamips.
"""
@@ -46,7 +47,7 @@ class DynamipsPreferencesPage(QtGui.QWidget, Ui_DynamipsPreferencesPageWidget):
self.uiUseLocalServercheckBox.stateChanged.connect(self._useLocalServerSlot)
self.uiTestSettingsPushButton.clicked.connect(self._testSettingsSlot)
- #FIXME: temporally hide test button
+ # FIXME: temporally hide test button
self.uiTestSettingsPushButton.hide()
def _dynamipsPathBrowserSlot(self):
diff --git a/gns3/modules/dynamips/pages/ethernet_hub_configuration_page.py b/gns3/modules/dynamips/pages/ethernet_hub_configuration_page.py
index 14e739dd..983f8b5a 100644
--- a/gns3/modules/dynamips/pages/ethernet_hub_configuration_page.py
+++ b/gns3/modules/dynamips/pages/ethernet_hub_configuration_page.py
@@ -25,6 +25,7 @@ from ..ui.ethernet_hub_configuration_page_ui import Ui_ethernetHubConfigPageWidg
class EthernetHubConfigurationPage(QtGui.QWidget, Ui_ethernetHubConfigPageWidget):
+
"""
QWidget configuration page for Ethernet hubs.
"""
diff --git a/gns3/modules/dynamips/pages/ethernet_switch_configuration_page.py b/gns3/modules/dynamips/pages/ethernet_switch_configuration_page.py
index 373ec48d..7918819b 100644
--- a/gns3/modules/dynamips/pages/ethernet_switch_configuration_page.py
+++ b/gns3/modules/dynamips/pages/ethernet_switch_configuration_page.py
@@ -25,6 +25,7 @@ from ..ui.ethernet_switch_configuration_page_ui import Ui_ethernetSwitchConfigPa
class EthernetSwitchConfigurationPage(QtGui.QWidget, Ui_ethernetSwitchConfigPageWidget):
+
"""
QWidget configuration page for Ethernet switches.
"""
diff --git a/gns3/modules/dynamips/pages/frame_relay_switch_configuration_page.py b/gns3/modules/dynamips/pages/frame_relay_switch_configuration_page.py
index 374fb95b..6c6c6da0 100644
--- a/gns3/modules/dynamips/pages/frame_relay_switch_configuration_page.py
+++ b/gns3/modules/dynamips/pages/frame_relay_switch_configuration_page.py
@@ -24,6 +24,7 @@ from ..ui.frame_relay_switch_configuration_page_ui import Ui_frameRelaySwitchCon
class FrameRelaySwitchConfigurationPage(QtGui.QWidget, Ui_frameRelaySwitchConfigPageWidget):
+
"""
QWidget configuration page for Frame Relay switches.
"""
@@ -65,7 +66,7 @@ class FrameRelaySwitchConfigurationPage(QtGui.QWidget, Ui_frameRelaySwitchConfig
"""
item = self.uiMappingTreeWidget.currentItem()
- if item != None:
+ if item is not None:
self.uiDeletePushButton.setEnabled(True)
else:
self.uiDeletePushButton.setEnabled(False)
@@ -108,7 +109,7 @@ class FrameRelaySwitchConfigurationPage(QtGui.QWidget, Ui_frameRelaySwitchConfig
item = self.uiMappingTreeWidget.currentItem()
if item:
- #connected_ports = self.node.getConnectedInterfaceList()
+ # connected_ports = self.node.getConnectedInterfaceList()
source = item.text(0)
source_port = int(source.split(':')[0])
destination = item.text(1)
diff --git a/gns3/modules/dynamips/pages/ios_router_configuration_page.py b/gns3/modules/dynamips/pages/ios_router_configuration_page.py
index 00628c41..94c90f25 100644
--- a/gns3/modules/dynamips/pages/ios_router_configuration_page.py
+++ b/gns3/modules/dynamips/pages/ios_router_configuration_page.py
@@ -29,6 +29,7 @@ from ..settings import CHASSIS, ADAPTER_MATRIX, WIC_MATRIX
class IOSRouterConfigurationPage(QtGui.QWidget, Ui_iosRouterConfigPageWidget):
+
"""
QWidget configuration page for IOS routers.
"""
@@ -168,7 +169,7 @@ class IOSRouterConfigurationPage(QtGui.QWidget, Ui_iosRouterConfigPageWidget):
for slot_number, slot_adapters in ADAPTER_MATRIX[platform][chassis].items():
self._widget_slots[slot_number].setEnabled(True)
- if type(slot_adapters) == str:
+ if isinstance(slot_adapters, str):
# only one default adapter for this slot.
self._widget_slots[slot_number].addItem(slot_adapters)
else:
@@ -313,7 +314,7 @@ class IOSRouterConfigurationPage(QtGui.QWidget, Ui_iosRouterConfigPageWidget):
else:
self.uiPowerSupply2ComboBox.setCurrentIndex(1)
else:
- self.uiTabWidget.removeTab(4) # environment tab
+ self.uiTabWidget.removeTab(4) # environment tab
# all platforms but c7200 have the iomem feature
# let"s hide these widgets.
@@ -399,7 +400,7 @@ class IOSRouterConfigurationPage(QtGui.QWidget, Ui_iosRouterConfigPageWidget):
if index != -1:
self._widget_slots[slot_number].setCurrentIndex(index)
QtGui.QMessageBox.critical(self, node.name(), "A link is connected to port {} on adapter {}, please remove it first".format(node_port.name(),
- adapter))
+ adapter))
raise ConfigurationError()
def _checkForLinkConnectedToWIC(self, wic_number, settings, node):
@@ -432,7 +433,7 @@ class IOSRouterConfigurationPage(QtGui.QWidget, Ui_iosRouterConfigPageWidget):
:param group: indicates the settings apply to a group of routers
"""
- #print("saving {}".format(group))
+ # print("saving {}".format(group))
# these settings cannot be shared by nodes and updated
# in the node configurator.
@@ -458,16 +459,16 @@ class IOSRouterConfigurationPage(QtGui.QWidget, Ui_iosRouterConfigPageWidget):
settings["aux"] = self.uiAuxPortSpinBox.value()
# check and save the base MAC address
- #mac = self.uiBaseMACLineEdit.text()
- #if mac and not re.search(r"""^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4}$""", mac):
+ # mac = self.uiBaseMACLineEdit.text()
+ # if mac and not re.search(r"""^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4}$""", mac):
# QtGui.QMessageBox.critical(self, "MAC address", "Invalid MAC address (format required: hhhh.hhhh.hhhh)")
- #elif mac != "":
+ # elif mac != "":
# settings["mac_addr"] = mac
# save the IOS image path
path = self.uiIOSImageLineEdit.text()
- #settings["path"] = path
- settings["image"] = path#os.path.basename(path)
+ # settings["path"] = path
+ settings["image"] = path # os.path.basename(path)
else:
del settings["name"]
diff --git a/gns3/modules/dynamips/pages/ios_router_preferences_page.py b/gns3/modules/dynamips/pages/ios_router_preferences_page.py
index a94956c2..2556139e 100644
--- a/gns3/modules/dynamips/pages/ios_router_preferences_page.py
+++ b/gns3/modules/dynamips/pages/ios_router_preferences_page.py
@@ -48,6 +48,7 @@ log = logging.getLogger(__name__)
class IOSRouterPreferencesPage(QtGui.QWidget, Ui_IOSRouterPreferencesPageWidget):
+
"""
QWidget preference page for IOS routers.
"""
diff --git a/gns3/modules/dynamips/settings.py b/gns3/modules/dynamips/settings.py
index 57c834b2..77bdddbf 100644
--- a/gns3/modules/dynamips/settings.py
+++ b/gns3/modules/dynamips/settings.py
@@ -191,7 +191,7 @@ C7200_PAS = (
IO_C7200 = ("C7200-IO-FE",
"C7200-IO-2FE",
"C7200-IO-GE-E"
-)
+ )
"""
Build the adapter compatibility matrix:
diff --git a/gns3/modules/dynamips/ui/atm_bridge_configuration_page_ui.py b/gns3/modules/dynamips/ui/atm_bridge_configuration_page_ui.py
index 6875bf15..56a1b38a 100644
--- a/gns3/modules/dynamips/ui/atm_bridge_configuration_page_ui.py
+++ b/gns3/modules/dynamips/ui/atm_bridge_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_atmBridgeConfigPageWidget(object):
+
def setupUi(self, atmBridgeConfigPageWidget):
atmBridgeConfigPageWidget.setObjectName(_fromUtf8("atmBridgeConfigPageWidget"))
atmBridgeConfigPageWidget.resize(432, 358)
@@ -164,4 +167,3 @@ class Ui_atmBridgeConfigPageWidget(object):
self.uiDeletePushButton.setText(_translate("atmBridgeConfigPageWidget", "&Delete", None))
self.uiGeneralGroupBox.setTitle(_translate("atmBridgeConfigPageWidget", "General", None))
self.uiNameLabel.setText(_translate("atmBridgeConfigPageWidget", "Name:", None))
-
diff --git a/gns3/modules/dynamips/ui/atm_switch_configuration_page_ui.py b/gns3/modules/dynamips/ui/atm_switch_configuration_page_ui.py
index c5f8df4e..8ea98332 100644
--- a/gns3/modules/dynamips/ui/atm_switch_configuration_page_ui.py
+++ b/gns3/modules/dynamips/ui/atm_switch_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_atmSwitchConfigPageWidget(object):
+
def setupUi(self, atmSwitchConfigPageWidget):
atmSwitchConfigPageWidget.setObjectName(_fromUtf8("atmSwitchConfigPageWidget"))
atmSwitchConfigPageWidget.resize(459, 419)
@@ -198,4 +201,3 @@ class Ui_atmSwitchConfigPageWidget(object):
self.uiDestinationPortLabel.setText(_translate("atmSwitchConfigPageWidget", "Port:", None))
self.uiDestinationVPILabel.setText(_translate("atmSwitchConfigPageWidget", "VPI:", None))
self.uiDestinationVCILabel.setText(_translate("atmSwitchConfigPageWidget", "VCI:", None))
-
diff --git a/gns3/modules/dynamips/ui/dynamips_preferences_page_ui.py b/gns3/modules/dynamips/ui/dynamips_preferences_page_ui.py
index da785770..d727b5c3 100644
--- a/gns3/modules/dynamips/ui/dynamips_preferences_page_ui.py
+++ b/gns3/modules/dynamips/ui/dynamips_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_DynamipsPreferencesPageWidget(object):
+
def setupUi(self, DynamipsPreferencesPageWidget):
DynamipsPreferencesPageWidget.setObjectName(_fromUtf8("DynamipsPreferencesPageWidget"))
DynamipsPreferencesPageWidget.resize(430, 539)
@@ -271,4 +274,3 @@ class Ui_DynamipsPreferencesPageWidget(object):
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiAdvancedSettingsTabWidget), _translate("DynamipsPreferencesPageWidget", "Advanced settings", None))
self.uiTestSettingsPushButton.setText(_translate("DynamipsPreferencesPageWidget", "Test settings", None))
self.uiRestoreDefaultsPushButton.setText(_translate("DynamipsPreferencesPageWidget", "Restore defaults", None))
-
diff --git a/gns3/modules/dynamips/ui/ethernet_hub_configuration_page_ui.py b/gns3/modules/dynamips/ui/ethernet_hub_configuration_page_ui.py
index 57e6d592..0cdea214 100644
--- a/gns3/modules/dynamips/ui/ethernet_hub_configuration_page_ui.py
+++ b/gns3/modules/dynamips/ui/ethernet_hub_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_ethernetHubConfigPageWidget(object):
+
def setupUi(self, ethernetHubConfigPageWidget):
ethernetHubConfigPageWidget.setObjectName(_fromUtf8("ethernetHubConfigPageWidget"))
ethernetHubConfigPageWidget.resize(381, 270)
@@ -70,4 +73,3 @@ class Ui_ethernetHubConfigPageWidget(object):
self.uiSettingsGroupBox.setTitle(_translate("ethernetHubConfigPageWidget", "Settings", None))
self.uiNameLabel.setText(_translate("ethernetHubConfigPageWidget", "Name:", None))
self.uiPortsLabel.setText(_translate("ethernetHubConfigPageWidget", "Number of ports:", None))
-
diff --git a/gns3/modules/dynamips/ui/ethernet_switch_configuration_page_ui.py b/gns3/modules/dynamips/ui/ethernet_switch_configuration_page_ui.py
index 62bf3c74..8316c806 100644
--- a/gns3/modules/dynamips/ui/ethernet_switch_configuration_page_ui.py
+++ b/gns3/modules/dynamips/ui/ethernet_switch_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_ethernetSwitchConfigPageWidget(object):
+
def setupUi(self, ethernetSwitchConfigPageWidget):
ethernetSwitchConfigPageWidget.setObjectName(_fromUtf8("ethernetSwitchConfigPageWidget"))
ethernetSwitchConfigPageWidget.resize(397, 315)
@@ -138,4 +141,3 @@ class Ui_ethernetSwitchConfigPageWidget(object):
self.uiPortTypeComboBox.setItemText(2, _translate("ethernetSwitchConfigPageWidget", "qinq", None))
self.uiAddPushButton.setText(_translate("ethernetSwitchConfigPageWidget", "&Add", None))
self.uiDeletePushButton.setText(_translate("ethernetSwitchConfigPageWidget", "&Delete", None))
-
diff --git a/gns3/modules/dynamips/ui/frame_relay_switch_configuration_page_ui.py b/gns3/modules/dynamips/ui/frame_relay_switch_configuration_page_ui.py
index f8b84f7a..641fd621 100644
--- a/gns3/modules/dynamips/ui/frame_relay_switch_configuration_page_ui.py
+++ b/gns3/modules/dynamips/ui/frame_relay_switch_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_frameRelaySwitchConfigPageWidget(object):
+
def setupUi(self, frameRelaySwitchConfigPageWidget):
frameRelaySwitchConfigPageWidget.setObjectName(_fromUtf8("frameRelaySwitchConfigPageWidget"))
frameRelaySwitchConfigPageWidget.resize(499, 405)
@@ -161,4 +164,3 @@ class Ui_frameRelaySwitchConfigPageWidget(object):
self.uiDestinationDLCILabel.setText(_translate("frameRelaySwitchConfigPageWidget", "DLCI:", None))
self.uiAddPushButton.setText(_translate("frameRelaySwitchConfigPageWidget", "&Add", None))
self.uiDeletePushButton.setText(_translate("frameRelaySwitchConfigPageWidget", "&Delete", None))
-
diff --git a/gns3/modules/dynamips/ui/ios_router_configuration_page_ui.py b/gns3/modules/dynamips/ui/ios_router_configuration_page_ui.py
index 00383962..51bf22e6 100644
--- a/gns3/modules/dynamips/ui/ios_router_configuration_page_ui.py
+++ b/gns3/modules/dynamips/ui/ios_router_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_iosRouterConfigPageWidget(object):
+
def setupUi(self, iosRouterConfigPageWidget):
iosRouterConfigPageWidget.setObjectName(_fromUtf8("iosRouterConfigPageWidget"))
iosRouterConfigPageWidget.resize(435, 510)
@@ -635,4 +638,3 @@ class Ui_iosRouterConfigPageWidget(object):
self.uiSensor4Label.setText(_translate("iosRouterConfigPageWidget", "NPE outlet:", None))
self.uiSensor4SpinBox.setSuffix(_translate("iosRouterConfigPageWidget", " C", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiEnvironmentPageWidget), _translate("iosRouterConfigPageWidget", "Environment", None))
-
diff --git a/gns3/modules/dynamips/ui/ios_router_preferences_page_ui.py b/gns3/modules/dynamips/ui/ios_router_preferences_page_ui.py
index 976fea97..43e09aec 100644
--- a/gns3/modules/dynamips/ui/ios_router_preferences_page_ui.py
+++ b/gns3/modules/dynamips/ui/ios_router_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_IOSRouterPreferencesPageWidget(object):
+
def setupUi(self, IOSRouterPreferencesPageWidget):
IOSRouterPreferencesPageWidget.setObjectName(_fromUtf8("IOSRouterPreferencesPageWidget"))
IOSRouterPreferencesPageWidget.resize(672, 521)
@@ -83,4 +86,3 @@ class Ui_IOSRouterPreferencesPageWidget(object):
self.uiDecompressIOSPushButton.setText(_translate("IOSRouterPreferencesPageWidget", "&Decompress", None))
self.uiEditIOSRouterPushButton.setText(_translate("IOSRouterPreferencesPageWidget", "&Edit", None))
self.uiDeleteIOSRouterPushButton.setText(_translate("IOSRouterPreferencesPageWidget", "Delete", None))
-
diff --git a/gns3/modules/dynamips/ui/ios_router_wizard_ui.py b/gns3/modules/dynamips/ui/ios_router_wizard_ui.py
index a01fa18d..0f421282 100644
--- a/gns3/modules/dynamips/ui/ios_router_wizard_ui.py
+++ b/gns3/modules/dynamips/ui/ios_router_wizard_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_IOSRouterWizard(object):
+
def setupUi(self, IOSRouterWizard):
IOSRouterWizard.setObjectName(_fromUtf8("IOSRouterWizard"))
IOSRouterWizard.resize(517, 398)
@@ -327,4 +330,3 @@ class Ui_IOSRouterWizard(object):
self.uiIdlePCWizardPage.setSubTitle(_translate("IOSRouterWizard", "An idle-pc value is necessary to prevent IOS to use 100% of your processor or one of its core.", None))
self.uiIdlepcLabel.setText(_translate("IOSRouterWizard", "Idle-PC:", None))
self.uiIdlePCFinderPushButton.setText(_translate("IOSRouterWizard", "Idle-PC finder", None))
-
diff --git a/gns3/modules/dynamips/utils/decompress_ios_thread.py b/gns3/modules/dynamips/utils/decompress_ios_thread.py
index 2db1ead6..e28a139e 100644
--- a/gns3/modules/dynamips/utils/decompress_ios_thread.py
+++ b/gns3/modules/dynamips/utils/decompress_ios_thread.py
@@ -24,6 +24,7 @@ from .decompress_ios import decompressIOS
class DecompressIOSThread(QtCore.QThread):
+
"""
Thread to decompress an IOS image.
diff --git a/gns3/modules/dynamips/utils/tree_widget_item.py b/gns3/modules/dynamips/utils/tree_widget_item.py
index b480c59b..4a4c6b2c 100644
--- a/gns3/modules/dynamips/utils/tree_widget_item.py
+++ b/gns3/modules/dynamips/utils/tree_widget_item.py
@@ -19,6 +19,7 @@ from gns3.qt import QtGui
class TreeWidgetItem(QtGui.QTreeWidgetItem):
+
"""
QTreeWidgetItem reimplementation to allow numeric sort.
"""
diff --git a/gns3/modules/iou/__init__.py b/gns3/modules/iou/__init__.py
index ec3fb5c0..63d640c7 100644
--- a/gns3/modules/iou/__init__.py
+++ b/gns3/modules/iou/__init__.py
@@ -36,6 +36,7 @@ log = logging.getLogger(__name__)
class IOU(Module):
+
"""
IOU module.
"""
@@ -530,7 +531,7 @@ class IOU(Module):
"default_symbol": iou_device["default_symbol"],
"hover_symbol": iou_device["hover_symbol"],
"categories": [iou_device["category"]]
- }
+ }
)
return nodes
diff --git a/gns3/modules/iou/dialogs/iou_device_wizard.py b/gns3/modules/iou/dialogs/iou_device_wizard.py
index 4556d5d1..7688db6b 100644
--- a/gns3/modules/iou/dialogs/iou_device_wizard.py
+++ b/gns3/modules/iou/dialogs/iou_device_wizard.py
@@ -34,6 +34,7 @@ from .. import IOU
class IOUDeviceWizard(QtGui.QWizard, Ui_IOUDeviceWizard):
+
"""
Wizard to create an IOU device.
@@ -203,7 +204,7 @@ class IOUDeviceWizard(QtGui.QWizard, Ui_IOUDeviceWizard):
server = "{}:{}".format(server.host, server.port)
else:
server = self.uiRemoteServersComboBox.currentText()
- else: # Cloud is selected
+ else: # Cloud is selected
server = "cloud"
settings = {
diff --git a/gns3/modules/iou/iou_device.py b/gns3/modules/iou/iou_device.py
index 839b1dfe..8a1c25d8 100644
--- a/gns3/modules/iou/iou_device.py
+++ b/gns3/modules/iou/iou_device.py
@@ -34,6 +34,7 @@ log = logging.getLogger(__name__)
class IOUDevice(Node):
+
"""
IOU device.
@@ -63,7 +64,7 @@ class IOUDevice(Node):
"serial_adapters": IOU_DEVICE_SETTINGS["serial_adapters"],
"console": None}
- #self._occupied_slots = []
+ # self._occupied_slots = []
self._addAdapters(2, 2)
# save the default settings
@@ -79,8 +80,8 @@ class IOUDevice(Node):
nb_adapters = nb_ethernet_adapters + nb_serial_adapters
for slot_number in range(0, nb_adapters):
-# if slot_number in self._occupied_slots:
-# continue
+ # if slot_number in self._occupied_slots:
+ # continue
for port_number in range(0, 4):
if slot_number < nb_ethernet_adapters:
port = EthernetPort
@@ -93,7 +94,7 @@ class IOUDevice(Node):
new_port.setPortNumber(port_number)
new_port.setSlotNumber(slot_number)
new_port.setPacketCaptureSupported(True)
- #self._occupied_slots.append(slot_number)
+ # self._occupied_slots.append(slot_number)
self._ports.append(new_port)
log.debug("port {} has been added".format(port_name))
@@ -106,8 +107,8 @@ class IOUDevice(Node):
for port in self._ports.copy():
if (port.slotNumber() >= nb_ethernet_adapters and port.linkType() == "Ethernet") or \
- (port.slotNumber() >= nb_serial_adapters and port.linkType() == "Serial"):
- #self._occupied_slots.remove(port.slotNumber())
+ (port.slotNumber() >= nb_serial_adapters and port.linkType() == "Serial"):
+ # self._occupied_slots.remove(port.slotNumber())
self._ports.remove(port)
log.info("port {} has been removed".format(port.name()))
@@ -247,7 +248,7 @@ class IOUDevice(Node):
params[name] = value
if "initial_config" in new_settings and self._settings["initial_config"] != new_settings["initial_config"] \
- and not self.server().isLocal() and os.path.isfile(new_settings["initial_config"]):
+ and not self.server().isLocal() and os.path.isfile(new_settings["initial_config"]):
params["initial_config_base64"] = self._base64Config(new_settings["initial_config"])
log.debug("{} is updating settings: {}".format(self.name(), params))
@@ -281,7 +282,7 @@ class IOUDevice(Node):
if nb_adapters_changed:
log.debug("number of adapters has changed: Ethernet={} Serial={}".format(self._settings["ethernet_adapters"], self._settings["serial_adapters"]))
- #TODO: dynamically add/remove adapters
+ # TODO: dynamically add/remove adapters
self._ports.clear()
self._addAdapters(self._settings["ethernet_adapters"], self._settings["serial_adapters"])
diff --git a/gns3/modules/iou/pages/iou_device_configuration_page.py b/gns3/modules/iou/pages/iou_device_configuration_page.py
index efcd6b9e..c6a04680 100644
--- a/gns3/modules/iou/pages/iou_device_configuration_page.py
+++ b/gns3/modules/iou/pages/iou_device_configuration_page.py
@@ -29,6 +29,7 @@ from ..ui.iou_device_configuration_page_ui import Ui_iouDeviceConfigPageWidget
class iouDeviceConfigurationPage(QtGui.QWidget, Ui_iouDeviceConfigPageWidget):
+
"""
QWidget configuration page for IOU devices.
"""
diff --git a/gns3/modules/iou/pages/iou_device_preferences_page.py b/gns3/modules/iou/pages/iou_device_preferences_page.py
index 614f636a..490194f2 100644
--- a/gns3/modules/iou/pages/iou_device_preferences_page.py
+++ b/gns3/modules/iou/pages/iou_device_preferences_page.py
@@ -39,6 +39,7 @@ from ..dialogs.iou_device_wizard import IOUDeviceWizard
class IOUDevicePreferencesPage(QtGui.QWidget, Ui_IOUDevicePreferencesPageWidget):
+
"""
QWidget preference page for IOU image & device preferences.
"""
@@ -336,5 +337,5 @@ class IOUDevicePreferencesPage(QtGui.QWidget, Ui_IOUDevicePreferencesPageWidget)
Saves the IOU devices preferences.
"""
- #self._iouImageSaveSlot()
+ # self._iouImageSaveSlot()
IOU.instance().setIOUDevices(self._iou_devices)
diff --git a/gns3/modules/iou/pages/iou_preferences_page.py b/gns3/modules/iou/pages/iou_preferences_page.py
index 77b3e88a..5f32097a 100644
--- a/gns3/modules/iou/pages/iou_preferences_page.py
+++ b/gns3/modules/iou/pages/iou_preferences_page.py
@@ -31,6 +31,7 @@ from ..settings import IOU_SETTINGS
class IOUPreferencesPage(QtGui.QWidget, Ui_IOUPreferencesPageWidget):
+
"""
QWidget preference page for IOU.
"""
@@ -52,7 +53,7 @@ class IOUPreferencesPage(QtGui.QWidget, Ui_IOUPreferencesPageWidget):
self.uiUseLocalServercheckBox.stateChanged.connect(self._useLocalServerSlot)
self.uiTestSettingsPushButton.clicked.connect(self._testSettingsSlot)
- #FIXME: temporally hide test button
+ # FIXME: temporally hide test button
self.uiTestSettingsPushButton.hide()
def _iourcPathBrowserSlot(self):
@@ -131,7 +132,7 @@ class IOUPreferencesPage(QtGui.QWidget, Ui_IOUPreferencesPageWidget):
if error:
pass
- #log.error("error while allocating an UDP port for {}: {}".format(self.name(), result["message"]))
+ # log.error("error while allocating an UDP port for {}: {}".format(self.name(), result["message"]))
print("Report received")
print(result)
diff --git a/gns3/modules/iou/ui/iou_device_configuration_page_ui.py b/gns3/modules/iou/ui/iou_device_configuration_page_ui.py
index c51b53a5..f93e037b 100644
--- a/gns3/modules/iou/ui/iou_device_configuration_page_ui.py
+++ b/gns3/modules/iou/ui/iou_device_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_iouDeviceConfigPageWidget(object):
+
def setupUi(self, iouDeviceConfigPageWidget):
iouDeviceConfigPageWidget.setObjectName(_fromUtf8("iouDeviceConfigPageWidget"))
iouDeviceConfigPageWidget.resize(392, 473)
@@ -196,4 +199,3 @@ class Ui_iouDeviceConfigPageWidget(object):
self.uiSerialAdaptersLabel.setText(_translate("iouDeviceConfigPageWidget", "Serial adapters:", None))
self.uiSerialAdaptersSpinBox.setToolTip(_translate("iouDeviceConfigPageWidget", "1 adapter egals 4 serial interfaces", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.tab_2), _translate("iouDeviceConfigPageWidget", "Network", None))
-
diff --git a/gns3/modules/iou/ui/iou_device_preferences_page_ui.py b/gns3/modules/iou/ui/iou_device_preferences_page_ui.py
index 53636358..67068abd 100644
--- a/gns3/modules/iou/ui/iou_device_preferences_page_ui.py
+++ b/gns3/modules/iou/ui/iou_device_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_IOUDevicePreferencesPageWidget(object):
+
def setupUi(self, IOUDevicePreferencesPageWidget):
IOUDevicePreferencesPageWidget.setObjectName(_fromUtf8("IOUDevicePreferencesPageWidget"))
IOUDevicePreferencesPageWidget.resize(684, 516)
@@ -78,4 +81,3 @@ class Ui_IOUDevicePreferencesPageWidget(object):
self.uiNewIOUDevicePushButton.setText(_translate("IOUDevicePreferencesPageWidget", "&New", None))
self.uiEditIOUDevicePushButton.setText(_translate("IOUDevicePreferencesPageWidget", "&Edit", None))
self.uiDeleteIOUDevicePushButton.setText(_translate("IOUDevicePreferencesPageWidget", "Delete", None))
-
diff --git a/gns3/modules/iou/ui/iou_device_wizard_ui.py b/gns3/modules/iou/ui/iou_device_wizard_ui.py
index 07974457..4bdee8d9 100644
--- a/gns3/modules/iou/ui/iou_device_wizard_ui.py
+++ b/gns3/modules/iou/ui/iou_device_wizard_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_IOUDeviceWizard(object):
+
def setupUi(self, IOUDeviceWizard):
IOUDeviceWizard.setObjectName(_fromUtf8("IOUDeviceWizard"))
IOUDeviceWizard.resize(514, 366)
@@ -123,4 +126,3 @@ class Ui_IOUDeviceWizard(object):
self.uiIOUImageLabel.setText(_translate("IOUDeviceWizard", "IOU image:", None))
self.uiIOUImageToolButton.setText(_translate("IOUDeviceWizard", "&Browse...", None))
self.uiTypeLabel.setText(_translate("IOUDeviceWizard", "Type:", None))
-
diff --git a/gns3/modules/iou/ui/iou_preferences_page_ui.py b/gns3/modules/iou/ui/iou_preferences_page_ui.py
index 96d82a1e..bf23ecec 100644
--- a/gns3/modules/iou/ui/iou_preferences_page_ui.py
+++ b/gns3/modules/iou/ui/iou_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_IOUPreferencesPageWidget(object):
+
def setupUi(self, IOUPreferencesPageWidget):
IOUPreferencesPageWidget.setObjectName(_fromUtf8("IOUPreferencesPageWidget"))
IOUPreferencesPageWidget.resize(432, 508)
@@ -170,4 +173,3 @@ class Ui_IOUPreferencesPageWidget(object):
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.tab), _translate("IOUPreferencesPageWidget", "Advanced settings", None))
self.uiTestSettingsPushButton.setText(_translate("IOUPreferencesPageWidget", "Test settings", None))
self.uiRestoreDefaultsPushButton.setText(_translate("IOUPreferencesPageWidget", "Restore defaults", None))
-
diff --git a/gns3/modules/module.py b/gns3/modules/module.py
index 90def795..ee106daf 100644
--- a/gns3/modules/module.py
+++ b/gns3/modules/module.py
@@ -26,6 +26,7 @@ log = logging.getLogger(__name__)
class Module(QtCore.QObject):
+
"""
Module interface.
"""
diff --git a/gns3/modules/qemu/__init__.py b/gns3/modules/qemu/__init__.py
index 405f3ef8..cf7a10e3 100644
--- a/gns3/modules/qemu/__init__.py
+++ b/gns3/modules/qemu/__init__.py
@@ -35,6 +35,7 @@ log = logging.getLogger(__name__)
class Qemu(Module):
+
"""
QEMU module.
"""
@@ -335,7 +336,7 @@ class Qemu(Module):
"adapters": self._qemu_vms[vm]["adapters"],
"adapter_type": self._qemu_vms[vm]["adapter_type"]}
- #FIXME: this is ugly...
+ # FIXME: this is ugly...
if self._qemu_vms[vm]["hda_disk_image"]:
settings["hda_disk_image"] = self._qemu_vms[vm]["hda_disk_image"]
@@ -453,8 +454,8 @@ class Qemu(Module):
"default_symbol": qemu_vm["default_symbol"],
"hover_symbol": qemu_vm["hover_symbol"],
"categories": [qemu_vm["category"]]
- }
- )
+ }
+ )
return nodes
@staticmethod
diff --git a/gns3/modules/qemu/dialogs/qemu_vm_wizard.py b/gns3/modules/qemu/dialogs/qemu_vm_wizard.py
index cee23a0f..81c7b478 100644
--- a/gns3/modules/qemu/dialogs/qemu_vm_wizard.py
+++ b/gns3/modules/qemu/dialogs/qemu_vm_wizard.py
@@ -35,6 +35,7 @@ from ..settings import QEMU_BINARIES_FOR_CLOUD
class QemuVMWizard(QtGui.QWizard, Ui_QemuVMWizard):
+
"""
Wizard to create a Qemu VM.
@@ -239,7 +240,7 @@ class QemuVMWizard(QtGui.QWizard, Ui_QemuVMWizard):
else:
self.uiQemuListComboBox.addItem("{path}".format(path=qemu["path"]), qemu["path"])
- is_64bit = sys.maxsize > 2**32
+ is_64bit = sys.maxsize > 2 ** 32
if sys.platform.startswith("win"):
if self.uiTypeComboBox.currentText() != "Default" and (Qemu.instance().settings()["use_local_server"] or self.uiLocalRadioButton.isChecked()):
search_string = "qemu.exe"
@@ -273,10 +274,9 @@ class QemuVMWizard(QtGui.QWizard, Ui_QemuVMWizard):
server = "local"
elif self.uiRemoteRadioButton.isChecked():
server = self.uiRemoteServersComboBox.currentText()
- else: # Cloud is selected
+ else: # Cloud is selected
server = "cloud"
-
qemu_path = self.uiQemuListComboBox.itemData(self.uiQemuListComboBox.currentIndex())
settings = {
"name": self.uiNameLineEdit.text(),
@@ -322,7 +322,7 @@ class QemuVMWizard(QtGui.QWizard, Ui_QemuVMWizard):
settings["category"] = Node.end_devices
if self.uiTypeComboBox.currentText() != "Default":
- if not "options" in settings:
+ if "options" not in settings:
settings["options"] = ""
if server == "local" and (sys.platform.startswith("win") and qemu_path.endswith("qemu.exe")) or (sys.platform.startswith("darwin") and "GNS3.app" in qemu_path):
settings["options"] += " -vga none -vnc none"
diff --git a/gns3/modules/qemu/pages/qemu_preferences_page.py b/gns3/modules/qemu/pages/qemu_preferences_page.py
index 72448703..7e1b28eb 100644
--- a/gns3/modules/qemu/pages/qemu_preferences_page.py
+++ b/gns3/modules/qemu/pages/qemu_preferences_page.py
@@ -28,6 +28,7 @@ from ..settings import QEMU_SETTINGS
class QemuPreferencesPage(QtGui.QWidget, Ui_QemuPreferencesPageWidget):
+
"""
QWidget preference page for QEMU.
"""
diff --git a/gns3/modules/qemu/pages/qemu_vm_configuration_page.py b/gns3/modules/qemu/pages/qemu_vm_configuration_page.py
index aff6397f..c26932e6 100644
--- a/gns3/modules/qemu/pages/qemu_vm_configuration_page.py
+++ b/gns3/modules/qemu/pages/qemu_vm_configuration_page.py
@@ -37,6 +37,7 @@ from ..settings import QEMU_BINARIES_FOR_CLOUD
class QemuVMConfigurationPage(QtGui.QWidget, Ui_QemuVMConfigPageWidget):
+
"""
QWidget configuration page for QEMU VMs.
"""
diff --git a/gns3/modules/qemu/pages/qemu_vm_preferences_page.py b/gns3/modules/qemu/pages/qemu_vm_preferences_page.py
index b526b433..b0dea5b9 100644
--- a/gns3/modules/qemu/pages/qemu_vm_preferences_page.py
+++ b/gns3/modules/qemu/pages/qemu_vm_preferences_page.py
@@ -37,8 +37,8 @@ from ..pages.qemu_vm_configuration_page import QemuVMConfigurationPage
from ..dialogs.qemu_vm_wizard import QemuVMWizard
-
class QemuVMPreferencesPage(QtGui.QWidget, Ui_QemuVMPreferencesPageWidget):
+
"""
QWidget preference page for QEMU VM preferences.
"""
diff --git a/gns3/modules/qemu/qemu_vm.py b/gns3/modules/qemu/qemu_vm.py
index eed5c601..32ed9bfb 100644
--- a/gns3/modules/qemu/qemu_vm.py
+++ b/gns3/modules/qemu/qemu_vm.py
@@ -29,6 +29,7 @@ log = logging.getLogger(__name__)
class QemuVM(Node):
+
"""
QEMU VM.
@@ -233,7 +234,7 @@ class QemuVM(Node):
if nb_adapters_changed:
log.debug("number of adapters has changed to {}".format(self._settings["adapters"]))
- #TODO: dynamically add/remove adapters
+ # TODO: dynamically add/remove adapters
self._ports.clear()
self._addAdapters(self._settings["adapters"])
diff --git a/gns3/modules/qemu/settings.py b/gns3/modules/qemu/settings.py
index d3424984..73d006e5 100644
--- a/gns3/modules/qemu/settings.py
+++ b/gns3/modules/qemu/settings.py
@@ -85,7 +85,7 @@ QEMU_VM_SETTING_TYPES = {
# Use a hardcoded list of binaries rather than a dynamic one so the user
# doesn't require a running cloud instance to upload qemu images.
-QEMU_BINARIES_FOR_CLOUD = [
+QEMU_BINARIES_FOR_CLOUD = sorted([
"qemu-system-arm",
"qemu-system-microblaze",
"qemu-system-mipsel",
@@ -112,5 +112,4 @@ QEMU_BINARIES_FOR_CLOUD = [
"qemu-system-ppc64",
"qemu-system-sparc",
"qemu-system-xtensaeb",
-]
-QEMU_BINARIES_FOR_CLOUD.sort()
+])
diff --git a/gns3/modules/qemu/ui/qemu_preferences_page_ui.py b/gns3/modules/qemu/ui/qemu_preferences_page_ui.py
index 29d0a9b4..7593ae18 100644
--- a/gns3/modules/qemu/ui/qemu_preferences_page_ui.py
+++ b/gns3/modules/qemu/ui/qemu_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_QemuPreferencesPageWidget(object):
+
def setupUi(self, QemuPreferencesPageWidget):
QemuPreferencesPageWidget.setObjectName(_fromUtf8("QemuPreferencesPageWidget"))
QemuPreferencesPageWidget.resize(432, 586)
@@ -159,4 +162,3 @@ class Ui_QemuPreferencesPageWidget(object):
self.uiUDPPortRangeLabel.setText(_translate("QemuPreferencesPageWidget", "to", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiAdvancedSettingsTabWidget), _translate("QemuPreferencesPageWidget", "Advanced settings", None))
self.uiRestoreDefaultsPushButton.setText(_translate("QemuPreferencesPageWidget", "Restore defaults", None))
-
diff --git a/gns3/modules/qemu/ui/qemu_vm_configuration_page_ui.py b/gns3/modules/qemu/ui/qemu_vm_configuration_page_ui.py
index 069f314c..81b05403 100644
--- a/gns3/modules/qemu/ui/qemu_vm_configuration_page_ui.py
+++ b/gns3/modules/qemu/ui/qemu_vm_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_QemuVMConfigPageWidget(object):
+
def setupUi(self, QemuVMConfigPageWidget):
QemuVMConfigPageWidget.setObjectName(_fromUtf8("QemuVMConfigPageWidget"))
QemuVMConfigPageWidget.resize(486, 407)
@@ -274,4 +277,3 @@ class Ui_QemuVMConfigPageWidget(object):
self.groupBox.setTitle(_translate("QemuVMConfigPageWidget", "Aditional settings", None))
self.uiQemuOptionsLabel.setText(_translate("QemuVMConfigPageWidget", "Options:", None))
self.uiQemutabWidget.setTabText(self.uiQemutabWidget.indexOf(self.tab_2), _translate("QemuVMConfigPageWidget", "Advanced settings", None))
-
diff --git a/gns3/modules/qemu/ui/qemu_vm_preferences_page_ui.py b/gns3/modules/qemu/ui/qemu_vm_preferences_page_ui.py
index 75a7d595..1c37568c 100644
--- a/gns3/modules/qemu/ui/qemu_vm_preferences_page_ui.py
+++ b/gns3/modules/qemu/ui/qemu_vm_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_QemuVMPreferencesPageWidget(object):
+
def setupUi(self, QemuVMPreferencesPageWidget):
QemuVMPreferencesPageWidget.setObjectName(_fromUtf8("QemuVMPreferencesPageWidget"))
QemuVMPreferencesPageWidget.resize(706, 543)
@@ -79,4 +82,3 @@ class Ui_QemuVMPreferencesPageWidget(object):
self.uiNewQemuVMPushButton.setText(_translate("QemuVMPreferencesPageWidget", "&New", None))
self.uiEditQemuVMPushButton.setText(_translate("QemuVMPreferencesPageWidget", "&Edit", None))
self.uiDeleteQemuVMPushButton.setText(_translate("QemuVMPreferencesPageWidget", "&Delete", None))
-
diff --git a/gns3/modules/qemu/ui/qemu_vm_wizard_ui.py b/gns3/modules/qemu/ui/qemu_vm_wizard_ui.py
index 02441241..0a0d0255 100644
--- a/gns3/modules/qemu/ui/qemu_vm_wizard_ui.py
+++ b/gns3/modules/qemu/ui/qemu_vm_wizard_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_QemuVMWizard(object):
+
def setupUi(self, QemuVMWizard):
QemuVMWizard.setObjectName(_fromUtf8("QemuVMWizard"))
QemuVMWizard.resize(514, 366)
@@ -222,4 +225,3 @@ class Ui_QemuVMWizard(object):
self.uiDiskImageHdbWizardPage.setSubTitle(_translate("QemuVMWizard", "Please add an additional disk image for IDS.", None))
self.uiHdbDiskImageLabel.setText(_translate("QemuVMWizard", "Disk image (hdb):", None))
self.uiHdbDiskImageToolButton.setText(_translate("QemuVMWizard", "&Browse...", None))
-
diff --git a/gns3/modules/virtualbox/__init__.py b/gns3/modules/virtualbox/__init__.py
index 39fd8355..e74fce68 100644
--- a/gns3/modules/virtualbox/__init__.py
+++ b/gns3/modules/virtualbox/__init__.py
@@ -33,6 +33,7 @@ log = logging.getLogger(__name__)
class VirtualBox(Module):
+
"""
VirtualBox module.
"""
diff --git a/gns3/modules/virtualbox/dialogs/virtualbox_vm_wizard.py b/gns3/modules/virtualbox/dialogs/virtualbox_vm_wizard.py
index 6537fe6c..2027fb40 100644
--- a/gns3/modules/virtualbox/dialogs/virtualbox_vm_wizard.py
+++ b/gns3/modules/virtualbox/dialogs/virtualbox_vm_wizard.py
@@ -31,6 +31,7 @@ from .. import VirtualBox
class VirtualBoxVMWizard(QtGui.QWizard, Ui_VirtualBoxVMWizard):
+
"""
Wizard to create a VirtualBox VM.
@@ -105,7 +106,7 @@ class VirtualBoxVMWizard(QtGui.QWizard, Ui_VirtualBoxVMWizard):
if self.currentPage() == self.uiServerWizardPage:
- #FIXME: prevent users to use "cloud"
+ # FIXME: prevent users to use "cloud"
if self.uiCloudRadioButton.isChecked():
QtGui.QMessageBox.critical(self, "Cloud", "Sorry not implemented yet!")
return False
diff --git a/gns3/modules/virtualbox/pages/virtualbox_preferences_page.py b/gns3/modules/virtualbox/pages/virtualbox_preferences_page.py
index 193b6e68..5fbfd0c8 100644
--- a/gns3/modules/virtualbox/pages/virtualbox_preferences_page.py
+++ b/gns3/modules/virtualbox/pages/virtualbox_preferences_page.py
@@ -28,6 +28,7 @@ from ..settings import VBOX_SETTINGS
class VirtualBoxPreferencesPage(QtGui.QWidget, Ui_VirtualBoxPreferencesPageWidget):
+
"""
QWidget preference page for VirtualBox.
"""
@@ -42,7 +43,7 @@ class VirtualBoxPreferencesPage(QtGui.QWidget, Ui_VirtualBoxPreferencesPageWidge
self.uiRestoreDefaultsPushButton.clicked.connect(self._restoreDefaultsSlot)
self.uiVboxManagePathToolButton.clicked.connect(self._vboxPathBrowserSlot)
- #FIXME: temporally hide test button
+ # FIXME: temporally hide test button
self.uiTestSettingsPushButton.hide()
def _vboxPathBrowserSlot(self):
diff --git a/gns3/modules/virtualbox/pages/virtualbox_vm_configuration_page.py b/gns3/modules/virtualbox/pages/virtualbox_vm_configuration_page.py
index c9bf2d28..08f0ed87 100644
--- a/gns3/modules/virtualbox/pages/virtualbox_vm_configuration_page.py
+++ b/gns3/modules/virtualbox/pages/virtualbox_vm_configuration_page.py
@@ -26,6 +26,7 @@ from ..ui.virtualbox_vm_configuration_page_ui import Ui_virtualBoxVMConfigPageWi
class virtualBoxVMConfigurationPage(QtGui.QWidget, Ui_virtualBoxVMConfigPageWidget):
+
"""
QWidget configuration page for VirtualBox VMs.
"""
@@ -43,7 +44,7 @@ class virtualBoxVMConfigurationPage(QtGui.QWidget, Ui_virtualBoxVMConfigPageWidg
"Intel PRO/1000 MT Server (82545EM)",
"Paravirtualized Network (virtio-net)"])
- #TODO: finish VM name change
+ # TODO: finish VM name change
self.uiVMListLabel.hide()
self.uiVMListComboBox.hide()
@@ -125,7 +126,6 @@ class virtualBoxVMConfigurationPage(QtGui.QWidget, Ui_virtualBoxVMConfigPageWidg
del settings["console"]
del settings["enable_remote_console"]
-
settings["adapter_type"] = self.uiAdapterTypesComboBox.currentText()
settings["headless"] = self.uiHeadlessModeCheckBox.isChecked()
diff --git a/gns3/modules/virtualbox/pages/virtualbox_vm_preferences_page.py b/gns3/modules/virtualbox/pages/virtualbox_vm_preferences_page.py
index d673c74a..2d2dbc9c 100644
--- a/gns3/modules/virtualbox/pages/virtualbox_vm_preferences_page.py
+++ b/gns3/modules/virtualbox/pages/virtualbox_vm_preferences_page.py
@@ -35,6 +35,7 @@ from ..dialogs.virtualbox_vm_wizard import VirtualBoxVMWizard
class VirtualBoxVMPreferencesPage(QtGui.QWidget, Ui_VirtualBoxVMPreferencesPageWidget):
+
"""
QWidget preference page for VirtualBox VM preferences.
"""
@@ -226,5 +227,5 @@ class VirtualBoxVMPreferencesPage(QtGui.QWidget, Ui_VirtualBoxVMPreferencesPageW
Saves the VirtualBox VM preferences.
"""
- #self._vboxVMSaveSlot()
+ # self._vboxVMSaveSlot()
VirtualBox.instance().setVirtualBoxVMs(self._virtualbox_vms)
diff --git a/gns3/modules/virtualbox/ui/virtualbox_preferences_page_ui.py b/gns3/modules/virtualbox/ui/virtualbox_preferences_page_ui.py
index 1bac3c45..bc2fdc3f 100644
--- a/gns3/modules/virtualbox/ui/virtualbox_preferences_page_ui.py
+++ b/gns3/modules/virtualbox/ui/virtualbox_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_VirtualBoxPreferencesPageWidget(object):
+
def setupUi(self, VirtualBoxPreferencesPageWidget):
VirtualBoxPreferencesPageWidget.setObjectName(_fromUtf8("VirtualBoxPreferencesPageWidget"))
VirtualBoxPreferencesPageWidget.resize(432, 508)
@@ -163,4 +166,3 @@ class Ui_VirtualBoxPreferencesPageWidget(object):
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiAdvancedSettingsTabWidget), _translate("VirtualBoxPreferencesPageWidget", "Advanced settings", None))
self.uiTestSettingsPushButton.setText(_translate("VirtualBoxPreferencesPageWidget", "Test settings", None))
self.uiRestoreDefaultsPushButton.setText(_translate("VirtualBoxPreferencesPageWidget", "Restore defaults", None))
-
diff --git a/gns3/modules/virtualbox/ui/virtualbox_vm_configuration_page_ui.py b/gns3/modules/virtualbox/ui/virtualbox_vm_configuration_page_ui.py
index 6e56331e..664f5d42 100644
--- a/gns3/modules/virtualbox/ui/virtualbox_vm_configuration_page_ui.py
+++ b/gns3/modules/virtualbox/ui/virtualbox_vm_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_virtualBoxVMConfigPageWidget(object):
+
def setupUi(self, virtualBoxVMConfigPageWidget):
virtualBoxVMConfigPageWidget.setObjectName(_fromUtf8("virtualBoxVMConfigPageWidget"))
virtualBoxVMConfigPageWidget.resize(509, 346)
@@ -127,4 +130,3 @@ class Ui_virtualBoxVMConfigPageWidget(object):
self.uiAdapterStartIndexLabel.setText(_translate("virtualBoxVMConfigPageWidget", "Start at:", None))
self.label.setText(_translate("virtualBoxVMConfigPageWidget", "Type:", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.tab_2), _translate("virtualBoxVMConfigPageWidget", "Network", None))
-
diff --git a/gns3/modules/virtualbox/ui/virtualbox_vm_preferences_page_ui.py b/gns3/modules/virtualbox/ui/virtualbox_vm_preferences_page_ui.py
index 2cb086f3..324ba1b9 100644
--- a/gns3/modules/virtualbox/ui/virtualbox_vm_preferences_page_ui.py
+++ b/gns3/modules/virtualbox/ui/virtualbox_vm_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_VirtualBoxVMPreferencesPageWidget(object):
+
def setupUi(self, VirtualBoxVMPreferencesPageWidget):
VirtualBoxVMPreferencesPageWidget.setObjectName(_fromUtf8("VirtualBoxVMPreferencesPageWidget"))
VirtualBoxVMPreferencesPageWidget.resize(694, 546)
@@ -78,4 +81,3 @@ class Ui_VirtualBoxVMPreferencesPageWidget(object):
self.uiDeleteVirtualBoxVMPushButton.setText(_translate("VirtualBoxVMPreferencesPageWidget", "Delete", None))
self.uiVirtualBoxVMInfoTreeWidget.headerItem().setText(0, _translate("VirtualBoxVMPreferencesPageWidget", "1", None))
self.uiVirtualBoxVMInfoTreeWidget.headerItem().setText(1, _translate("VirtualBoxVMPreferencesPageWidget", "2", None))
-
diff --git a/gns3/modules/virtualbox/ui/virtualbox_vm_wizard_ui.py b/gns3/modules/virtualbox/ui/virtualbox_vm_wizard_ui.py
index ffb356d1..711b2e7c 100644
--- a/gns3/modules/virtualbox/ui/virtualbox_vm_wizard_ui.py
+++ b/gns3/modules/virtualbox/ui/virtualbox_vm_wizard_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_VirtualBoxVMWizard(object):
+
def setupUi(self, VirtualBoxVMWizard):
VirtualBoxVMWizard.setObjectName(_fromUtf8("VirtualBoxVMWizard"))
VirtualBoxVMWizard.resize(514, 367)
@@ -105,4 +108,3 @@ class Ui_VirtualBoxVMWizard(object):
self.uiVirtualBoxWizardPage.setSubTitle(_translate("VirtualBoxVMWizard", "Please choose a VirtualBox virtual machine from the list.", None))
self.uiVMListLabel.setText(_translate("VirtualBoxVMWizard", "VM list:", None))
self.uiBaseVMCheckBox.setText(_translate("VirtualBoxVMWizard", "Use as a linked base VM (experimental)", None))
-
diff --git a/gns3/modules/virtualbox/virtualbox_vm.py b/gns3/modules/virtualbox/virtualbox_vm.py
index e81bab6c..a0d38e2b 100644
--- a/gns3/modules/virtualbox/virtualbox_vm.py
+++ b/gns3/modules/virtualbox/virtualbox_vm.py
@@ -29,6 +29,7 @@ log = logging.getLogger(__name__)
class VirtualBoxVM(Node):
+
"""
VirtualBox VM.
@@ -233,7 +234,7 @@ class VirtualBoxVM(Node):
if nb_adapters_changed:
log.debug("number of adapters has changed to {}".format(self._settings["adapters"]))
- #TODO: dynamically add/remove adapters
+ # TODO: dynamically add/remove adapters
self._ports.clear()
self._addAdapters(self._settings["adapters"])
diff --git a/gns3/modules/vpcs/__init__.py b/gns3/modules/vpcs/__init__.py
index 045bc4e6..ab694c4e 100644
--- a/gns3/modules/vpcs/__init__.py
+++ b/gns3/modules/vpcs/__init__.py
@@ -43,6 +43,7 @@ log = logging.getLogger(__name__)
class VPCS(Module):
+
"""
VPCS module.
"""
diff --git a/gns3/modules/vpcs/pages/vpcs_device_configuration_page.py b/gns3/modules/vpcs/pages/vpcs_device_configuration_page.py
index 941c9dd4..464b1b15 100644
--- a/gns3/modules/vpcs/pages/vpcs_device_configuration_page.py
+++ b/gns3/modules/vpcs/pages/vpcs_device_configuration_page.py
@@ -27,6 +27,7 @@ from ..ui.vpcs_device_configuration_page_ui import Ui_VPCSDeviceConfigPageWidget
class VPCSDeviceConfigurationPage(QtGui.QWidget, Ui_VPCSDeviceConfigPageWidget):
+
"""
QWidget configuration page for VPCS devices.
"""
@@ -35,7 +36,7 @@ class VPCSDeviceConfigurationPage(QtGui.QWidget, Ui_VPCSDeviceConfigPageWidget):
QtGui.QWidget.__init__(self)
self.setupUi(self)
- #self.uiScriptFileToolButton.clicked.connect(self._scriptFileBrowserSlot)
+ # self.uiScriptFileToolButton.clicked.connect(self._scriptFileBrowserSlot)
# def _scriptFileBrowserSlot(self):
# """
@@ -75,9 +76,9 @@ class VPCSDeviceConfigurationPage(QtGui.QWidget, Ui_VPCSDeviceConfigPageWidget):
self.uiNameLineEdit.hide()
self.uiConsolePortLabel.hide()
self.uiConsolePortSpinBox.hide()
- #self.uiScriptFileLabel.hide()
- #self.uiScriptFileLineEdit.hide()
- #self.uiScriptFileToolButton.hide()
+ # self.uiScriptFileLabel.hide()
+ # self.uiScriptFileLineEdit.hide()
+ # self.uiScriptFileToolButton.hide()
def saveSettings(self, settings, node, group=False):
"""
@@ -101,8 +102,8 @@ class VPCSDeviceConfigurationPage(QtGui.QWidget, Ui_VPCSDeviceConfigPageWidget):
settings["console"] = self.uiConsolePortSpinBox.value()
- #script_file = self.uiScriptFileLineEdit.text()
- #if script_file != settings["script_file"]:
+ # script_file = self.uiScriptFileLineEdit.text()
+ # if script_file != settings["script_file"]:
# if os.access(script_file, os.R_OK):
# settings["script_file"] = script_file
# else:
diff --git a/gns3/modules/vpcs/pages/vpcs_preferences_page.py b/gns3/modules/vpcs/pages/vpcs_preferences_page.py
index 21d86394..c5fde3d7 100644
--- a/gns3/modules/vpcs/pages/vpcs_preferences_page.py
+++ b/gns3/modules/vpcs/pages/vpcs_preferences_page.py
@@ -31,6 +31,7 @@ from ..settings import VPCS_SETTINGS
class VPCSPreferencesPage(QtGui.QWidget, Ui_VPCSPreferencesPageWidget):
+
"""
QWidget preference page for VPCS
"""
@@ -47,7 +48,7 @@ class VPCSPreferencesPage(QtGui.QWidget, Ui_VPCSPreferencesPageWidget):
self.uiVPCSPathToolButton.clicked.connect(self._vpcsPathBrowserSlot)
self.uiScriptFileToolButton.clicked.connect(self._scriptFileBrowserSlot)
- #FIXME: temporally hide test button
+ # FIXME: temporally hide test button
self.uiTestSettingsPushButton.hide()
def _vpcsPathBrowserSlot(self):
diff --git a/gns3/modules/vpcs/ui/vpcs_device_configuration_page_ui.py b/gns3/modules/vpcs/ui/vpcs_device_configuration_page_ui.py
index 5caceba2..9882f9ce 100644
--- a/gns3/modules/vpcs/ui/vpcs_device_configuration_page_ui.py
+++ b/gns3/modules/vpcs/ui/vpcs_device_configuration_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_VPCSDeviceConfigPageWidget(object):
+
def setupUi(self, VPCSDeviceConfigPageWidget):
VPCSDeviceConfigPageWidget.setObjectName(_fromUtf8("VPCSDeviceConfigPageWidget"))
VPCSDeviceConfigPageWidget.resize(411, 252)
@@ -52,4 +55,3 @@ class Ui_VPCSDeviceConfigPageWidget(object):
VPCSDeviceConfigPageWidget.setWindowTitle(_translate("VPCSDeviceConfigPageWidget", "VPCS device configuration", None))
self.uiNameLabel.setText(_translate("VPCSDeviceConfigPageWidget", "Name:", None))
self.uiConsolePortLabel.setText(_translate("VPCSDeviceConfigPageWidget", "Console port:", None))
-
diff --git a/gns3/modules/vpcs/ui/vpcs_preferences_page_ui.py b/gns3/modules/vpcs/ui/vpcs_preferences_page_ui.py
index 644302f2..eee4d915 100644
--- a/gns3/modules/vpcs/ui/vpcs_preferences_page_ui.py
+++ b/gns3/modules/vpcs/ui/vpcs_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_VPCSPreferencesPageWidget(object):
+
def setupUi(self, VPCSPreferencesPageWidget):
VPCSPreferencesPageWidget.setObjectName(_fromUtf8("VPCSPreferencesPageWidget"))
VPCSPreferencesPageWidget.resize(430, 545)
@@ -171,4 +174,3 @@ class Ui_VPCSPreferencesPageWidget(object):
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiAdvancedSettingsTabWidget), _translate("VPCSPreferencesPageWidget", "Advanced settings", None))
self.uiTestSettingsPushButton.setText(_translate("VPCSPreferencesPageWidget", "Test settings", None))
self.uiRestoreDefaultsPushButton.setText(_translate("VPCSPreferencesPageWidget", "Restore defaults", None))
-
diff --git a/gns3/modules/vpcs/vpcs_device.py b/gns3/modules/vpcs/vpcs_device.py
index c3e9f488..88d0aeae 100644
--- a/gns3/modules/vpcs/vpcs_device.py
+++ b/gns3/modules/vpcs/vpcs_device.py
@@ -31,6 +31,7 @@ log = logging.getLogger(__name__)
class VPCSDevice(Node):
+
"""
VPCS device.
@@ -89,10 +90,9 @@ class VPCSDevice(Node):
# other initial settings will be applied when the router has been created
# TODO: COMMENTED during REST api migration
- #if initial_settings:
+ # if initial_settings:
# self._inital_settings = initial_settings
-
params["project_uuid"] = self._project.uuid
self._server.post("/vpcs", params, self._setupCallback)
@@ -109,7 +109,7 @@ class VPCSDevice(Node):
self.server_error_signal.emit(self.id(), result["code"], result["message"])
return
- # TODO: Manage id / uuid conversion
+ # TODO: Manage id / uuid conversion
self._vpcs_id = result["uuid"]
if not self._vpcs_id:
self.error_signal.emit(self.id(), "returned ID from server is null")
@@ -198,7 +198,7 @@ class VPCSDevice(Node):
params[name] = value
if "script_file" in new_settings and self._settings["script_file"] != new_settings["script_file"] \
- and not self.server().isLocal() and os.path.isfile(new_settings["script_file"]):
+ and not self.server().isLocal() and os.path.isfile(new_settings["script_file"]):
params["script_file_base64"] = self._base64Config(new_settings["script_file"])
log.debug("{} is updating settings: {}".format(self.name(), params))
@@ -357,7 +357,7 @@ class VPCSDevice(Node):
params = self.getNIOInfo(nio)
log.debug("{} is adding an {}: {}".format(self.name(), nio, params))
- self._server.post("/vpcs/{uuid}/ports/0/nio".format(uuid=self._vpcs_id), params, (lambda *args, **kwargs: self._addNIOCallback(port.id(), *args, **kwargs)))
+ self._server.post("/vpcs/{uuid}/ports/0/nio".format(uuid=self._vpcs_id), params, (lambda *args, **kwargs: self._addNIOCallback(port.id(), *args, **kwargs)))
def _addNIOCallback(self, port_id, result, error=False):
"""
@@ -459,7 +459,7 @@ class VPCSDevice(Node):
for port in self._ports:
ports.append(port.dump())
- #TODO: handle the image path
+ # TODO: handle the image path
# vpcs_device["properties"]["image"]
return vpcs_device
diff --git a/gns3/news_dock_widget.py b/gns3/news_dock_widget.py
index 81fbfe2e..5f20b0ff 100644
--- a/gns3/news_dock_widget.py
+++ b/gns3/news_dock_widget.py
@@ -27,6 +27,7 @@ log = logging.getLogger(__name__)
class NewsDockWidget(QtGui.QDockWidget, Ui_NewsDockWidget):
+
"""
:param parent: parent widget
"""
diff --git a/gns3/nios/nio_generic_ethernet.py b/gns3/nios/nio_generic_ethernet.py
index 76f4d491..9907a3de 100644
--- a/gns3/nios/nio_generic_ethernet.py
+++ b/gns3/nios/nio_generic_ethernet.py
@@ -23,6 +23,7 @@ from .nio import NIO
class NIOGenericEthernet(NIO):
+
"""
Generic Ethernet NIO.
diff --git a/gns3/nios/nio_linux_ethernet.py b/gns3/nios/nio_linux_ethernet.py
index 448f9144..ad0ced1a 100644
--- a/gns3/nios/nio_linux_ethernet.py
+++ b/gns3/nios/nio_linux_ethernet.py
@@ -23,6 +23,7 @@ from .nio import NIO
class NIOLinuxEthernet(NIO):
+
"""
Linux Ethernet NIO.
diff --git a/gns3/nios/nio_null.py b/gns3/nios/nio_null.py
index 1bd33cbd..4a7c4eea 100644
--- a/gns3/nios/nio_null.py
+++ b/gns3/nios/nio_null.py
@@ -23,6 +23,7 @@ from .nio import NIO
class NIONull(NIO):
+
"""
NULL NIO.
"""
diff --git a/gns3/nios/nio_tap.py b/gns3/nios/nio_tap.py
index e5370c67..37872cde 100644
--- a/gns3/nios/nio_tap.py
+++ b/gns3/nios/nio_tap.py
@@ -23,6 +23,7 @@ from .nio import NIO
class NIOTAP(NIO):
+
"""
TAP NIO.
diff --git a/gns3/nios/nio_udp.py b/gns3/nios/nio_udp.py
index 5a1b919b..2980cbf0 100644
--- a/gns3/nios/nio_udp.py
+++ b/gns3/nios/nio_udp.py
@@ -23,6 +23,7 @@ from .nio import NIO
class NIOUDP(NIO):
+
"""
NIO UDP.
diff --git a/gns3/nios/nio_unix.py b/gns3/nios/nio_unix.py
index 596e7b51..cd2fd749 100644
--- a/gns3/nios/nio_unix.py
+++ b/gns3/nios/nio_unix.py
@@ -23,6 +23,7 @@ from .nio import NIO
class NIOUNIX(NIO):
+
"""
UNIX NIO.
diff --git a/gns3/nios/nio_vde.py b/gns3/nios/nio_vde.py
index 4c3df1e0..92059702 100644
--- a/gns3/nios/nio_vde.py
+++ b/gns3/nios/nio_vde.py
@@ -23,6 +23,7 @@ from .nio import NIO
class NIOVDE(NIO):
+
"""
VDE NIO.
diff --git a/gns3/node.py b/gns3/node.py
index c19782a6..779cfa38 100644
--- a/gns3/node.py
+++ b/gns3/node.py
@@ -26,6 +26,7 @@ log = logging.getLogger(__name__)
class Node(QtCore.QObject):
+
"""
Node implementation.
diff --git a/gns3/nodes_view.py b/gns3/nodes_view.py
index 5524d525..d0e6c22d 100644
--- a/gns3/nodes_view.py
+++ b/gns3/nodes_view.py
@@ -25,6 +25,7 @@ from .modules import MODULES
class NodesView(QtGui.QTreeWidget):
+
"""
Nodes view to list the nodes.
@@ -76,7 +77,7 @@ class NodesView(QtGui.QTreeWidget):
"""
# check the left button isn't used and that an item has been selected.
- if event.buttons() != QtCore.Qt.LeftButton or self.currentItem() == None:
+ if event.buttons() != QtCore.Qt.LeftButton or self.currentItem() is None:
return
item = self.currentItem()
diff --git a/gns3/pages/cloud_preferences_page.py b/gns3/pages/cloud_preferences_page.py
index 0d147618..da1cc244 100644
--- a/gns3/pages/cloud_preferences_page.py
+++ b/gns3/pages/cloud_preferences_page.py
@@ -7,9 +7,11 @@ from ..qt import QtCore, QtGui
class CloudPreferencesPage(QtGui.QWidget, Ui_CloudPreferencesPageWidget):
+
"""
QWidget configuration page for cloud preferences.
"""
+
def __init__(self):
QtGui.QWidget.__init__(self)
diff --git a/gns3/pages/general_preferences_page.py b/gns3/pages/general_preferences_page.py
index 7bb60a03..680631ad 100644
--- a/gns3/pages/general_preferences_page.py
+++ b/gns3/pages/general_preferences_page.py
@@ -27,6 +27,7 @@ from ..settings import GRAPHICS_VIEW_SETTINGS, GENERAL_SETTINGS, PRECONFIGURED_T
class GeneralPreferencesPage(QtGui.QWidget, Ui_GeneralPreferencesPageWidget):
+
"""
QWidget configuration page for general preferences.
"""
@@ -142,8 +143,8 @@ class GeneralPreferencesPage(QtGui.QWidget, Ui_GeneralPreferencesPageWidget):
QtGui.QMessageBox.information(self, "Configuration file", "Configuration file imported, default settings will be applied after a restart")
- #TODO: implement restart
- #QtCore.QProcess.startDetached(QtGui.QApplication.arguments()[0], QtGui.QApplication.arguments())
+ # TODO: implement restart
+ # QtCore.QProcess.startDetached(QtGui.QApplication.arguments()[0], QtGui.QApplication.arguments())
QtGui.QApplication.quit()
def _exportConfigurationFileSlot(self):
@@ -174,7 +175,6 @@ class GeneralPreferencesPage(QtGui.QWidget, Ui_GeneralPreferencesPageWidget):
if ok:
self.uiDefaultLabelStylePlainTextEdit.setFont(selected_font)
-
def _setDefaultLabelColorSlot(self):
"""
Slot to select the default label color.
diff --git a/gns3/pages/packet_capture_preferences_page.py b/gns3/pages/packet_capture_preferences_page.py
index 1d2bbadf..3fef4d5b 100644
--- a/gns3/pages/packet_capture_preferences_page.py
+++ b/gns3/pages/packet_capture_preferences_page.py
@@ -29,6 +29,7 @@ from ..ports.port import Port
class PacketCapturePreferencesPage(QtGui.QWidget, Ui_PacketCapturePreferencesPageWidget):
+
"""
QWidget configuration page for packet capture preferences.
"""
diff --git a/gns3/pages/server_preferences_page.py b/gns3/pages/server_preferences_page.py
index 64b59846..55553d6c 100644
--- a/gns3/pages/server_preferences_page.py
+++ b/gns3/pages/server_preferences_page.py
@@ -34,6 +34,7 @@ from ..settings import DEFAULT_LOCAL_SERVER_PORT
class ServerPreferencesPage(QtGui.QWidget, Ui_ServerPreferencesPageWidget):
+
"""
QWidget configuration page for server preferences.
"""
@@ -53,14 +54,14 @@ class ServerPreferencesPage(QtGui.QWidget, Ui_ServerPreferencesPageWidget):
self.uiTestSettingsPushButton.clicked.connect(self._testSettingsSlot)
self.uiRestoreDefaultsPushButton.clicked.connect(self._restoreDefaultsSlot)
- #FIXME: temporally hide test button
+ # FIXME: temporally hide test button
self.uiTestSettingsPushButton.hide()
# load all available addresses
for address in QtNetwork.QNetworkInterface.allAddresses():
address_string = address.toString()
if address.protocol() == QtNetwork.QAbstractSocket.IPv6Protocol:
- continue #FIXME: finish IPv6 support (problem with ws4py)
+ continue # FIXME: finish IPv6 support (problem with ws4py)
# we do not want the scope id when using an IPv6 address...
address.setScopeId("")
self.uiLocalServerHostComboBox.addItem(address_string, address.toString())
@@ -217,9 +218,9 @@ class ServerPreferencesPage(QtGui.QWidget, Ui_ServerPreferencesPageWidget):
else:
server = servers.localServer()
if servers.localServerPath() != local_server_path or \
- server.host != local_server_host or \
- server.port != local_server_port or \
- servers.localServerAllowConsoleFromAnywhere() != local_server_allow_console_from_anywhere:
+ server.host != local_server_host or \
+ server.port != local_server_port or \
+ servers.localServerAllowConsoleFromAnywhere() != local_server_allow_console_from_anywhere:
# first check if we have nodes on the local server
local_nodes = []
@@ -243,7 +244,7 @@ class ServerPreferencesPage(QtGui.QWidget, Ui_ServerPreferencesPageWidget):
if server.connected() and not sys.platform.startswith('win'):
server.close_connection()
servers.stopLocalServer(wait=True)
- #TODO: ASK if the user wants to start local server
+ # TODO: ASK if the user wants to start local server
if servers.startLocalServer(local_server_path, local_server_host, local_server_port):
self._thread = WaitForConnectionThread(local_server_host, local_server_port)
dialog = ProgressDialog(self._thread, "Local server", "Connecting...", "Cancel", busy=True, parent=self)
diff --git a/gns3/ports/atm_port.py b/gns3/ports/atm_port.py
index d9f50fd1..fee627f8 100644
--- a/gns3/ports/atm_port.py
+++ b/gns3/ports/atm_port.py
@@ -23,6 +23,7 @@ from .port import Port
class ATMPort(Port):
+
"""
ATM port.
diff --git a/gns3/ports/ethernet_port.py b/gns3/ports/ethernet_port.py
index b2d94544..534672fd 100644
--- a/gns3/ports/ethernet_port.py
+++ b/gns3/ports/ethernet_port.py
@@ -24,6 +24,7 @@ from .port import Port
class EthernetPort(Port):
+
"""
Ethernet port.
diff --git a/gns3/ports/fastethernet_port.py b/gns3/ports/fastethernet_port.py
index 82a40baf..8edafce7 100644
--- a/gns3/ports/fastethernet_port.py
+++ b/gns3/ports/fastethernet_port.py
@@ -23,6 +23,7 @@ from .port import Port
class FastEthernetPort(Port):
+
"""
FastEthernet port.
diff --git a/gns3/ports/frame_relay_port.py b/gns3/ports/frame_relay_port.py
index a7619f0e..9d142459 100644
--- a/gns3/ports/frame_relay_port.py
+++ b/gns3/ports/frame_relay_port.py
@@ -23,6 +23,7 @@ from .serial_port import SerialPort
class FrameRelayPort(SerialPort):
+
"""
Frame port.
diff --git a/gns3/ports/gigabitethernet_port.py b/gns3/ports/gigabitethernet_port.py
index 7480398f..7076f2d8 100644
--- a/gns3/ports/gigabitethernet_port.py
+++ b/gns3/ports/gigabitethernet_port.py
@@ -23,6 +23,7 @@ from .port import Port
class GigabitEthernetPort(Port):
+
"""
GigabitEthernet port.
diff --git a/gns3/ports/port.py b/gns3/ports/port.py
index be115779..63a28959 100644
--- a/gns3/ports/port.py
+++ b/gns3/ports/port.py
@@ -34,6 +34,7 @@ from ..settings import PACKET_CAPTURE_SETTINGS, PACKET_CAPTURE_SETTING_TYPES
class Port(object):
+
"""
Base port.
@@ -300,7 +301,7 @@ class Port(object):
return "<-> {port} {name}".format(port=self._destination_port.shortName(),
name=self._destination_node.name())
return "connected to {name} on port {port}".format(name=self._destination_node.name(),
- port=self._destination_port.name())
+ port=self._destination_port.name())
return ""
def setFree(self):
diff --git a/gns3/ports/pos_port.py b/gns3/ports/pos_port.py
index 55217b09..f8ebfa48 100644
--- a/gns3/ports/pos_port.py
+++ b/gns3/ports/pos_port.py
@@ -23,6 +23,7 @@ from .port import Port
class POSPort(Port):
+
"""
Packet over SONET port.
diff --git a/gns3/ports/serial_port.py b/gns3/ports/serial_port.py
index 626e56fb..38ccff86 100644
--- a/gns3/ports/serial_port.py
+++ b/gns3/ports/serial_port.py
@@ -23,6 +23,7 @@ from .port import Port
class SerialPort(Port):
+
"""
Serial port.
diff --git a/gns3/project.py b/gns3/project.py
index 6936d35b..48b421e2 100644
--- a/gns3/project.py
+++ b/gns3/project.py
@@ -22,6 +22,7 @@ log = logging.getLogger(__name__)
class Project:
+
"""Current project"""
def __init__(self):
@@ -88,4 +89,3 @@ class Project:
self._uuid = params["uuid"]
log.info("Project {} created".format(self._uuid))
# TODO: call all server when we got uuid
-
diff --git a/gns3/pycutext.py b/gns3/pycutext.py
index e19036b4..48f8fc06 100644
--- a/gns3/pycutext.py
+++ b/gns3/pycutext.py
@@ -22,10 +22,10 @@ It is inspired by PyCute : http://gerard.vermeulen.free.fr
import sys
from .qt import QtCore, QtGui
-#from code import InteractiveInterpreter as Interpreter
+# from code import InteractiveInterpreter as Interpreter
-#===============================================================================
+# ===============================================================================
# class MultipleRedirection:
# """ Dummy file which redirects stream to multiple file """
#
@@ -39,9 +39,10 @@ from .qt import QtCore, QtGui
#
# for f in self.files:
# f.write(str)
-#===============================================================================
+# ===============================================================================
class PyCutExt(QtGui.QTextEdit):
+
"""
PyCute is a Python shell for PyQt.
@@ -68,7 +69,7 @@ class PyCutExt(QtGui.QTextEdit):
# capture all interactive input/output
sys.stdout = self
- #sys.stderr = MultipleRedirection((sys.stderr, self))
+ # sys.stderr = MultipleRedirection((sys.stderr, self))
sys.stdin = self
# last line + last incomplete lines
@@ -357,6 +358,7 @@ class PyCutExt(QtGui.QTextEdit):
class SyntaxColor(object):
+
"""
Allows to color python keywords.
"""
diff --git a/gns3/serial_console.py b/gns3/serial_console.py
index 0cc837b8..40f82e33 100644
--- a/gns3/serial_console.py
+++ b/gns3/serial_console.py
@@ -31,7 +31,7 @@ import logging
log = logging.getLogger(__name__)
-#TODO: support more than just Vbox (Qemu maybe?)
+# TODO: support more than just Vbox (Qemu maybe?)
def serialConsole(vmname):
"""
:param vmname: Virtual machine name.
diff --git a/gns3/servers.py b/gns3/servers.py
index 1acb0eec..ce219735 100644
--- a/gns3/servers.py
+++ b/gns3/servers.py
@@ -36,6 +36,7 @@ log = logging.getLogger(__name__)
class Servers(QtCore.QObject):
+
"""
Server management class.
"""
@@ -68,11 +69,11 @@ class Servers(QtCore.QObject):
# set the local server
default_local_server_host = DEFAULT_LOCAL_SERVER_HOST
- #try:
+ # try:
# address = socket.gethostbyname(socket.gethostname())
# if not address.startswith("127") and address != "::1":
# default_local_server_host = address
- #except OSError as e:
+ # except OSError as e:
# log.warn("could not determine a default local server address other than 127.0.0.1: {}".format(e))
local_server_host = settings.value("local_server_host", default_local_server_host)
local_server_port = settings.value("local_server_port", DEFAULT_LOCAL_SERVER_PORT, type=int)
@@ -199,7 +200,7 @@ class Servers(QtCore.QObject):
def stopLocalServer(self, wait=False):
- #if self._local_server and self._local_server.connected() and not sys.platform.startswith('win'):
+ # if self._local_server and self._local_server.connected() and not sys.platform.startswith('win'):
# # only gracefully disconnect if we are not on Windows
# self._local_server.close_connection()
if self._local_server_proccess and self._local_server_proccess.poll() is None:
@@ -288,7 +289,7 @@ class Servers(QtCore.QObject):
"""
for server_id, server in self._remote_servers.copy().items():
- if not server_id in servers:
+ if server_id not in servers:
if server.connected():
server.close()
log.info("remote server connection {} unregistered".format(server.url))
diff --git a/gns3/telnet_console.py b/gns3/telnet_console.py
index 495ef391..13a24f5d 100644
--- a/gns3/telnet_console.py
+++ b/gns3/telnet_console.py
@@ -57,7 +57,7 @@ class ConsoleThread(QtCore.QThread):
self.exec_command()
except (OSError, subprocess.SubprocessError) as e:
pass
- #log.warning('could not start Telnet console "{}": {}'.format(self._command, e))
+ # log.warning('could not start Telnet console "{}": {}'.format(self._command, e))
finally:
# emit signal upon completion
self.consoleDone.emit(self._name, self._host, self._port)
diff --git a/gns3/topology.py b/gns3/topology.py
index 11707ead..42e913f3 100644
--- a/gns3/topology.py
+++ b/gns3/topology.py
@@ -71,7 +71,9 @@ class TopologyInstance:
self.ssl_ca = ssl_ca
self.ssl_ca_file = ssl_ca_file
+
class Topology(object):
+
"""
Topology.
"""
@@ -97,7 +99,7 @@ class Topology(object):
:param node: Node instance
"""
- #self._topology.add_node(node)
+ # self._topology.add_node(node)
self._nodes.append(node)
def removeNode(self, node):
@@ -129,7 +131,7 @@ class Topology(object):
:param link: Link instance
"""
- #self._topology.add_node(node)
+ # self._topology.add_node(node)
self._links.append(link)
def removeLink(self, link):
@@ -332,7 +334,7 @@ class Topology(object):
Resets this topology.
"""
- #self._topology.clear()
+ # self._topology.clear()
self._links.clear()
self._nodes.clear()
self._notes.clear()
diff --git a/gns3/topology_summary_view.py b/gns3/topology_summary_view.py
index 1238730b..ca8e16be 100644
--- a/gns3/topology_summary_view.py
+++ b/gns3/topology_summary_view.py
@@ -30,6 +30,7 @@ log = logging.getLogger(__name__)
class TopologyNodeItem(QtGui.QTreeWidgetItem):
+
"""
Custom item for the QTreeWidget instance
(topology summary view).
@@ -125,6 +126,7 @@ class TopologyNodeItem(QtGui.QTreeWidgetItem):
class TopologySummaryView(QtGui.QTreeWidget):
+
"""
Topology summary view implementation.
@@ -241,7 +243,7 @@ class TopologySummaryView(QtGui.QTreeWidget):
menu.addAction(devices_with_capture)
else:
show_all_devices = QtGui.QAction("Show all devices", menu)
- #show_all_devices.setIcon(QtGui.QIcon(":/icons/inspect.svg"))
+ # show_all_devices.setIcon(QtGui.QIcon(":/icons/inspect.svg"))
self.connect(show_all_devices, QtCore.SIGNAL('triggered()'), self._showAllDevicesSlot)
menu.addAction(show_all_devices)
diff --git a/gns3/tunnel/endpoint.py b/gns3/tunnel/endpoint.py
index 093cd064..9ac1d8a4 100644
--- a/gns3/tunnel/endpoint.py
+++ b/gns3/tunnel/endpoint.py
@@ -27,9 +27,11 @@ if enable_debug:
log.addHandler(log_console)
log.debug("DEBUG IS ENABLED")
+
class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
allow_reuse_address = True
+
class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
def handle(self):
@@ -41,17 +43,17 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
log.critical('Incoming request to %s:%s failed: %s' % (
self.remote_address,
repr(e)
- )
+ )
)
return
if chan is None:
log.critical('Incoming request to %s:%s was rejected by the SSH server.' %
- (self.remote_address))
+ (self.remote_address))
return
log.debug('Connected! Tunnel open %r -> %r -> %r' % (self.request.getpeername(),
- chan.getpeername(), self.remote_address))
+ chan.getpeername(), self.remote_address))
while True:
r, w, x = select.select([self.request, chan], [], [])
@@ -73,6 +75,7 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
class Endpoint(object):
+
def __init__(self, local_address, remote_address, transport):
"""
Store local and remote tunnel address information in the format:
@@ -86,7 +89,7 @@ class Endpoint(object):
self.server = None
def get(self):
- return ( self.local_address, self.remote_address )
+ return (self.local_address, self.remote_address)
def log_msg(self, msg):
if self.thread:
@@ -94,15 +97,14 @@ class Endpoint(object):
else:
thread_name = "Creating ID"
- log.info("%s: local %s:%s for remote %s:%s - %s" %(
- thread_name,
- self.local_address[0],
- self.local_address[1],
- self.remote_address[0],
- self.remote_address[1],
- msg,
- ))
-
+ log.info("%s: local %s:%s for remote %s:%s - %s" % (
+ thread_name,
+ self.local_address[0],
+ self.local_address[1],
+ self.remote_address[0],
+ self.remote_address[1],
+ msg,
+ ))
def _enable(self, local_address, remote_address, ssh_transport):
# https://github.com/paramiko/paramiko/blob/master/demos/forward.py
@@ -139,4 +141,4 @@ class Endpoint(object):
self.log_msg("Stopping server thread")
self.server.shutdown()
else:
- self.log_msg("No server thread running to stop")
\ No newline at end of file
+ self.log_msg("No server thread running to stop")
diff --git a/gns3/tunnel/example.py b/gns3/tunnel/example.py
index 920a0ee5..3b1679f5 100644
--- a/gns3/tunnel/example.py
+++ b/gns3/tunnel/example.py
@@ -14,6 +14,7 @@ the SSH server. This is similar to the openssh -L option.
SSH_PORT = 22
+
def get_host_port(spec, default_port):
"parse 'hostname:22' into a host and port, with the port optional"
args = (spec.split(':', 1) + [default_port])[:2]
@@ -55,8 +56,8 @@ def main():
t = tunnel.Tunnel(server[0], server[1], username=options.user, client_key=my_key)
print("Adding defaults ...")
- t1 = t.add_endpoint('127.0.0.1',25)
- t2 = t.add_endpoint('127.0.0.1',80)
+ t1 = t.add_endpoint('127.0.0.1', 25)
+ t2 = t.add_endpoint('127.0.0.1', 80)
print("Adding command line destination")
t3 = t.add_endpoint(remote[0], remote[1])
@@ -68,4 +69,4 @@ def main():
t.disconnect()
if __name__ == '__main__':
- main()
\ No newline at end of file
+ main()
diff --git a/gns3/tunnel/example2.py b/gns3/tunnel/example2.py
index 5b074ec3..05b6e1b8 100644
--- a/gns3/tunnel/example2.py
+++ b/gns3/tunnel/example2.py
@@ -14,10 +14,10 @@ username = getpass.getuser()
t = tunnel.Tunnel('192.168.1.3', 22, username=username, client_key=my_key)
-t1 = t.add_endpoint('127.0.0.1',25)
-t2 = t.add_endpoint('127.0.0.1',80)
-t3 = t.add_endpoint('127.0.0.1',8080)
-t4 = t.add_endpoint('192.168.3.2',80)
+t1 = t.add_endpoint('127.0.0.1', 25)
+t2 = t.add_endpoint('127.0.0.1', 80)
+t3 = t.add_endpoint('127.0.0.1', 8080)
+t4 = t.add_endpoint('192.168.3.2', 80)
t.remove_endpoint(t3)
diff --git a/gns3/tunnel/tunnel.py b/gns3/tunnel/tunnel.py
index ea484226..c9e44e0b 100644
--- a/gns3/tunnel/tunnel.py
+++ b/gns3/tunnel/tunnel.py
@@ -29,6 +29,7 @@ if enable_debug:
log.addHandler(log_console)
log.debug("DEBUG IS ENABLED")
+
class Tunnel(object):
def __init__(self, hostname, port, username=None, password=None, client_key=None, server_key=None):
@@ -41,7 +42,7 @@ class Tunnel(object):
"""
self.server = (hostname, int(port))
- self.auth_data={}
+ self.auth_data = {}
self.auth_data['username'] = username
self.auth_data['password'] = password
@@ -64,7 +65,7 @@ class Tunnel(object):
Makes the SSH connection to the remote server
"""
- log.info("Connecting to server: %s:%s" %(self.server))
+ log.info("Connecting to server: %s:%s" % (self.server))
self.transport.connect(**self.auth_data)
self.is_connected()
@@ -93,21 +94,20 @@ class Tunnel(object):
Verifies the SSH connection is up and authenticated
"""
- if self.transport.is_active() == False:
- log.critical("Connection is down: %s" %(self.server[0]))
+ if self.transport.is_active() is False:
+ log.critical("Connection is down: %s" % (self.server[0]))
self.connected = False
return self.connected
- if self.transport.is_authenticated() == False:
- log.critical("Authentication failed: %s" %(self.server[0]))
+ if self.transport.is_authenticated() is False:
+ log.critical("Authentication failed: %s" % (self.server[0]))
self.connected = False
else:
- log.info("Connection is up: %s" %(self.server[0]))
+ log.info("Connection is up: %s" % (self.server[0]))
self.connected = True
return self.connected
-
def disconnect(self):
for name, end_point in self.end_points.items():
self.remove_endpoint(name)
@@ -132,4 +132,4 @@ class Tunnel(object):
for name, end_point in self.end_points.items():
remotes[name] = end_point.get()
- return remotes
\ No newline at end of file
+ return remotes
diff --git a/gns3/ui/about_dialog_ui.py b/gns3/ui/about_dialog_ui.py
index adc58ddb..e197d41d 100644
--- a/gns3/ui/about_dialog_ui.py
+++ b/gns3/ui/about_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_AboutDialog(object):
+
def setupUi(self, AboutDialog):
AboutDialog.setObjectName(_fromUtf8("AboutDialog"))
AboutDialog.setWindowModality(QtCore.Qt.WindowModal)
@@ -96,4241 +99,4241 @@ class Ui_AboutDialog(object):
def retranslateUi(self, AboutDialog):
AboutDialog.setWindowTitle(_translate("AboutDialog", "About", None))
self.uiAboutTextLabel.setText(_translate("AboutDialog", "\n"
-"
\n"
-"
\n"
-"GNS3 %VERSION%
\n"
-"Under GPL v3 license
\n"
-"
", None))
+ "\n"
+ "
\n"
+ "GNS3 %VERSION%
\n"
+ "Under GPL v3 license
\n"
+ "
", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("AboutDialog", "&About", None))
self.uiTeamTextEdit.setHtml(_translate("AboutDialog", "\n"
-"\n"
-"Developers
\n"
-"
\n"
-"Jeremy Grossmann
\n"
-"Julien Duponchelle
\n"
-"
\n"
-"Contributors
\n"
-"
\n"
-"James E. Carpenter (IOU support)
\n"
-"Daniel Lintott (NET file import)
\n"
-"Marc Weisel (Mac OS X packaging)
\n"
-"Alexey Eromenko (VirtualBox support)
\n"
-"
\n"
-"Contractors
\n"
-"
\n"
-"Plan C Technologies
\n"
-"
", None))
+ "\n"
+ "Developers
\n"
+ "
\n"
+ "Jeremy Grossmann
\n"
+ "Julien Duponchelle
\n"
+ "
\n"
+ "Contributors
\n"
+ "
\n"
+ "James E. Carpenter (IOU support)
\n"
+ "Daniel Lintott (NET file import)
\n"
+ "Marc Weisel (Mac OS X packaging)
\n"
+ "Alexey Eromenko (VirtualBox support)
\n"
+ "
\n"
+ "Contractors
\n"
+ "
\n"
+ "Plan C Technologies
\n"
+ "
", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("AboutDialog", "&Team", None))
self.uiThanksPlainTextEdit.setPlainText(_translate("AboutDialog", "James Borden\n"
-"Tenzin Rigdol Oshoe\n"
-"Brian Jacobson\n"
-"Chad Hoevenaars\n"
-"Jesus Espinoza\n"
-"Des Kharisma Tarigan\n"
-"David Bigerstaff\n"
-"Christopher Good\n"
-"Brian Farmer\n"
-"Jimmy Bruneel\n"
-"Rob Edwards\n"
-"BEGQTh34\n"
-"Nebulis01\n"
-"The JWag (James Wagner)\n"
-"JONATHAN BALEVA VIRAY\n"
-"Jamie Hoyt\n"
-"Jake Guffey\n"
-"Enis Byci\n"
-"Avery Wright\n"
-"Maxim Klimanov\n"
-"Salomon ADJOVI\n"
-"Keith McCulloch\n"
-"Guillermoi A Pierluissi\n"
-"MiraliN\n"
-"ALexandr Ismagilov\n"
-"mistabatu\n"
-"AFIF JABADO\n"
-"Allen Hadder \n"
-"Jonathan M. Olivier\n"
-"Muhammad Adeel Malik\n"
-"PhatWheZ\n"
-"Christopher D Perrett\n"
-"James Clifford\n"
-"David Henderson\n"
-"Andrea Florio\n"
-"Michael Eva\n"
-"Abdul Wahid\n"
-"SebastianHelmer\n"
-"Eric Maxwell\n"
-"Bradly Leiws\n"
-"Pavel Afanasjev\n"
-"Jan Jessen\n"
-"Brandon Raikes\n"
-"Geron\n"
-"Joel-Brook-Leeds-yay!\n"
-"Robert Novak\n"
-"Barry Weiss\n"
-"Sami Alsubhi\n"
-"Packetboss\n"
-"Ionut Vasile\n"
-"Nick Yeager\n"
-"Pioneer Network Solutions, LLC.\n"
-"Randy Timmermans\n"
-"Pablo Lucena\n"
-"Michal Dulovic\n"
-"Ramon Pinyol\n"
-"Roberto Taccon\n"
-"Andras Dosztal\n"
-"Matthieu Dalcourt\n"
-"Matt Dominey\n"
-"Wanderson Cristony Tinti\n"
-"Alexandre Maia Vlahos\n"
-"DarronDazlinSmith\n"
-"JOHN BAPTIST OBILIL\n"
-"Jimmy Copeland\n"
-"Roy Benoy\n"
-"Henrik Kruse Larsen\n"
-"cpt2040\n"
-"Martin Varga\n"
-"Jonathan Gonzalez\n"
-"Luke Withers\n"
-"Mahir Ali Ahmed\n"
-"Dean Ryan Perrine\n"
-"Robert F. Dias Jr\n"
-"Ashenafi\n"
-"Justin L. Spencer\n"
-"Carlo Gagliardi\n"
-"Sean Barmettler\n"
-"focaccio\n"
-"rhein021\n"
-"Frederick Poirier\n"
-"Dmitri Fedotov\n"
-"Ernie Maestas\n"
-"Colin Taylor \n"
-"HugoAmaro\n"
-"Solim\n"
-"Volodymyr Kharytonov\n"
-"Max \"Big Hoss\" Clise\n"
-"Alex_Gutierrez\n"
-"Saad Najaf Khan\n"
-"dahveed311\n"
-"Michael Loft Mikkelsen - DK\n"
-"HyperSCSI\n"
-"Enrico Floris\n"
-"Grigoris Papalexis\n"
-"Prithvi Mandava\n"
-"YOUNIS BADAWI\n"
-"SelvaagIT\n"
-"steve brokenshire\n"
-"Brian Adelson\n"
-"Michael A Hern\n"
-"Umair Ali Soomro\n"
-"Matt_Earp\n"
-"Martin L Lora\n"
-"Diego Monasterios\n"
-"Chris T Sims\n"
-"Jeff Wagner\n"
-"Harinder Singh\n"
-"David Gaytan\n"
-"Jonathan Moulton\n"
-"OGUZHAN VEYSEL ATALAR\n"
-"Bent Mathiesen\n"
-"GuruSue\n"
-"mmetaphor\n"
-"Paul Stoner\n"
-"Ryan Corcoran\n"
-"OmarS\n"
-"Dudiefa Tonye\n"
-"Christian Elsen (San Francisco)\n"
-"Victor Venturelli Mosconi\n"
-"Barry Jones\n"
-"Syed Zayed Bukhari\n"
-"Kareo\n"
-"Urs \"Whity\" Weiss\n"
-"Jesus Hernando Lopez\n"
-"Mike McCauley\n"
-"Carl Francis AKA tEeJ\n"
-"Imad Daou\n"
-"orangejam72\n"
-"Paulo \"elTechno\" Alvarado\n"
-"Don Coulson\n"
-"Jeff Nierman\n"
-"Brian Whelton\n"
-"Garang Deng\n"
-"Marcus Watson\n"
-"Paul@GGR\n"
-"Anthony Branchaud\n"
-"Rameez-C\n"
-"Patrick Williams\n"
-"Jonathan Madore\n"
-"Robert Gene Horn\n"
-"Jaime\n"
-"Ken Richardson\n"
-"Eduard Ch.\n"
-"Ionut Tartau\n"
-"Fred Ellis Jr\n"
-"Ferenc Kuris\n"
-"David Tinsley\n"
-"Jeroen Roos\n"
-"Peter Palasti\n"
-"Dave Hardy\n"
-"Herceg Andras\n"
-"Bryan Scarbrough\n"
-"Filipe Matias\n"
-"Muelly\n"
-"tr3quart1sta\n"
-"Ian C Scarborough\n"
-"Robert B Romel\n"
-"Pio P. Prado\n"
-"zasplas\n"
-"Pantelis Stoufis\n"
-"Daniel R Moore\n"
-"Daniel Tinsley\n"
-"Derek Ivey\n"
-"Alessandro Piva\n"
-"Tony DelGreco\n"
-"Tyler Carlisle\n"
-"Christopher Buckley\n"
-"Korstiaan Kooijman\n"
-"Paul Schriever\n"
-"Mawat\n"
-"Ivo Bottenheft\n"
-"Soundwave\n"
-"Markus Karlsson\n"
-"molan1\n"
-"Nikola Sambolic\n"
-"Joachim Boadu Kwaku\n"
-"Adi Wong\n"
-"Joao Teixeira\n"
-"Alexandru Badea\n"
-"Bryan Hubbard\n"
-"Rajesh Anne\n"
-"Bartosz Durma\n"
-"Vladusha\n"
-"HasanTheWise\n"
-"Tejinder Panesar\n"
-"Alexandru Stefan Marinescu\n"
-"Giovanni Augusto\n"
-"Kyryl Tumanov\n"
-"Rashiem Mims\n"
-"Maky Robert\n"
-"Timur Mezentsev\n"
-"Matt Blackwell\n"
-"James Moore\n"
-"elhatab\n"
-"Ruben Lihet\n"
-"Paul Kiela\n"
-"Jeffrey Kraemer\n"
-"Andrew K.\n"
-"Comein Arnaud\n"
-"Riccardo Bruzzone\n"
-"Ulrich Kempken\n"
-"Simon Wilkinson\n"
-"Susan Chatterjee\n"
-"Jose Isidro Cantu Alvarez\n"
-"Mcglon\n"
-"Asimios Kiropoulos\n"
-"slobodan simic\n"
-"Jacob Adlon\n"
-"arkSyne\n"
-"Rakesh M. Thakkar\n"
-"Tchitchi\n"
-"Mohamed Rezard Meeralebbe\n"
-"JaeHyeong Jeon\n"
-"enderst\n"
-"Yves Kerbens\n"
-"Ramon Kidd\n"
-"Frank Olshansky\n"
-"Steve Miller\n"
-"Curt Wheeler\n"
-"Tony M Nguyen\n"
-"Chris Kuhn\n"
-"John K Williamson\n"
-"Swinster\n"
-"Jared Heinrichs\n"
-"macbroadcast\n"
-"Cyrinojuca\n"
-"Sean Cardus\n"
-"Lazaro Rene Ortega Rodriguez\n"
-"Andrew Peter Kirkby\n"
-"Luis Ramos\n"
-"Sean McGrath\n"
-"Manuel Neuner (Austria)\n"
-"Matt Siegel\n"
-"J. Neil Marlowe\n"
-"Shibata\n"
-"Michael Maguire\n"
-"Harmeet Singh Sian\n"
-"Britt Adams\n"
-"MuslimSubmittedToGod\n"
-"Samuel\n"
-"Steve Housego\n"
-"Pablo Hauptmann\n"
-"Stevan Sheely\n"
-"Brian \"Red\" Williamson\n"
-"Mark Fietje\n"
-"Muhammet Said Temelli\n"
-"Skeeve Stevens\n"
-"JEFF OLIVER\n"
-"Frederik Bjerggaard Nielsen\n"
-"Anar R. Iskandarli - Azerbaijan\n"
-"Anthony_Oliverio\n"
-"Jason Cook\n"
-"Kalamoukos Dimitris\n"
-"Francis Ruddy\n"
-"roxtonuk\n"
-"Przemyslaw \'UWillC\' Snowacki\n"
-"Chipa\n"
-"M Sawatzky\n"
-"dzap\n"
-"Shaun Carlin\n"
-"Jegan\n"
-"Enrique Gómez Monreal\n"
-"Marco Simontacchi\n"
-"Christopher Robert Lee\n"
-"esreverse\n"
-"milan peyrac\n"
-"Robin Wood - Digininja\n"
-"Dan Nelson\n"
-"Gareth Mitchelson\n"
-"Michael V King, Sr.\n"
-"Brent A Walter\n"
-"smcghie\n"
-"Jose Carvalho\n"
-"IPrgomet\n"
-"Richard Harris 1\n"
-"Wilson Mendes\n"
-"Jovito Cueva\n"
-"Conrad Jedynak\n"
-"Martin Gursky\n"
-"paul wynne\n"
-"Oyama Hall\n"
-"Giles Mathew Broom\n"
-"Akwasi Adu\n"
-"Dan Roering\n"
-"Sal Amico\n"
-"Jakso Laszlo 06101963\n"
-"Engelbert Luechinger\n"
-"MWenglikowski\n"
-"Waqas Bashir\n"
-"Garrett Skjelstad\n"
-"Renato de Pierri - SP Brazil\n"
-"Ebo Semenhyia Thompson\n"
-"Marcos Rodrigo Santos de Souza\n"
-"OGINNI OLUWASEYI\n"
-"Jordan Foster(Jez2cool)\n"
-"Bluca\n"
-"Earl Bovell\n"
-"Steve Stewart\n"
-"Mike Boughton\n"
-"Adrian Z.\n"
-"Phillip White\n"
-"Mustafa Ameen Al-Khateeb\n"
-"Vikas Sharma\n"
-"Noel Mulryan\n"
-"Johan2004\n"
-"James Ramsay\n"
-"Brian Lehr\n"
-"ecium\n"
-"Yatin K Shah\n"
-"Neil Sheridan\n"
-"Francis Pena (JigaX)\n"
-"Hank Yeomans\n"
-"Peter Stanczak\n"
-"jhrcariazo\n"
-"Matthew Gosling\n"
-"Danni Nissen Bardino\n"
-"Duane McNulty\n"
-"Adam Wysockyj\n"
-"Benjamin Donald Byers \n"
-"Terrance Richards\n"
-"Erik Jacobson II\n"
-"DIAS\n"
-"ALDO LEIVA-MARCHISSANO (DECO5)\n"
-"dedycahyadi-unmul\n"
-"Robert Trow\n"
-"Adam Johnston\n"
-"Mace\n"
-"Alexander Lubenski\n"
-"John Braswell\n"
-"Brian Sanders\n"
-"David Vierling\n"
-"André Jan Smit\n"
-"RedNectar Chris Welsh\n"
-"Edmarc Vitz Oliveros\n"
-"Vivek Bannore\n"
-"Emilio Sanchez Parbul\n"
-"Luke Jay Cooper\n"
-"Bill Laubsch\n"
-"Luke Cooper\n"
-"Chris Cook\n"
-"KloudFyre Networks\n"
-"Jason Miller\n"
-"Chase Wright\n"
-"Joseph Paveglio\n"
-"Shing Hei Yee\n"
-"MARSHG\n"
-"Rowan Brandon Lee\n"
-"AbdulHayee\n"
-"Wanxue Hai\n"
-"Net9 Telecom\n"
-"Dean Lofts\n"
-"Gordon Duncan\n"
-"Daniel Gurgel\n"
-"Bill Scully\n"
-"Scott Dalton\n"
-"brato\n"
-"Peter Hansen\n"
-"Jose E. Silva\n"
-"reySkata\n"
-"Francis Xavier Todd II\n"
-"Nick Cochrane\n"
-"Geoff Kuchera\n"
-"Geoff Ladwig\n"
-"Murilo R. Esplugues\n"
-"Srinivasa R Emani\n"
-"Terrence Battlehunt\n"
-"Muhammad Bhatti\n"
-"John Miller\n"
-"Tiago Lima (TiLima)\n"
-"Luis Carlos Gomes Alves\n"
-"Giuseppe De Luca\n"
-"Alex Kieser\n"
-"Adam Steele\n"
-"Joey Caldwell\n"
-"Aaron Oliver\n"
-"Adil Nasser\n"
-"Marcelo Chicralla\n"
-"Chris Smolen\n"
-"Oleg Ivin\n"
-"davidwthomas\n"
-"pingwarrior\n"
-"Yared Demissie\n"
-"SIM Kwang Meng\n"
-"Thomas Irwan\n"
-"Jordan Dalton\n"
-"Debasish\n"
-"Ernest Saadat\n"
-"Dr Bankim Jani\n"
-"Nasir Bilal\n"
-"Tran Minh Luan\n"
-"Brad Haynes\n"
-"Gerald Gonzalez Santoni\n"
-"Campesi\n"
-"Richard Danu\n"
-"Olugbenga Adara\n"
-"Emad Salahuddin\n"
-"Ezra Reang\n"
-"Serge Cherestal\n"
-"Mike Shafer\n"
-"Vikram Sokhi\n"
-"Arliton Martiniano Rocha\n"
-"Faith Solutions pvt ltd \n"
-"Arnold A. Madulin\n"
-"cqaigy\n"
-"Ti-Chris\n"
-"Sergey Goffert\n"
-"Chris Higgins\n"
-"George P. Burdell\n"
-"Todd Graham\n"
-"Barry Middleton\n"
-"Pdw8\n"
-"Lê Việt Thanh\n"
-"Pavel Glushkov\n"
-"Alan Rizgar Ali\n"
-"Aung Ye Thu\n"
-"Khurshid Hassan Khan\n"
-"Kamran Mehdi\n"
-"Richard Mantilla\n"
-"David R. Burgess\n"
-"Thomas Whitmore\n"
-"Lee Kong Wah\n"
-"SUNANDA DAS\n"
-"Irvan Tambunan\n"
-"Vasanthkumar\n"
-"TJ West\n"
-"Kanthi Kiran Narisetti\n"
-"DarwinLabs\n"
-"Weston Brown\n"
-"Manikant Thakur\n"
-"Intoy23_\n"
-"Muhammad Hussain\n"
-"jakimm\n"
-"Gengxiaojun\n"
-"Dilan Perera\n"
-"Yagnesh Chauhan\n"
-"James R. Gross Jr.\n"
-"Abraxas\n"
-"Patrick Silwimba\n"
-"Rajavel\n"
-"Idris Adesanya\n"
-"John Bluhdorn\n"
-"Xulnoor Syed\n"
-"Gerard Sharpe\n"
-"Warren Sullivan\n"
-"Greg Gephart\n"
-"Ian Verno\n"
-"Mark Odette II\n"
-"Christopher Megyeri\n"
-"Vladimir Kuchar\n"
-"Yazeed Fataar\n"
-"Rajesh Kakkanatt Jolly\n"
-"Radovan Brezula\n"
-"Russell W Wood\n"
-"Cameron Rooke\n"
-"Michael Dawson\n"
-"Ronald Boestfleisch Jr\n"
-"Jade Rampulla\n"
-"Mohammed Aftab\n"
-"Orkhan Farajov\n"
-"sumitava chatterjee\n"
-"Hugh Mann\n"
-"Rasto Szaszak\n"
-"Name, last name and country.\n"
-"Milan Zapletal\n"
-"MJM Boyens\n"
-"Ernesto Hernandez, Finland.\n"
-"Filippos Kolovos\n"
-"David Julson\n"
-"Net Center, Inc.\n"
-"Robert Rittenhouse\n"
-"asdfghjkl\n"
-"Derek Michael Neves\n"
-"GLB\n"
-"Nadeem Rafi\n"
-"Steve De Jongh\n"
-"Rich Gibbons\n"
-"Krishna Kumaran GK\n"
-"Sebastian Gosenheimer\n"
-"dante\n"
-"Frank Hopkins\n"
-"Wyld Stallyn\n"
-"George Paa Kwesi Williams\n"
-"Andrzej Krzyżak\n"
-"TheMasonFamily\n"
-"Neill Wilkinson - Aeonvista Ltd\n"
-"Guillano L\'intelligent\n"
-"Tiago Sousa\n"
-"Ingo Bothe\n"
-"Guillano L\n"
-"Dingxia Li\n"
-"Bongie\n"
-"Orlov Vladimir\n"
-"Dmitry Tyutikov\n"
-"Jon Walker\n"
-"Theofanis Katsiaounis\n"
-"praneel prasad\n"
-"norwizzle\n"
-"tmcraig08\n"
-"Simon Huber\n"
-"Pedro Duarte ESTCB\n"
-"Akov\n"
-"Mihai Alexandru Vasiliu\n"
-"ronnietheengineer\n"
-"Timothy Manito\n"
-"Dmitry Seliverstov\n"
-"Matija Grabar\n"
-"mckrsta\n"
-"magulito\n"
-"GazandKim\n"
-"Chris Davies\n"
-"Zack Manriquez\n"
-"Adnan Pajalic\n"
-"Anton Ovsyannikov\n"
-"RushenYYZ\n"
-"Alejandro Nolla\n"
-"Igor Plokhikh\n"
-"Ilya Kupriyanov\n"
-"zahid yasin\n"
-"joey fernandez mirador\n"
-"Orlando Amador\n"
-"Christiano Lucas\n"
-"Timothy Call-Buckeyes#1\n"
-"Chris Graves\n"
-"Roman Florea\n"
-"Andrew Banwell\n"
-"Randy Brizuela\n"
-"Tibor Torma\n"
-"KIOUSIS THANASIS\n"
-"Paulo Vaz\n"
-"primmus\n"
-"Ovidu Catrina\n"
-"Emi.Tiamo.\n"
-"Willian Kassem\n"
-"Xianli Huang\n"
-"karanarora192006\n"
-"Jens THIES\n"
-"Emberlight\n"
-"Luis Knob\n"
-"WarrenHayhurst\n"
-"Richard Karus\n"
-"Pablo Olveira\n"
-"ghisisan\n"
-"Antonio Gerbino\n"
-"Bijay Swain\n"
-"Simon Minery\n"
-"Matt du Jardin\n"
-"Ian Blaney\n"
-"Nallanathan Sivatharzan\n"
-"Paulo Guerreiro\n"
-"Joe Audet\n"
-"Noman Choudhury\n"
-"Silvyse\n"
-"Azam Saddiq\n"
-"Rodrigo Henrique Castro da Silva\n"
-"Rickard Körkkö\n"
-"Thomas quero\n"
-"Matus Lenhart\n"
-"Frank Bailey\n"
-"herdoc2005\n"
-"Kurt Holm-Andersen\n"
-"Dimitar Leskov\n"
-"David Abreu de Sousa Junior\n"
-"Anthony R Junk\n"
-"Aung Zaw Latt\n"
-"Fred Bisel\n"
-"khaisar\n"
-"MOHAMMAD FAIZAL BIN MOHAMED SALLEHIN\n"
-"Svindler\n"
-"Marcel Slagter\n"
-"Brandon.nmi.Johnson\n"
-"Farias\n"
-"Quinton Bakies\n"
-"Yoshihiro Ano\n"
-"Alex K\n"
-"Yohannes Iyob\n"
-"JPETALLAR\n"
-"William Gruesbeck Jr.\n"
-"Yollande S Chang\n"
-"Chandler B.\n"
-"Roberto Ríos Camilo\n"
-"poolisa\n"
-"Luke Grant-Jones\n"
-"Bhuiya\n"
-"Kenneth Vargas Vargas\n"
-"Shivam Agarwal\n"
-"Alexander Slipak\n"
-"Gary W. McCullors\n"
-"HD_37432\n"
-"Huy Tran\n"
-"David Krantz \n"
-"Tony Davis\n"
-"Richie Hor\n"
-"Luis Diego Flores\n"
-"Felipe Lima (Sheriff)\n"
-"John Merry\n"
-"Syed Jamil Hussain Jafri\n"
-"Randy Llandelar\n"
-"Fahim Ahmed\n"
-"Dan Ryan\n"
-"Kyle Bauer\n"
-"Michael Campbell\n"
-"Matthew Gillespie\n"
-"Khuram Rafique\n"
-"Sean Salvadalena\n"
-"steven richardson\n"
-"Jarod Mohlmaster\n"
-"Loc Vinh Nguyen\n"
-"Rick Vaquera\n"
-"Pritam Banerjee\n"
-"claytondf\n"
-"Andrew Chapman\n"
-"Filip Štirn\n"
-"Emeka Ezekoka\n"
-"Steve of the family McGonigle\n"
-"Eliott Stidd\n"
-"Tim Peel\n"
-"williamhotel\n"
-"Thomas Kager\n"
-"Purushotham G\n"
-"Karthik Bonthu\n"
-"Nathan Howard\n"
-"Slobodan Nastevski\n"
-"DustyWeatherby\n"
-"Andrew Kotska\n"
-"Wesly Inbaraj\n"
-"Frantzcy Paisible\n"
-"Emmett G\n"
-"Finn Mann\n"
-"Tariq Raza\n"
-"Darick W. LaSelle\n"
-"jwiggins\n"
-"Jonathan Marson\n"
-"Thiago Takayama\n"
-"Jason Gibbs\n"
-"\"THE\" James Greene\n"
-"Micah Stanley\n"
-"Benjamin Lutz\n"
-"David Correa\n"
-"Knack Black\n"
-"MJ DeFilippis\n"
-"Michael Dunn\n"
-"jaypo\n"
-"Artemio\n"
-"Mike Johnson\n"
-"Nic Bumgart\n"
-"Randall Bradford\n"
-"Wilfried Olthoff\n"
-"Ben Arblaster\n"
-"Mark F. Boules\n"
-"Tommy \"BigDaddy\" Grigsby\n"
-"Michael Jones\n"
-"Krynos18\n"
-"Ken Clifford\n"
-"mast nishant\n"
-"Furqan\n"
-"Douglas R. Carirngton, Excelibrium Inc\n"
-"tulley\n"
-"Felix A Leiva\n"
-"abrhim\n"
-"Ed Vanderpool\n"
-"neo_renshaw\n"
-"Anders Berggren\n"
-"Morgan Zahra\n"
-"Grillmon\n"
-"Jorgen Rhode Jensen\n"
-"jerrysimila\n"
-"Louis Gonzales\n"
-"j.d.wegner\n"
-"Jared J. Fernandez, E.I.T.\n"
-"KQuinn\n"
-"Felipe Alvarez Diaz\n"
-"SecretServiceOO\n"
-"NOSaturn\n"
-"Clayton Coelho\n"
-"CJCCIE25938\n"
-"Anton Antony Arockiasamy\n"
-"Nicholas Alessi\n"
-"George Young\n"
-"Shaheer Osman\n"
-"Mahmud Rahman Jami\n"
-"Yassine EL Jazouli\n"
-"IAmBuldog\n"
-"Imtiyazuddin.Shaikh\n"
-"Les\n"
-"Xavier Alexander Gilmet\n"
-"Hikmet Terzioglu\n"
-"Daniel Wichlacz\n"
-"Karl Newell\n"
-"Nanda Kyaw\n"
-"Rafael Bianco Nacif\n"
-"Nick O\'Neill\n"
-"BigRhino\n"
-"jeff pliska\n"
-"Richard Vincent Perez\n"
-"Gilberto Cloud Galvan\n"
-"Sid Lorenzana\n"
-"David Kumar\n"
-"Ellert Hardarson\n"
-"Peter Prusinowski\n"
-"Pacerfan9\n"
-"Jason Alan Barretta\n"
-"Tyler Pell\n"
-"Dan Devlin\n"
-"Travis Eberhardt\n"
-"Jeremy Frush\n"
-"Cisc0kid\n"
-"Joe A. Lourenco\n"
-"JeffA\n"
-"Jacqueco Peenz\n"
-"Siggi Bjarnason\n"
-"Samuel Ajakaiye\n"
-"Georgios Ntib\n"
-"Bartosz Miklaszewski \n"
-"pepso100\n"
-"Digit Oktavianto\n"
-"Vineet Bulbule\n"
-"Rui Ruivo\n"
-"DWPerry\n"
-"Frantisek Pupik\n"
-"Christopher Robert Sutton\n"
-"Casey Ajalat\n"
-"Riku Pessinen\n"
-"g.montoanelli\n"
-"Dave Thompson\n"
-"Paul Knight\n"
-"Schisme\n"
-"Christopher Edwards\n"
-"Karel Perez Castillo\n"
-"ErrorCode67\n"
-"John Perry\n"
-"Nick Bonifacio CCIE #38473\n"
-"Matt Humphries\n"
-"Nathan Miller - Youngstown, OH\n"
-"Kevin D\'Arcy\n"
-"CelsoAraujo\n"
-"Paul Sherratt\n"
-"Francis Illuzzi\n"
-"Lupe SIlva\n"
-"Sukhdeep Kahlon\n"
-"Scott K. Bridges\n"
-"Demetrius Cagampan\n"
-"Jon \"The Man\" Marte\n"
-"Farhan Qazi\n"
-"Craig Zambra\n"
-"Alexey Zhigaltsov\n"
-"Josh R Blaylock\n"
-"davidbarclay@nlets\n"
-"Katherine McNamara\n"
-"T.J. Patterson\n"
-"Cash_97\n"
-"David Undernehr\n"
-"Andrew Conway\n"
-"David Earney\n"
-"Joel Bergmark\n"
-"Chris DiPaola\n"
-"copeland\n"
-"Blair&BenedictRepuyan\n"
-"Titus\n"
-"Damian Mainwaring Davies\n"
-"Nathanael Kenyon\n"
-"Ilia Korsakov\n"
-"Michael Dubery\n"
-"Alex Giunta\n"
-"RSaleh\n"
-"Tassos Chatzithomaoglou\n"
-"Franklin Valdez\n"
-"loop\n"
-"Ulf Bye\n"
-"giantbullfrog\n"
-"Luke Russell\n"
-"voke\n"
-"CoCoHimself\n"
-"Nicholas Andrew Critten\n"
-"Mahrazi Mohd Kamal\n"
-"Dmitry Stashkov\n"
-"Bilal Issa\n"
-"Momodou Sarr\n"
-"Ryan Barrett\n"
-"Robin Harteveld\n"
-"DMSwope\n"
-"Dave Noles\n"
-"Jason Salomons\n"
-"Luis\n"
-"LIZHAO DING\n"
-"Douglas R. Musser\n"
-"Jason Vizmanos\n"
-"Prakash Purohit\n"
-"Rafique Ahmed Narejo\n"
-"Rustam Davletshin\n"
-"Krzysztof Andrzej Szukała\n"
-"Dimitris Armenatzoglou\n"
-"Torstein Mauseth\n"
-"Marius Landsem\n"
-"Caio Vianna\n"
-"Nauman Tariq\n"
-"ZAW THANT KYAW\n"
-"Graham Redish\n"
-"Kinopcs\n"
-"Suren Tsaturyan\n"
-"Dustin Max Calderon\n"
-"Man Gao\n"
-"Phillip A Camera\n"
-"José Luis Berlanga V.\n"
-"einfachgust\n"
-"Paul Lampron\n"
-"Alex Presse\n"
-"Jacob Johnson\n"
-"Adam Troxel\n"
-"Tom Dastrup\n"
-"Chad Abbs\n"
-"John Rubin\n"
-"Cory Light\n"
-"Jason Rearick\n"
-"Shamikh Irshad\n"
-"Kier Fretenborough\n"
-"Saravana Thoppay\n"
-"Roulston\n"
-"Axel Siöland\n"
-"Zhang Liang\n"
-"Pritpal Bisla\n"
-"Thien-Tam TRAN\n"
-"Philippe Tang\n"
-"Muawia Yasin\n"
-"ErikJWells\n"
-"Alan Esterman\n"
-"Aju Jose\n"
-"Jason R. Rokeach\n"
-"Yeyo\n"
-"Daniel Maxwell\n"
-"Mark C Bernier\n"
-"Luis Francisco Rivera Ospina\n"
-"In Memory of Ben Gibbs\n"
-"Mirza Zeshan Baig\n"
-"Marcel Loesberg\n"
-"Santoshi Rajani Kumar\n"
-"Sathursan Kantharajah\n"
-"Richard Harris \n"
-"Jon Kolman\n"
-"Robert Magrath\n"
-"suguita\n"
-"Sergey Solodov\n"
-"Juan Gabriel Delgado Picado\n"
-"Andrei Matei\n"
-"Andit Tjahjo\n"
-"Ian Wandless\n"
-"Ismael Mamadou\n"
-"Patrick Donald Bostwick\n"
-"BDG\n"
-"Aouachria Nassin\n"
-"vdeluca-BR\n"
-"Tyler Milam\n"
-"Carsten Ellermann\n"
-"Stunod7\n"
-"TrueNie\n"
-"Brody Murfin\n"
-"Steven Howard Kalupson\n"
-"Woodard\n"
-"tr4ck3r\n"
-"Andrew Walding\n"
-"Eric Geib\n"
-"Mark D Rametta\n"
-"Adam Pinkerton\n"
-"Evan Fox\n"
-"Richmond Porath\n"
-"Bestone Kasoloka\n"
-"Sergey Kuzyurov\n"
-"Warren\n"
-"Conrad J. Moore\n"
-"Michael Molina Lasprilla\n"
-"Erik White\n"
-"Michael Torres\n"
-"Omrelliug A Senoj III\n"
-"Jacob Bolm\n"
-"Beau Daniel Jones \n"
-"Maikel Mantilla\n"
-"Oscar Quinonez\n"
-"Xavier Lario\n"
-"Stefanio Lourenço\n"
-"Aaron Robinson\n"
-"Adrian Gibbons\n"
-"Milan P\n"
-"Kristian J Francisco\n"
-"Daniel Gos\n"
-"Joel Lawless\n"
-"Sumit Kumar\n"
-"CodyPorter\n"
-"Chris Gauthier\n"
-"Krishna Varma\n"
-"Aidan Burnett\n"
-"Matthew Clarke Gordon\n"
-"Ali Youssef Ahmad\n"
-"Lauren Brittany Taylor\n"
-"Avery Abbott\n"
-"WANG KAI\n"
-"gila\n"
-"Michael Molina Lasprilla Jr\n"
-"Thomas J Tablada\n"
-"Valentin Vanguelov\n"
-"Mario Kool - Netherlands\n"
-"Leigh Bogardis\n"
-"Johnny T\n"
-"RDB\n"
-"Aaron P. Clark\n"
-"najouaimtiyaz shaikh\n"
-"Durmus -dprogrammer- Celep\n"
-"Marc van Lier\n"
-"Felipe Soares de Souza\n"
-"ccie4451\n"
-"Dustin L. \'Stonewolf\' Derry\n"
-"Rich Johnson\n"
-"Infrastructure Solutions LLC\n"
-"Niklas Riddarlo\n"
-"Waleed Alamodi\n"
-"Adolfo Aksel\n"
-"Schladi\n"
-"Tomasz Kacprzynski\n"
-"SHU2\n"
-"Nathan Hitchcock\n"
-"RefAndante\n"
-"Ade Alder\n"
-"Raphael THIERRY\n"
-"Mr Morgan\n"
-"AurieP\n"
-"Jason Bishop\n"
-"Pavel Kilipko\n"
-"Chris Albert Beltran\n"
-"Manny Franqueira\n"
-"foolproofalibi\n"
-"gregwards1987\n"
-"Aaron Day\n"
-"kmaslashdevslashnull\n"
-"Leon Cassidy (NZ)\n"
-"John Dowling\n"
-"Ramon Jr Garcia Yu\n"
-"zdenotim\n"
-"Prasad Kunjeer\n"
-"Felipe.Ferrugem\n"
-"Simone Groce\n"
-"Sinan Sulaiman\n"
-"JEFF HANSEN\n"
-"Dániel Okos\n"
-"Phillip D Larson\n"
-"Dickson Wong \n"
-"Gaurav\n"
-"becakgurun\n"
-"Jun Liu\n"
-"Mohamed Faisal CCIE#36553\n"
-"Rose Parnsoonthorn\n"
-"Jeremiah Land\n"
-"Joh4xx0rn Andersson\n"
-"Mike \"ChimChim\" Pritchard\n"
-"Dan W\n"
-"Dhanushka Chandrasiri\n"
-"Steve Redford\n"
-"Keith Shum\n"
-"Sean McQuilling\n"
-"Simon Given\n"
-"Colm Kilmartin\n"
-"Marius Geonea\n"
-"SteveBeans\n"
-"Kwaggaken\n"
-"Ben Murray (@Cache22)\n"
-"LaKellyEllaDustyMath\n"
-"PotatoGim\n"
-"Pikador*Hopto.hu\n"
-"Mustafa\n"
-"Liqua_Thrushbane\n"
-"GNS34624\n"
-"juan\n"
-"Michael Klose\n"
-"Tuan Huynh\n"
-"Peter E Gregg\n"
-"thosi\n"
-"Salmanees\n"
-"Renjith G Nair\n"
-"Saqib Raza\n"
-"Jose Ignacio Jorquera\n"
-"Showpanda\n"
-"Syed Mohd Mohsein\n"
-"Eric Yoakum\n"
-"Alex Beal\n"
-"Ronald Boestfleisch Jr.\n"
-"Moussa BRAHIMI\n"
-"Lee Gardner\n"
-"Robbins\n"
-"PaulEyre\n"
-"Geir Hogberg\n"
-"Dimitrios Misichronis\n"
-"Boris Bozicevic\n"
-"Saleh Batouq\n"
-"William Walton\n"
-"wolly\n"
-"Gopinath v\n"
-"Hamad Khalaf\n"
-"David Dietrich\n"
-"Jericho Gutierrez\n"
-"Cameron Exley\n"
-"Daniel Grubbs\n"
-"Stephen Savaso\n"
-"Marcus Morais\n"
-"Roilen Palmer\n"
-"David Bradwell\n"
-"Adrian Lizuniga\n"
-"Thomas Meinhardt\n"
-"Mohammed Arshad Irfan\n"
-"Kevin R. Owens II\n"
-"Xiaodong Zhang\n"
-"Suman Saha\n"
-"GoldenBough\n"
-"Jeff Nagel\n"
-"Paul Regan\n"
-"Andrew Haase\n"
-"Gregory Bruccoleri\n"
-"Ian Tuten\n"
-"Joshua Senft\n"
-"Pierre \"Ghostdog\" Blanchet\n"
-"Chris Brown\n"
-"Luis Felipe Sass\n"
-"Dimitar L. Yosifov\n"
-"Matt Heim\n"
-"Codey Oxley\n"
-"J.D. Wegner\n"
-"AJ\n"
-"Brannen Taylor\n"
-"Billy Calderon\n"
-"Carl Thompson\n"
-"Alexandre Paradis\n"
-"Fahad Hamid Q Aljuhani\n"
-"Bruno HAON\n"
-"AerOne\n"
-"Manuel Rojas\n"
-"Jason Brammer\n"
-"Jason M Heath\n"
-"Christopher Bellman\n"
-"Jay Drennen\n"
-"Adam Born\n"
-"Bootcamp20\n"
-"Fabrício Pimenta de Avila\n"
-"Stephen Lynch\n"
-"Olivia Frances Potter\n"
-"Mitch Dolan\n"
-"Seer Snively\n"
-"Taígo\n"
-"zerny\n"
-"Kevin Sheahan\n"
-"khurshid hassan khan\n"
-"Marcellus Hunt\n"
-"Fabricio Neves\n"
-"Hany Garass\n"
-"Bryce Nicholls\n"
-"Hristo Neykov\n"
-"Leart Sapun\n"
-"Tony M Taylor\n"
-"Scott Holwerda\n"
-"Troy Perkins\n"
-"Mason Feuhrer\n"
-"Jonathan W Cole\n"
-"Pat Golob\n"
-"Pendragon\n"
-"Stuart(big Stu) Cameron\n"
-"FernandoLuisJanuario\n"
-"Tim Davis\n"
-"Eric John Fiedler\n"
-"ciscopotato\n"
-"TJ Plummer\n"
-"Rawhide\n"
-"Brent \"B\" Stevenson\n"
-"Kyle Byrne\n"
-"Hutch Theriault\n"
-"Tyler Robertson\n"
-"sharifraaf\n"
-"thepacketgeek\n"
-"Matt Hill\n"
-"Zayed Syed Bukhari\n"
-"Joe Uhl\n"
-"Eric Sundquist\n"
-"Jason D. Ladd\n"
-"Brooke Lexi\n"
-"Dave Kretzmer\n"
-"Mike Gatti\n"
-"G. David Malner\n"
-"Evelyn Bowman\n"
-"Stephen \"Mr. Poker\" Schroeder\n"
-"Christian Fernandez Herrero\n"
-"Sten-Erik Winborg\n"
-"Zhengzhong\n"
-"jose olivo\n"
-"Julian West\n"
-"Marek Kupsta\n"
-"Albert PR\n"
-"Lucian Cretu\n"
-"dhuzen\n"
-"nycsilvaj\n"
-"Alex Nieves\n"
-"Anthony Luis Cirillo\n"
-"A318A\n"
-"Brian Bristlin\n"
-"Judd\n"
-"D. Paul Hemphill\n"
-"Trevor Roberts Jr\n"
-"Genaro \n"
-"Justin Seabrook-Rocha\n"
-"Ramogpal Reddy M\n"
-"Ramgopal Reddy M\n"
-"Anthony Smith\n"
-"Amhar Saputra\n"
-"Fred W Schulze\n"
-"Mojoman\n"
-"Edwinrg00\n"
-"Bruno Fagioli\n"
-"Diego Morandini\n"
-"Garcia Rice\n"
-"davenaisbitt\n"
-"Bharath Kumar Sole\n"
-"Chad Routh\n"
-"Daniel Dias\n"
-"Robert Ankeny\n"
-"Dean Stamler\n"
-"Ofer Ben Zvi\n"
-"Marcus Beaman\n"
-"Jakub Pullmann\n"
-"Larry Nicholson\n"
-"chekoceronn\n"
-"GeorgeTrip\n"
-"Leighton Andrews\n"
-"James P Feely\n"
-"Ed Walsh, Jr.\n"
-"Dennis Janak\n"
-"Sylvain B\n"
-"Eli Haiby\n"
-"CiscoCowKiller\n"
-"Wong Khai Loon\n"
-"Mike Pierce\n"
-"Rodrigo de Paula Cordeiro\n"
-"steveo\n"
-"droeseler\n"
-"Michael Callahan\n"
-"christy b mathai\n"
-"Nicholas Nelson\n"
-"Shawn Cunningham\n"
-"Randy L. Betke\n"
-"Nuno Cruz\n"
-"Hamid Ben Zaina\n"
-"Janet Knotts\n"
-"Eduardo Acuna Salas\n"
-"Shamal Weerakoon\n"
-"Scott McAndrew\n"
-"ajmatson\n"
-"Ramin Asghari Ardebili\n"
-"Joel Jones\n"
-"True St. Thomas\n"
-"Joshua Baker\n"
-"Feix A Leiva\n"
-"sirclicksalot\n"
-"Hovik Mosessi\n"
-"NguyenTan512\n"
-"John M. McCreight\n"
-"Philip Weekly\n"
-"Dusty Roy\n"
-"CFESH\n"
-"iWasimAbbas\n"
-"cstizza\n"
-"Hans Ramdien\n"
-"Itay Shem-tov\n"
-"dakidfresh1\n"
-"Marcelo Pires de Souza - MAPIS\n"
-"Daniel A. Zoquier\n"
-"Mihael Hutton\n"
-"RobPrescott\n"
-"Vinicius Guimaraes\n"
-"Kaylee May Fox\n"
-"DannyRodriguez79\n"
-"Nicholas Wysocki\n"
-"Tyler Potenberg\n"
-"Gabe Rivas\n"
-"Keunwoo Nam\n"
-"Aldo Francescon\n"
-"NetJimB\n"
-"Jihan\n"
-"Bryan Cordoba Sanchez\n"
-"Anton Lindman\n"
-"Thomas Siczek (Poland)\n"
-"lblakesley\n"
-"Mike W. Burks\n"
-"James Stephens\n"
-"@MacBachi\n"
-"Michael Higgins\n"
-"Rajendra Thuvarakan\n"
-"Robert Lund\n"
-"Christopher Lee Shanks\n"
-"Brian30024\n"
-"Dan Tedrick\n"
-"James Bothe\n"
-"lewiryan\n"
-"jecrane\n"
-"Titus Warui\n"
-"Aditya Limbu\n"
-"Erik Szlaur\n"
-"Bishop Betteridge\n"
-"Garth \"Stogyman\" Fish\n"
-"Dr Vivek Bannore\n"
-"Tony Bushong\n"
-"Szymon Kufel\n"
-"Muzeyen Hassen\n"
-"Blacho\n"
-"ErmiasBekele\n"
-"Jose Miguel Montoya Sierra\n"
-"Greg Murphy\n"
-"Robin Williams \n"
-"RichieB\n"
-"RFK786\n"
-"Edson Raya\n"
-"Nathan J Downes\n"
-"Eduardo Cardoso\n"
-"Julian Ben\n"
-"Ethan William Hussong\n"
-"Richard Rigby\n"
-"Gage Brewer\n"
-"Adeola Adegbolagun\n"
-"Faith Solutions pvt ltd, Maldives\n"
-"Steve Cameron\n"
-"Kevin Le\n"
-"hnamanh \n"
-"Jesse Stilwell\n"
-"Chandrasekar Ramachandran\n"
-"Lee Shouse\n"
-"Kyle \"Mr. CrossFit\" Moschetto\n"
-"Engr. Jeffrey B. Anarna\n"
-"Nicholas D. Yates\n"
-"Stefan Nagy\n"
-"Jason DeGroote\n"
-"Jeremy Corkery\n"
-"Harry Lewins\n"
-"Ashwinkumar CS\n"
-"Rahul Long\n"
-"Cloyd Crisostomo\n"
-"Ivan Hollins\n"
-"Eslam T. Mohamed\n"
-"Roger Morehouse\n"
-"Darrel Perucho\n"
-"Trent Scholl\n"
-"Dinesh Seyyadri\n"
-"Joe Frixon\n"
-"Thineshan\n"
-"Gabriel Ciocan\n"
-"Eric Stratton \"OTTER\"\n"
-"ALEKSANDR ZASADYUK\n"
-"RStuivenbergNL\n"
-"MattE\n"
-"Peter Joseph\n"
-"Silviu Romonti\n"
-"Haidar Noah \n"
-"Alexandre Gnutzmann\n"
-"Robert Mikołajczyk\n"
-"Francesco Benucci\n"
-"Eduardo Luditza Quintal\n"
-"Nirav Dave\n"
-"Luciano Barros\n"
-"Brewhound\n"
-"Tedel Baca\n"
-"Odenike Taiye\n"
-"Myash\n"
-"DreamVision Networks LLC\n"
-"Pablo Lues\n"
-"Rayhiyaan\n"
-"Stephen R Catto\n"
-"Petr Bonbon Adamec\n"
-"Arek Wrobel\n"
-"Jasper Brouwer\n"
-"Fyase\n"
-"Richard Rebman\n"
-"bgardner15\n"
-"LishanMirando\n"
-"Paul Vila\n"
-"Juan David Ruiz\n"
-"John_Shoffeitt\n"
-"Jason Punda\n"
-"Radoslaw Gorski\n"
-"AJ NOURI\n"
-"Mauro de Sousa\n"
-"Alan Young\n"
-"Marcin Kapturski\n"
-"Ban Wong\n"
-"AndresZ\n"
-"configbytes\n"
-"Edwin Campbell\n"
-"Omberai Dzingirai\n"
-"Felippe Dias\n"
-"SOSSOUGAH ALEXIS\n"
-"Achiraf CHARIF\n"
-"Junho Lee\n"
-"Bavo Seesink\n"
-"Brent Sieling\n"
-"Nicholas G Zerwig\n"
-"Renato de Pierri SP Brazil\n"
-"EdWillson\n"
-"Bladerunner\n"
-"Rob Boyko\n"
-"Jonathan Isley\n"
-"Tyler Ruckinger\n"
-"Lachlan Holmes\n"
-"Ariel Pablo Roza\n"
-"Shahin Ahmadi\n"
-"zuozhenqing\n"
-"Ratanajantra\n"
-"Irfan Zaffarulla\n"
-"David P. Schuetz\n"
-"Tonycarreno\n"
-"Bruno Watt\n"
-"Guy Winfrey\n"
-"PHAung\n"
-"Berny Ramirez Gonzalez\n"
-"Liao Hsueh Hung\n"
-"Derrick Nguyen\n"
-"Dave Powers\n"
-"Milap Joshi\n"
-"Noel Bravo\n"
-"Ayoob Eshaq\n"
-"Binuraj Rajappan\n"
-"Richard Wambua\n"
-"mocotel\n"
-"Paul S Payne\n"
-"Anand Shah\n"
-"Dawid Mitura\n"
-"Kryssar approves of this software!\n"
-"Bruno Galhoufa\n"
-"David Poulton\n"
-"Che Ge\n"
-"Saed Zahedi\n"
-"thejapa\n"
-"PJ Archer\n"
-"Marcos Yanase\n"
-"cwmdavies\n"
-"Wellington Ferrraz\n"
-"Derek Nückel\n"
-"alexandros\n"
-"Jonathan Stevenson\n"
-"Bolanu Andrei\n"
-"M.Elhassan\n"
-"EBRAHIM DARYA\n"
-"COLTAR\n"
-"Eduardo Honorato\n"
-"Marcelo Lyra Bastos\n"
-"George G\n"
-"Clint Collins - Oziboys\n"
-"Pradeep George\n"
-"Steve Kittinger\n"
-"cmbellgardt\n"
-"Ramesh\n"
-"Nicki Kristensen\n"
-"Jose D. Mora\n"
-"Seydou Belemvire\n"
-"J. Pell\n"
-"Javed Rehman\n"
-"lwdbos\n"
-"Chun K Lam\n"
-"J. David Gregg\n"
-"Chris Lääng\n"
-"Armstrong Ndemalia\n"
-"Shoaib Zahidi\n"
-"Rogerio Mota\n"
-"Ignacio Hernandez\n"
-"Marcin Krajnik\n"
-"ChettiandNatti\n"
-"Elias Sisya\n"
-"Jacob Henson\n"
-"Mike McPhee\n"
-"Joe Kraxner\n"
-"A Witherspoon\n"
-"Rasmus Elmholt\n"
-"Tom Penrose\n"
-"Ivan Velasquez\n"
-"Michael Quill\n"
-"carlitosP\n"
-"larrybpsu\n"
-"Gabriel John\n"
-"Blake Barnett\n"
-"robeson\n"
-"Robert Ramoutar \n"
-"Anthony J Wathen\n"
-"Jayir Mansuclal\n"
-"Luke Evans\n"
-"VahidRezaMehrasaGNS38826\n"
-"Damian Roche\n"
-"Gerry\n"
-"Jan-Erik Svendsen\n"
-"YuRJ\n"
-"Michael Crouch\n"
-"NightmareFH\n"
-"Clemens Dubbick\n"
-"HishamHowege\n"
-"Tome Spirit Petkovski\n"
-"Osmo\n"
-"Japd\n"
-"Dane Freeman\n"
-"netwrklab\n"
-"Simon Boam\n"
-"ComputerRick\n"
-"Gabriel DeMarco\n"
-"GigaRacer\n"
-"Cat Rodery\n"
-"Jeff Breon\n"
-"mikynik\n"
-"Stefanio Lourenco da Silva\n"
-"Denny Höglund\n"
-"Steven Vlahakis\n"
-"Przemek Rogala\n"
-"Harlen Zuluaga\n"
-"Ronaldo Echevenguá\n"
-"Christian Leonardelli\n"
-"高渐星\n"
-"earth\n"
-"KyungRyul\n"
-"Dmitry MBR Sokolov\n"
-"mohammed fouad shat\n"
-"Josh Gomez\n"
-"James Packard\n"
-"Ben Millington-Drake\n"
-"rluisem\n"
-"Michael McNamara\n"
-"Tubejockey\n"
-"Nick Henderson\n"
-"esc0\n"
-"Bradford Wright\n"
-"Frank S\n"
-"Vitaliy Zinatov\n"
-"Peter Tavenier\n"
-"Guillermo Rodriguez\n"
-"Charles Cecela\n"
-"ali abdulsalam\n"
-"NSandone\n"
-"Ismael Mustapha\n"
-"Jacob Uecker\n"
-"plex\n"
-"ciscoraz\n"
-"Mehul Patel \n"
-"Abbas Khalil\n"
-"JAVID IBRAHIMOV\n"
-"Brandon Porter\n"
-"dragon\n"
-"Thor\n"
-"Lukasz Teodorowski\n"
-"John Montgomery\n"
-"Erin Clay Smith\n"
-"James David Schell\n"
-"Antonello Moneta\n"
-"IE-Guru\n"
-"Alex \"P.h.o.t.o\" Drozdov\n"
-"Amelie Haley\n"
-"Leonardo Migliorini\n"
-"Ole Morten Aaslund\n"
-"Anishkumar Kurup\n"
-"Joseph I Gilbert\n"
-"Mike Scioscia\n"
-"Christopher David Keith Garrett\n"
-"Leonardo Magbuhos Jr\n"
-"Francisco Alfaro\n"
-"Jude Kenneth Bickerton Lymn\n"
-"ir0ck\n"
-"BrettWCook\n"
-"Ayokunle Adekanle\n"
-" HsinHong,Huang\n"
-"Tomi Olamigoke\n"
-"IrishFighter\n"
-"Dennis Dumont\n"
-"Josh Micone\n"
-"Antonio B Gerbino\n"
-"F7EE\n"
-"Jon Sawyer\n"
-"Brian Matson\n"
-"Erik Burdeaux\n"
-"Andre Jones\n"
-"Karl Fukushima\n"
-"Rajesh.R\n"
-"Mohamed Furqan Firdous\n"
-"Sean B Crites\n"
-"Eulic McGee\n"
-"Noel Rivera\n"
-"Paul \'Twig\' Firth\n"
-"Rob Michel\n"
-"BrockSouza808\n"
-"Kravnik\n"
-"jajulius\n"
-"Marcin Zablocki\n"
-"Gian Karlo Andrade\n"
-"Aaron Picht\n"
-"XIAiYIP\n"
-"Maciej sk84life Smolak\n"
-"Ashleigh Wilson\n"
-"Robin Harper\n"
-"Keith Barker\n"
-"Cristian Sima\n"
-"AKAHAW\n"
-"Rodrigo Dominguez\n"
-"Joejaders971\n"
-"Joe Buemi III\n"
-"McAnder\n"
-"Sauceboss24\n"
-"POORNA SHASHANK PARVATALA\n"
-"Rutvij Brahmbhatt\n"
-"Axis\n"
-"V O\' Rourke\n"
-"Karim Al-Azzawi\n"
-"Eduardo Romero Peña\n"
-"Vandeth Nop\n"
-"Mortch\n"
-"Moidin Kunhi\n"
-"Wei Shu\n"
-"Patrick den Hoed\n"
-"Kurauone Mahachi\n"
-"Kurauone B. Mahachi\n"
-"Catalin Butiseaca\n"
-"Debayan\n"
-"Gordon Fountain\n"
-"Saikeo Kavhanxay\n"
-"Danilo Bottino\n"
-"Viliam Schrojf\n"
-"Kumaralingam\n"
-"LeighHarrison\n"
-"Eduardo Campos\n"
-"John Voirol\n"
-"John Ellison\n"
-"Juan Larriega\n"
-"Steven Perée\n"
-"Aivis Purvinsh\n"
-"Rizwan Hanif\n"
-"Reynaldo Gonzalez II\n"
-"Pipeiden\n"
-"Michael Aird\n"
-"@espennilsen\n"
-"Denilsod\n"
-"gizmo\n"
-"Josh1984\n"
-"Tobi Adesanoye\n"
-"Randy Damron\n"
-"Pedro Collado\n"
-"Arwa\n"
-"Nazish Ahmed\n"
-"Nicolas POIRIER\n"
-"Kostas Gerakaris\n"
-"Peter\n"
-"John Jeremy Skog Sullivan\n"
-"Todd Snyder\n"
-"Tony Virath\n"
-"Oscar Reyes Garcia\n"
-"Arturas Zalenekas\n"
-"javalogicuser\n"
-"Andrew Baughan\n"
-"P. JH. Pelletier\n"
-"MES\n"
-"Marlon Zackery\n"
-"Loyd W. Altebaumer\n"
-"Josh Hitt\n"
-"GNS LLC\n"
-"Brent Andrews of Trinidad & Tobago\n"
-"Marek Macovsky\n"
-"Stumper\n"
-"Jan Sidlo\n"
-"Vinesh Raniga\n"
-"Denis \"GRinch\" Karpushin\n"
-"Christos Cambanellis\n"
-"Sylvester Kolakowski\n"
-"Liam and Quinn Densmore\n"
-"Jacco Rorman\n"
-"Rüdiger\n"
-"Rc7200\n"
-"Nicholas McManamy\n"
-"Elvin Baez\n"
-"Dai Yiru\n"
-"Matt Engelbrecht\n"
-"gerald greer\n"
-"DR MAHESH KUMAR\n"
-"Matthew Longwell\n"
-"Gordon Murray\n"
-"Steven A. Wilson\n"
-"Jose Bracero\n"
-"ireDave\n"
-"Torgny Holmlund\n"
-"Craig Timchak\n"
-"John Mathews\n"
-"Joshua P Roybal\n"
-"scoty1\n"
-"Oscar Dotel\n"
-"Aaron Bauman\n"
-"CIOBY\n"
-"Alexey Zhukov CCIE#36822\n"
-"Omar Coeto Hernandez\n"
-"Jonathan King\n"
-"Carlos Pata Oi! Munoz\n"
-"Tiffany A. Whittington\n"
-"Martin Steele\n"
-"Dizzydonut\n"
-"gutonjusa\n"
-"Jay Shepherd\n"
-"Song Kim\n"
-"Charles A Moore\n"
-"Kevin Louie\n"
-"Shane Walton\n"
-"Jan Barkawitz\n"
-"Chris Stewart\n"
-"Cole Two Bears\n"
-"Taz\n"
-"Chris Adams\n"
-"Brian Rodriguez\n"
-"Johnoel Stafford\n"
-"Janmesh Jani`\n"
-"Jeff Grimm\n"
-"John L. Ricketts, Ph.D.\n"
-"George Watkins\n"
-"Abdul Bajaber\n"
-"Brandon Bennett\n"
-"Daniil Yanov\n"
-"Al Reid\n"
-"Rob the animal Steers\n"
-"cargostud\n"
-"cjf de kievith\n"
-"Aaminah H Rashid\n"
-"Eric Park\n"
-"Muhammad Shehab\n"
-"Amit\n"
-"Aki Pap\n"
-"Michael Doe\n"
-"Todor Bozhinov\n"
-"CraigThomsonSCOTLAND\n"
-"MarkThomas \n"
-"Eric Davis\n"
-"Yuta G. Shimizu\n"
-"Arthit Chinnachot\n"
-"5UCC355\n"
-"Patrick van Bennekom\n"
-"Ricardo Oto Engelmann\n"
-"Marcus B. Ullrich\n"
-"Douglas Wagner\n"
-"Artiom Lichtenstein\n"
-"Chad Pembleton\n"
-"Zhandos Shalmanov\n"
-"Miguel Fuentes Gonzales\n"
-"JamesCawte\n"
-"Marcello71\n"
-"Ali Fadhl\n"
-"ALI FADHL\n"
-"DAlicea\n"
-"Dion.I.Seuss\n"
-"Antoine Reid\n"
-"Richard Kok\n"
-"Soe Naing \n"
-"Simon Jack\n"
-"Nick Morrison\n"
-"Dennis R. Miranda\n"
-"Rameshbabu\n"
-"Bryan Kosten\n"
-"Tim Potticary\n"
-"Thomas Knowles\n"
-"el3ctron\n"
-"Gerard.v.Geffen\n"
-"lombers\n"
-"waqar\n"
-"kakalo\n"
-"Michael Magnus\n"
-"Brent Walter\n"
-"Gnani\n"
-"Ishan Arora\n"
-"Dennis Pham\n"
-"Emanuel Jose Hernandez\n"
-"Alex Dumitrescu\n"
-"Jonathan Els\n"
-"Modathir Bashir\n"
-"Todd Albiston\n"
-"Daniel Morales (RCL)\n"
-"Flaviano Reis\n"
-"Mike H.\n"
-"Elijah S. Rodriguez\n"
-"imperorr\n"
-"Phill Johntony\n"
-"ChulhansOfTrinidad\n"
-"Celia\n"
-"Christopher Fata\n"
-"Vince Ward\n"
-"Ricky Innes\n"
-"Nizar Hamoudah\n"
-"Salman Chougle\n"
-"Darpan Gadhiya\n"
-"Watashi No Kamei\n"
-"CCIE#18444\n"
-"Kevin Eze\n"
-"strontiumdog\n"
-"David Alpizar\n"
-"Suelzwurst\n"
-"Victor M Hanna\n"
-"Abdullah\n"
-"Sahir Algharibih\n"
-"Jimmy\n"
-"Andrew Victor Godfrey\n"
-"tom.meadows\n"
-"laljohnson\n"
-"ShawayneD\n"
-"Jason Huseman\n"
-"Kristian L Brown\n"
-"Syed Abbas Ali\n"
-"RMasuda\n"
-"Hooman.Abbasi\n"
-"Marty Nelson\n"
-"Harjinder Singh\n"
-"rjbanker\n"
-"Josh Barenthin\n"
-"TheSorrow\n"
-"Mark Ducote\n"
-"CedarLee\n"
-"Mayank Nauni\n"
-"Richard (Tricky) Town\n"
-"Mathieu Poussin\n"
-"Constantin Mihuta \n"
-"LikeIT\n"
-"Olrik Lenstra\n"
-"Georgios Pelekanos\n"
-"FONTAINE Aurélien\n"
-"Mohamad Yehia Siblini\n"
-"Bryan Lurer\n"
-"Gianremo Smisek\n"
-"Mark (Noof) Ducote\n"
-"Michael Routledge\n"
-"d0gbert\n"
-"HollisDarby\n"
-"Bert\n"
-"Mohammed Kamal\n"
-"Brandon Glaze\n"
-"FlonMaloku\n"
-"Tameem ALjanabi\n"
-"Fabrizio Micucci\n"
-"Paul Burmeister\n"
-"Ian Bartels\n"
-"kalo.evang\n"
-"Yan Cote\n"
-"Nicholas Vogtman\n"
-"Edgar Fernando Monroy\n"
-"HIM\n"
-"igat78\n"
-"Alfredo Pasigan Salipot\n"
-"Artem N Kuznetsov\n"
-"Siem Hermans\n"
-"Tony Marrazzo\n"
-"Josh Lowe @ UOIT\n"
-"ziaul\n"
-"Bahman Arbabzadeh\n"
-"Hussain A.Aziz Al Alwani\n"
-"githure\n"
-"Stephen Snively\n"
-"David Gierke\n"
-"James Julier\n"
-"David Bell\n"
-"Ashkan\n"
-"Kamaleldin Sadik\n"
-"Mike Dupuis\n"
-"Jacques Baribeault\n"
-"Ait bennour\n"
-"Abrhim\n"
-"N1029676\n"
-"Major Dallas\n"
-"Pedro A. Collado\n"
-"Luca Zanin8\n"
-"Karl Billington\n"
-"Jared Murrell\n"
-"RhoninXPowers\n"
-"Ali Abed\n"
-"Lee Hutchings\n"
-"Mesikoo Kamali\n"
-"Kanwar Muhammad Zeeshan\n"
-"Dan West\n"
-"Joshua Hublar\n"
-"Hameed Alzahrani\n"
-"Kev Ward UK\n"
-"Jon Waters\n"
-"Mika Ilvesmaki\n"
-"Patrick McMichael\n"
-"Ron Cannella\n"
-"James McCutcheon\n"
-"Russel Crozier\n"
-"ValMor\n"
-"Maximilian Lehrbaum\n"
-"RiCor874\n"
-"Russell Cassidy\n"
-"Sherwin A. Crown\n"
-"Jim \"The Great Mullet\" Rethmann\n"
-"Ovunc Alper Mert\n"
-"Glenn Tobey\n"
-"kjsrandhawa\n"
-"LeeJBurton\n"
-"Zygimantas Vrubliauskas\n"
-"Mike Manning\n"
-"Andrew C Bodine\n"
-"Edward Beheler\n"
-"David Monteclaro\n"
-"yasir\n"
-"Matt Wardle\n"
-"Kevin Menzel\n"
-"Jude Wu\n"
-"Richard Alvarez\n"
-"Jay Shah\n"
-"Alexander E. Deems AKA TSDOI\n"
-"SOMANDAC\n"
-"Mark Degner\n"
-"Paul McParland\n"
-"cham00ko\n"
-"Jeffrey Charlite\n"
-"bootcamp20\n"
-"Nilson Medrano\n"
-"LoveKatyaPa\n"
-"Sanjay Kumar Patel\n"
-"Kirk J Iles\n"
-"Munyaradzi Manonose\n"
-"Munyaradzi Ncube\n"
-"Afrasinei Doru Mihai\n"
-"patrez\n"
-"Tsepo Lesibe\n"
-"Curtis Stanley\n"
-"Alex Guzzardo\n"
-"WILLIAN PEREIRA VIEIRA DA CUNHA\n"
-"Michael Camara\n"
-"Prankit Jain\n"
-"Michael Field\n"
-"Edward Fahner\n"
-"Tom Jehn\n"
-"Thomas Tablada\n"
-"faizkhanzada\n"
-"Lonardoni\n"
-"Hugo Klein Nagelvoort\n"
-"MarkP\n"
-"Michigan J. Frog\n"
-"Cyberbird\n"
-"pingaq\n"
-"Christopher Michael Murray\n"
-"Shailesh R Patel\n"
-"WTRoss\n"
-"Chad Stambaugh\n"
-"Daniel Toland\n"
-"Damian Baran\n"
-"Ashley Georgeson\n"
-"DaveNaisbitt \n"
-"Anthony Burke\n"
-"Kevin Denton\n"
-"Fordo\n"
-"Julios Ñahuero Balbin\n"
-"Richard Sias\n"
-"Ibon Arretxe\n"
-"EODChief\n"
-"Garrett W Taylor\n"
-"Sulaywan Benoit F. TUFFERY\n"
-"Nionios\n"
-"obsidianlock\n"
-"Kamal Osman\n"
-"Sachin\n"
-"woodard\n"
-"SCarriveau\n"
-"Jason Brake\n"
-"Kelvin BigEasy Stallings\n"
-"Oufaki_Boulaki\n"
-"Paulo Pinto da Silva\n"
-"Angus Lepper\n"
-"Pawel Sniechowski\n"
-"BCQuest\n"
-"Robin - Digininja\n"
-"networker\n"
-"Chris O\'Shea\n"
-"Andrés Rosales Luna\n"
-"Alvarito\n"
-"John Tobin\n"
-"Jeff Cameron\n"
-"Gauntlet Smith\n"
-"Catpuking\n"
-"Voujon L.\n"
-"Deez\n"
-"Alex DeAraujo\n"
-"Manny Garcia\n"
-"Garry Baker\n"
-"Silvio Pinheiro\n"
-"Faisal\n"
-"doncompu\n"
-"Happy Hanna\n"
-"dcsmwy\n"
-"LGSalsero\n"
-"Liudas Duoba\n"
-"Jamie Wells\n"
-"Alfredo Vera\n"
-"eiasan\n"
-"Mohammad Ali Naghval\n"
-"Vinicius Machado\n"
-"Mike & Cindy M\n"
-"MikeCarel\n"
-"barkusdawg\n"
-"Robert McKee\n"
-"Charles Ferguson\n"
-"Tonicarreno\n"
-"Steve Blizzard\n"
-"Osamuyi imade\n"
-"McNeelyYoung\n"
-"Adolfo Cabrera\n"
-"Megajove\n"
-"Francisco R. Butera\n"
-"Carl Baccus\n"
-"Dallas Bishop\n"
-"Alexei Nikolaev\n"
-"Houssam Chahine\n"
-"Charlie Gombert\n"
-"Praveen Kumar \n"
-"Mahmood Naiser\n"
-"tudor evil1\n"
-"ak2766\n"
-"Alex Clipper\n"
-"Bob Benson\n"
-"Kakos\n"
-"Andre Jonker\n"
-"LeeWray-CCIEtoBe\n"
-"GMcCray@Orange\n"
-"Phil Chapman\n"
-"Ze \'Qzx\' Qronique\n"
-"Trevor Conkle\n"
-"Mike Mikeson\n"
-"Krzysztof Miłek\n"
-"Joseph Becker\n"
-"Don Floyd\n"
-"Andrew Lemin\n"
-"Kimmer\n"
-"Cotomacio\n"
-"MarkF\n"
-"Ronak Maniar\n"
-"Deepak Bysani\n"
-"Mohau Nchake\n"
-"Roderick Williams Sr.\n"
-"Bob Lyons\n"
-"Kieran123\n"
-"Blaine G\n"
-"ikehoff\n"
-"Tony Dennis\n"
-"AbdulWahabSoomro\n"
-"ILIAS BATSILAS\n"
-"Omar Bounoun\n"
-"Leandro Pina\n"
-"ZorprimeSDF1\n"
-"Kevin Fisher\n"
-"Andre Heyliger\n"
-"jethrocruz3\n"
-"Nnamdi Anyanwu\n"
-"nazir8121\n"
-"Karim Souissi\n"
-"Ramon Jr Yu\n"
-"Peter Hinds\n"
-"MarkMalone\n"
-"Francivaldo B. Cavalcante\n"
-"Roberto Otero\n"
-"GersonEx\n"
-"Mark Horsfield\n"
-"dsgm\n"
-"New Generation Network NGN\n"
-"Derrick Lowder\n"
-"Daniel López\n"
-"ilya zindman\n"
-"jerryjmcconnell\n"
-"Craig Munro\n"
-"WeirdLilMidget\n"
-"Jonathan Miller\n"
-"MEHDI BASRI\n"
-"Andy Burnett\n"
-"Doug George\n"
-"Faheem\n"
-"Mike Rozman\n"
-"Maz Shah\n"
-"Bulost\n"
-"Dennis Bailey\n"
-"Craine Runton\n"
-"AJMottola\n"
-"irwandi.guritno\n"
-"ManuelR\n"
-"tchilljr\n"
-"Fernando Mauro\n"
-"Rafael Meira Salomao\n"
-"William A Engel\n"
-"Kevin Seales\n"
-"Sérgio\n"
-"Sergio Pereira\n"
-"JerryCakes\n"
-"Mukom Akong TAMON\n"
-"Roger M. Jones\n"
-"WaltDoGG\n"
-"Ashish Batajoo\n"
-"gianghip\n"
-"Hakan \"deegan\" Bjorklund\n"
-"satmatzidis\n"
-"PanosK\n"
-"Frantisek Cmuchar\n"
-"MJPollard\n"
-"Jace Thompson\n"
-"Shawn Nay\n"
-"Aaron Paul Clark\n"
-"Jeremy Furr\n"
-"kcriscuolo\n"
-"jaberzadeh\n"
-"Haridralingam\n"
-"Brett W. Cook\n"
-"Michael-Vogler\n"
-"pkaldani\n"
-"James Grace\n"
-"Andres Bolaños Rojas\n"
-"Bradley Stevens\n"
-"Renaud Pellerin Levesque\n"
-"Bizkitcan\n"
-"Roberto Velez\n"
-"912m0fr34k(Digvijay Singh)\n"
-"TRAVIS K\n"
-"Jamal Mohamed Ahmed Aly\n"
-"Ashwin Ramdin\n"
-"MarcoEnrique\n"
-"Ray Manriquez\n"
-"Jason \"jabreity\" Breitwieser\n"
-"Ruben Genaro Villanueva\n"
-"Robert Bowen\n"
-"Brad Peterson\n"
-"Renaud Pellerin-Levesque\n"
-"Johnathan Andrew Greeley\n"
-"dbamurray\n"
-"EMAD ABID\n"
-"Dustin Sammut\n"
-"Alexander Bauer\n"
-"irvinleovillanueva\n"
-"Munir B. Abdullahi\n"
-"Dag H. Richards\n"
-"ShamYavagal\n"
-"Fraser Hugh Munro\n"
-"shankerbm\n"
-"Andrew Dashner\n"
-"Nathan Gautrey\n"
-"Brian Eckblad\n"
-"Riley C. Robertson\n"
-"TuRaNiK\n"
-"Sergio Martinez\n"
-"Brandon Gonzalez\n"
-"amrinder kamboj\n"
-"Shaun Parrish\n"
-"Damian Wikkeling\n"
-"Justin Neisler\n"
-"Ian J Adams\n"
-"NHH\n"
-"NAHH\n"
-"Walshburg\n"
-"Jamie Cresdee\n"
-"Nash\n"
-"Jeff Taylor\n"
-"SomeScaryGirl\n"
-"Mike Melo\n"
-"Vlad \"Rivera\" Ivanov\n"
-"racole\n"
-"VDR\n"
-"Christopher H. George\n"
-"Colby Collier\n"
-"Patrick Ley\n"
-"JHBrashear\n"
-"Lochocki\n"
-"Alberto González Rosales\n"
-"HaOsLsE\n"
-"Rich Cortes\n"
-"2affa7\n"
-"Dustin Goode\n"
-"Daniel Huber\n"
-"Cory Thomas\n"
-"Michelle Laydon\n"
-"Jason-Liang\n"
-"fangfangjt\n"
-"Lateef Law\n"
-"Andy Goodley\n"
-"Nicholas Zerwig\n"
-"Matt Long\n"
-"Matthew Allen Weber\n"
-"Chukwuemeka Ezekoka\n"
-"Neil A. Briscoe\n"
-"Roman Chikunov\n"
-"Jesse Barto\n"
-"Alexander Shivers\n"
-"HSIEH CHANG MING\n"
-"Alfred B. Dullano\n"
-"Jez2cool&Bebo\n"
-"Tom Huynh\n"
-"Will Kerr\n"
-"Granite Ledford\n"
-"Nicholas Strov Alexander\n"
-"Sajjad Ahmed\n"
-"Theo Hill\n"
-"scb\n"
-"Andrew Roderos\n"
-"Tofig Ahmed\n"
-"Mark Buono\n"
-"Eric Coleman\n"
-"Jessie Carabajal\n"
-"Marcel _N:L:\n"
-"Moshe.Itzhaki\n"
-"Carl Joseph Ellement\n"
-"aelso.silva\n"
-"gtz\n"
-"Adam Knutson\n"
-"Augusto Castelan Carlson\n"
-"Erik\n"
-"Michael Patton\n"
-"Thomas Anderson\n"
-"Geoff Thornton\n"
-"Tzalas Konstantinos\n"
-"Miguel Rosa\n"
-"Daniel Demers\n"
-"Jeremy Goyette\n"
-"N. van Zwieten\n"
-"Windsor\n"
-"Brendan Mason\n"
-"David J Smith\n"
-"Syed Ahmed Quadri\n"
-"Anders Cai\n"
-"Bonno\n"
-"Rob Looby\n"
-"Olivia the Cat\n"
-"Travis Heinz\n"
-"pranay solanki\n"
-"skennedy\n"
-"ChaXueHer\n"
-"Even Hernandez\n"
-"Mark Shield\n"
-"POPQUIZZZ\n"
-"Thomas Pedersen\n"
-"James T. Walston Jr.\n"
-"James Rosenthal\n"
-"Jesus Garcia Chavez\n"
-"Matthew Songy\n"
-"Kevin Groves\n"
-"Warakorn Sae-Tang\n"
-"Roberto Carratala\n"
-"Paul Harris\n"
-"Hasan Aljumaily\n"
-"skHosting.eu s.r.o.\n"
-"EJAZ MUNIR\n"
-"Luke Tidd\n"
-"Jason Roth\n"
-"Ali Fard\n"
-"RechieCebreros\n"
-"Samaan AlKhaldi\n"
-"Abhijeet Kunde\n"
-"Aldin Ringor\n"
-"Shine Sandhu\n"
-"Øystein Gulliksen\n"
-"Nick Travalini\n"
-"Joon Park\n"
-"M.Philip\n"
-"Kamron\n"
-"MikeCindyAkinaAlek\n"
-"Bjoern Drewes (Verfriemelt)\n"
-"Spencer Onsongo\n"
-"Corey_age_00110000\n"
-"Jegan-Malaysia\n"
-"David Okeyode\n"
-"Md Rasel Mia\n"
-"Jesse Loggins CCIE#14661\n"
-"Jacob Bennefield\n"
-"Mohamed Nizwan\n"
-"Ali\n"
-"yes\n"
-"Andrey Bozhko\n"
-"GHaKK\n"
-"Jubal Gil Vivas\n"
-"Julio Maura\n"
-"CARLOS ALBERTO PEREZ RAMIREZ\n"
-"sidney berkenbrock\n"
-"Richard Wilson\n"
-"Chase Raptor Wilson\n"
-"Rakee\n"
-"Felipe Solís\n"
-"escartinis\n"
-"Erick Parsons\n"
-"Alexander O Chard\n"
-"Davi Junior\n"
-"Zachary McLemore\n"
-"Marc Simcox\n"
-"Juan José Castro\n"
-"Dharnesh\n"
-"Mostafa Hassan\n"
-"Zaheid Iqbal\n"
-"Samarth Chidanand\n"
-"Ping Petchged\n"
-"Joe Sanchez\n"
-"Alan Dunne\n"
-"David Scolamiero\n"
-"Wade Edwards\n"
-"Teng Lee\n"
-"Voramit Y.\n"
-"Harshit Namdeo\n"
-"Michael A. Martino\n"
-"Ahmad Maher Che Mohd Adib\n"
-"h.msahbin\n"
-"tataroktay\n"
-"Tony Kenneth\n"
-"Adrien Demma\n"
-"Thiago R. Fanfoni\n"
-"vladys\n"
-"Joe Polak\n"
-"Eric Belinsky\n"
-"linuxdancer\n"
-"Ian Woods UK\n"
-"Michael Ciacco\n"
-"Suradech Pornsomboonkit\n"
-"Gauravdeep Singh \n"
-"resoldab\n"
-"Keith Gardiner\n"
-"JayWifi\n"
-"PrabhuWorld & Nishanth\n"
-"Prabhu & Agalya\n"
-"Prabhu & Duraikannan & Vanitha\n"
-"Nick Young\n"
-"yurezplace\n"
-"Seth Eshun\n"
-"TLACKI\n"
-"University of Texas at Dallas\n"
-"Richard Antiabong\n"
-"Aaminah Haniyah Rashid\n"
-"Michael Gilton\n"
-"emil\n"
-"LynnH\n"
-"Emanuel Facundo Campos\n"
-"Leandro Rudolph Araujo\n"
-"Arabi\n"
-"chekoceron\n"
-"Sonny\"Criminal\"Wigmore\n"
-"Hervey Allen\n"
-"Steve Brosseau\n"
-"Fishlogic\n"
-"Alex Kirby\n"
-"Kyle Steinkamp\n"
-"Louis Lloyd\n"
-"cblessed\n"
-"Jason Biscuit Williard\n"
-"Steven H. Kalupson\n"
-"Oshoe\n"
-"John E. Durrett\n"
-"WALA\n"
-"Adrian Huston\n"
-"Chad Hart\n"
-"Blessing Matore\n"
-"Julien BERTON\n"
-"Michel Askenfeldt\n"
-"Stephen Neary\n"
-"WavetechSystemsLLC\n"
-"CDeHoust\n"
-"James P Hollingsworth\n"
-"MMPD\n"
-"KJ Iqbal\n"
-"Ray Belshaw\n"
-"Cipriano\n"
-"Chris Fucking Johnson\n"
-"Mondilla1985\n"
-"Drew Mallett\n"
-"Kevin Taylor\n"
-"Chen Huangdong\n"
-"Dan Brito\n"
-"Charles Moore\n"
-"Rowan George\n"
-"Simon Joiner\n"
-"Ebnöther Christian\n"
-"Reza Hossain Khan\n"
-"John Regan\n"
-"Daniel D Patrick\n"
-"Gared\n"
-"George Solorzano \n"
-"Nathan Bender\n"
-"AJ Cochenour\n"
-"Noel R\n"
-"Tseggai\n"
-"sSkulltrail\n"
-"VegasRatt\n"
-"Loek Canisius\n"
-"Ismael A. Torres\n"
-"Carlos Gobea\n"
-"Patricio Salmeron\n"
-"Alex Viman\n"
-"Aram Nazarin\n"
-"KhaisarMasoodAhmed\n"
-"CameronRake\n"
-"Adnan Shaikh\n"
-"John Huston\n"
-"Rob Stoop\n"
-"route_bub\n"
-"medtemo\n"
-"Mark Mcfarland\n"
-"slaxative\n"
-"Warren Evans\n"
-"Herme\n"
-"Krzysztof Milek\n"
-"Gobinath Chandrasekaran\n"
-"julius gilmore\n"
-"jeremyjenkins5\n"
-"junj2121\n"
-"Eduard Coll Pascual\n"
-"SwampRabbit\n"
-"Chintan Patel\n"
-"Chad Monroe\n"
-"Benjamin A Albee\n"
-"S2MFH\n"
-"Rajan Thanki\n"
-"Dr. Christopher DesMarteau\n"
-"Antonio Molina Cádiz\n"
-"csegovia\n"
-"Kamaleldin M Sadik\n"
-"Tzu-Che HUANG\n"
-"Zandro Bacani\n"
-"Gabriele Di Benedetto\n"
-"ARGCCIE2013\n"
-"Tyler Kor\n"
-"petenugent\n"
-"Will Sim \n"
-"wam\n"
-"Chris Aldridge\n"
-"Dwarfmage\n"
-"Glenn \"Moose\" McHenry\n"
-"Peter Baffoe\n"
-"John and Crystal Vaughan\n"
-"JAPD\n"
-"Henrique Roma\n"
-"Joseph Webb\n"
-"Anton Denisevich\n"
-"Brennan Nehemiah Jones\n"
-"Justin Reagan\n"
-"Stewart Beam\n"
-"AlexBransome\n"
-"Dwayne Towns\n"
-"Derek Smiley\n"
-"Ferran Orsola\n"
-"Jason Craft\n"
-"devesh\n"
-"Luis A. Rocca Vazquez\n"
-"Borja López Montilla\n"
-"Adib Amrani\n"
-"Debasish Gharami\n"
-"Alessandro Lovati\n"
-"Cristian Vendemiati\n"
-"somescarygirl\n"
-"Neil Shankar\n"
-"Manjunath S Chickmath\n"
-"Phill Proud\n"
-"RolandVogels\n"
-"Sam Mackenzie\n"
-"Anthony Fuentes\n"
-"Rich N\n"
-"Meneertjes\n"
-"darma96\n"
-"Daniel Stamatov\n"
-"Jakub Peterek\n"
-"David G Boyle\n"
-"Chad Carrington\n"
-"CCIE28839\n"
-"Lilliana \n"
-"Raffaele \n"
-"Brad Powlison\n"
-"Bharath Ramakrishna\n"
-"MCyagli\n"
-"Scott Maderitz\n"
-"Eugeniu Babin\n"
-"William M Zambrano\n"
-"Elton Hubner\n"
-"Marek Macovsky\n"
-"Luccas Aguiar\n"
-"Keith Nowosielski\n"
-"Dr Bankim Jani\n"
-"JS\n"
-"Tuxufologo\n"
-"kishiro\n"
-"Eric Gamess\n"
-"Nguyen Thai Nguyen\n"
-"Dmitry Pavlov\n"
-"AS97\n"
-"Axel Sioland\n"
-"Louis Bartay\n"
-"yokota shinichi\n"
-"medtemo\n"
-"Fekadu Berhane\n"
-"Dmitriy E. Koshkin\n"
-"amrinder kamboj\n"
-"Muyeen Parveez\n"
-"Peter Tavenier\n"
-"kalpana\n"
-"DlteC do Brasil\n"
-"Tim Wilkes\n"
-"Dave Malner\n"
-"Ali Fadhl Hussein\n"
-"elgrecos\n"
-"Brandon Fields\n"
-"Richard Jenniss\n"
-"mikemick\n"
-"Hitesh Panchal\n"
-"W3FTM\n"
-"TxetxuMC\n"
-"Rotero82\n"
-"JD Keith\n"
-"MichaelDHays\n"
-"yeyo\n"
-"Mohamed Mohamud\n"
-"Tarik houmaiza\n"
-"Alessandro Piva\n"
-"Arabi\n"
-"Victor Salas\n"
-"Santosh Nair\n"
-"Shashank Bhargava\n"
-"Andrew Tagliani\n"
-"Shamal Weerakoon\n"
-"Matt \"The Beard\" Powell\n"
-"Douglas Edward Luce\n"
-"John the PawWow\n"
-"Dave Persuhn\n"
-"Peter Daniel Bartyik\n"
-"Richard P. Mauer\n"
-"Juan C. Guerrero\n"
-"Randall Nieland\n"
-"Carlos Cabrera\n"
-"Jason Giles\n"
-"Robert Pribanic\n"
-"Renato Pinheiro de Souza\n"
-"Antonio J Remedios\n"
-"Adam Reblitz\n"
-"Jose Rodriguez\n"
-"Glenn Eberhard\n"
-"EricWibowo\n"
-"Peter M Nikodem\n"
-"Sergio Ryan La Torre\n"
-"Tommie James\n"
-"Sabine Reis\n"
-"Skyler Hayes\n"
-"Yoruba\n"
-"Jens Stark\n"
-"Dean Lewis\n"
-"Recundis\n"
-"Yazeed Fataar\n"
-"IOLARIU\n"
-"Kurt & Ethan Steed\n"
-"Paul Slater\n"
-"Malick FALL\n"
-"eduinho\n"
-"Shev\n"
-"v0ha\n"
-"Bezmalinovic\n"
-"Les Bowditch\n"
-"Rick Sattler\n"
-"PGX\n"
-"Abhinandan Juyal\n"
-"Ernest Edwards\n"
-"Paul Woodhouse\n"
-"Ian Benoit\n"
-"Sasha Dee Robbins\n"
-"Ferrel\n"
-"Marc Snelgrove\n"
-"Nicolás A. Escudero\n"
-"Marcus Auman\n"
-"sides14\n"
-"albokillers\n"
-"Juan C. Espinoza\n"
-"Filipe Torres\n"
-"J.C. Cederboom BICT\n"
-"Jovanni\n"
-"Matthew C Hickey\n"
-"Michael Anthony Cummisky\n"
-"Dmitry Figol\n"
-"Brian Wusu\n"
-"ZEULEO\n"
-"SeongJaeYang\n"
-"Jesus Alirio Diaz Castro\n"
-"C Dennis Ferguson\n"
-"Viktor Pakin\n"
-"Shelbie_Fann\n"
-"Jay Canfield\n"
-"Andrei Bolanu\n"
-"Juan Felipe Palacios\n"
-"Igor Boyko\n"
-"hadinhphu\n"
-"Esvi Molina G.\n"
-"Shawn McHenry\n"
-"korjjj\n"
-"Abdul Jawad Shakoor\n"
-"Edmarc Vitz Oliveros\n"
-"Mike Melo\n"
-"Walter Haeffner\n"
-"TKH\n"
-"Matthew Weber\n"
-"H4K3R\n"
-"Shawn Hanff\n"
-"Ateeb Ahmed\n"
-"Jerry Kanoholani\n"
-"Anton Björkstrand\n"
-"Ryan Corcoran\n"
-"Eric Persch\n"
-"Dane Straub\n"
-"Syed Hashmi\n"
-"Muhammad Furqan Butt\n"
-"Jima\n"
-"Bill Scheirer\n"
-"Mikael H.\n"
-"Internetworkerz\n"
-"Mike Ferguson\n"
-"Matthew Mason\n"
-"Sujith TK\n"
-"TheSource\n"
-"Eduardo Romero Peña\n"
-"Andrei Niamtu\n"
-"Shafaq Ali\n"
-"Harold H Hall III\n"
-"Dion Rupert\n"
-"Iavarone\n"
-"Eric Geib\n"
-"Prakash\n"
-"Tom S Pedersen\n"
-"bash550\n"
-"Mukendi Zamba\n"
-"Daniel Gheorghe Luca\n"
-"Phillip B. deChantal III\n"
-"Aatif Nawaz\n"
-"Yuri (aka itAvgur) Melnikov\n"
-"iKaruS\n"
-"Jon Christopher Matthews\n"
-"Stuart Fordham\n"
-"olga1126\n"
-"Ashwani Patel\n"
-"Ronald White\n"
-"Rob VanHooren\n"
-"Ifti Hussain\n"
-"Jan Král\n"
-"pramod mangatha\n"
-"Franklin Davis\n"
-"Kendrick Som\n"
-"Joseph Amen\n"
-"Michael Lee Mosher\n"
-"Abel G. Aberra\n"
-"jbrake\n"
-"joso\n"
-"Renzo Tovar Ledesma\n"
-"Rodrigo Lube\n"
-"Emad Abid\n"
-"Joshua St.Clair\n"
-"Gabor Keri\n"
-"Chris Ortiz\n"
-"Michael P Goodwins\n"
-"Adrian Oden\n"
-"Paul Eugene Smth\n"
-"Sahil Pujani\n"
-"manokum6\n"
-"Ruslan Foutorianski\n"
-"Sinan Sulaiman\n"
-"Philip Weekly\n"
-"hernan.cruz.iii\n"
-"Torgny Holmlund\n"
-"A.Autricque\n"
-"LeeJBurton\n"
-"Daniel Elkins\n"
-"Ahmed Shetta\n"
-"Mihai Mirita\n"
-"AsdfghjkL\n"
-"Anton Zinchenko\n"
-"Anders Låstad\n"
-"Asimios Kiropoulos\n"
-"cdljel\n"
-"Meeralebbe Mohamed Rezard\n"
-"Chris Weber\n"
-"Shawn Nay\n"
-"Gabe Rivas\n"
-"Andrea Dainese\n"
-"Eric SAUGNAC\n"
-"vahid rezaabadi\n"
-"Don Kanicki\n"
-"Joe Mendola\n"
-"Stanislav_CCIE_NextGen\n"
-"Steven Coutts\n"
-"Ahmad Amran Ahmad\n"
-"ChewableFritter\n"
-"Torgny Tonna Holmlund\n"
-"Taiwo Awoyinfa\n"
-"Aju Jose\n"
-"Cory Light\n"
-"Daniel de Morais Gurgel\n"
-"pkillur\n"
-"Alex D\n"
-"Felipe Solis\n"
-"Vijayendra Shetty\n"
-"Frédéric \"Strall\" C.\n"
-"JP Scholten\n"
-"Olugbenga Adara\n"
-"José Ignacio Jorquera G.\n"
-"RICHMAC\n"
-"Timi Shoyele\n"
-"Andrew Roderos\n"
-"Sathursan Kantharajah\n"
-"Edj1963\n"
-"Lasse Haugen\n"
-"Thiago Bastos (TBastos)\n"
-"Diogo Mendes\n"
-"Eric Villeneuve\n"
-"ARNOLD KWAME MARKSON\n"
-"Tomek Szulczynski\n"
-"Achiraf\n"
-"Brent O\'Keeffe - University of Chicago\n"
-"Trenton John Skoog\n"
-"Mark Hicks\n"
-"A Davis\n"
-"VASANT\n"
-"Dat Nguyen Thanh\n"
-"Robert W Goguen\n"
-"Noel Sergio\n"
-"Peter Clemenko III\n"
-"Happy Hanna\n"
-"Alexander Atanasow\n"
-"Nkosinathi Mntambo\n"
-"Jeff Oliver\n"
-"Sean Wauchop\n"
-"Simon Priest\n"
-"oliverdiese\n"
-"Simon Macpherson\n"
-"Dennis Weijenberg\n"
-"Jonathan Worth\n"
-"Pauly Comtois\n"
-"Dynamic Network Security Ltd\n"
-"siggjen\n"
-"TimmyK\n"
-"Hernan \"IP\" Marquez\n"
-"Ryan Young\n"
-"Abdiweli Haji\n"
-"Thomas Kager\n"
-"ElaineJoyDelaCruz\n"
-"Jeff Smith\n"
-"Lionel PONCELET\n"
-"Frode Figenschou\n"
-"EvelynBowman\n"
-"Dr Barra Touray\n"
-"Irvin Leo Villanueva\n"
-"Steven Bowman\n"
-"GurcharanSingh\n"
-"Shane Bradley\n"
-"Alex Kruch\n"
-"Andrew Quinton\n"
-"Jeremiah Sholes\n"
-"David E. Cohen\n"
-"Michael Ciacco\n"
-"Ziggy\n"
-"Abrhim\n"
-"Des Kharisma\n"
-"yusyd\n"
-"Tomasz Grzelak\n"
-"mosipd\n"
-"J.D. Wegner\n"
-"Fred O Asante\n"
-"George C. Dean\n"
-"Jose Ricardo Feliz de Oliveira\n"
-"Muhammad Nouman\n"
-"Hamid Reza Farahani Farid\n"
-"Kaizad Anklesaria\n"
-"Lonie Packer\n"
-"aelso.silva\n"
-"Erik de Wildt\n"
-"thepcdoctor\n"
-"Ben Murray (Cache22)\n"
-"kuji\n"
-"Bobbie Edwards\n"
-"AugurJ\n"
-"Rodrigo de Paula Cordeiro\n"
-"Edson Siqueira, RJ - Brazil\n"
-"JMB^3\n"
-"cgbfish\n"
-"zdenotim\n"
-"Jose Barrantes\n"
-"Gordon Howard Hannan\n"
-"Aboubacar Ballo\n"
-"Matt \'Jacktooth\' Allen\n"
-"Gabe\n"
-"Junaid Khan\n"
-"Markus Schaufler\n"
-"Terry Rawleigh\n"
-"Abdulla Solutions.net\n"
-"Luis Carlos Salazar\n"
-"Charles Boston\n"
-"Tyrone Penn\n"
-"Paul Denning\n"
-"GSingh14\n"
-"preston\n"
-"Stephen Wilson\n"
-"JamesBernardVallespin\n"
-"Mircea Ion Nedelea\n"
-"Sung Jae Park\n"
-"Khaled Alghazi\n"
-"Ewart Duncan\n"
-"Nov Alpha Kilo\n"
-"Billy J Bryant \"Diomenas\"\n"
-"Tom_Evan_Alexa_Tif_Tippen\n"
-"abcdefgh1234\n"
-"Florian Ohnemüller\n"
-"gnos\n"
-"ankur singh\n"
-"Donna Murphy\n"
-"Joey Lamb\n"
-"Satyajit Mandal\n"
-"Jean Guandalini\n"
-"Mohammed Elqazzaz\n"
-"NWN Dan Hellwig\n"
-"Raghav Gurung\n"
-"Jon Halar\n"
-"Daniel G Tootell\n"
-"Graham Shaw\n"
-"Lando Thomas\n"
-"Joe Sanchez\n"
-"Chris Corbin\n"
-"Samuel E. Brown\n"
-"Dmitri\n"
-"Omar Fawaz Thoaib Al-Sammarraie\n"
-"nyasha muzwidziwa\n"
-"snuthall\n"
-"Craig Coffey\n"
-"Ramgopal Reddy M\n"
-"Guilherme Montoanelli\n"
-"l3y3t\n"
-"Tony.Davis\n"
-"Pipeiden\n"
-"Thomas Tablada\n"
-"Matthew Piechotta\n"
-"David Michael Alan Daniel Gross\n"
-"Robert Bezerra\n"
-"Sergey Polski\n"
-"Ivan Haralamov\n"
-"Harley Hopkins\n"
-"Dave Kretzmer\n"
-"Timur Mezentsev\n"
-"David Bianchi-Pastori\n"
-"Przemyslaw \'UWillC\' Snowacki\n"
-"Samuel Oppong\n"
-"Joshua Riesenweber\n"
-"Vlad Ivanovic\n"
-"bryanamv\n"
-"Tomasz Łęgowiak\n"
-"M. Dustin Brimberry\n"
-"Monthon Thunboonma\n"
-"Parambir Singh Bhullar\n"
-"Fahad\n"
-"Thomas Wing\n"
-"Devan Hardwick\n"
-"Bahman Arbab\n"
-"Jared M.\n"
-"Philip Wong\n"
-"Paulo Galluzzi\n"
-"Gregory L. Johnson, Jr.\n"
-"Mario Mariscal\n"
-"KYLE LYNCH\n"
-"Ross Anderson\n"
-"John Littler\n"
-"Kingsley Tambe-Ebot\n"
-"Muhammed Ali Bulut\n"
-"Sanjay Kumar Patel\n"
-"MUJTABA HAIDARY\n"
-"juliox\n"
-"Robert Morris\n"
-"Nick Duff\n"
-"Andrew Krist\n"
-"GNS41292\n"
-"Vishnu Nagepally\n"
-"Prithvi\n"
-"Jomar Vincent Miller\n"
-"Gildas Pambo\n"
-"Michalis Polyadis\n"
-"A.W. van Bart\n"
-"Erwyn Tadong\n"
-"Robert Laidlaw\n"
-"Lance Heckerman\n"
-"Tzu-Che HUANG\n"
-"S.Gerry\n"
-"Kevin R. Owens II\n"
-"Ahmed Alayyoubi\n"
-"GNS40116\n"
-"KeshavS\n"
-"Panagiotis Dasouras\n"
-"Francesc Lumbierres\n"
-"Brandon Benchley\n"
-"Rusu Mihai\n"
-"Imran Yousaf\n"
-"bsdam\n"
-"Curtis Bunch\n"
-"Diego Antonio Quintana Solano\n"
-"Kendell-Lee\n"
-"Scott Pickles\n"
-"Ahmed AlGherbawi\n"
-"Unzagi\n"
-"Tim Sedlmeyer\n"
-"Ethan Tan YW\n"
-"Bad Mother Fucker\n"
-"Gurpreet Grewal\n"
-"veers\n"
-"Ehsan Hzare\n"
-"Dennis Pham\n"
-"Edsil Welch\n"
-"yarrrr\n"
-"Alexey Eromenko \"Technologov\"\n"
-"Junior J George\n"
-"Q Ozzman\n"
-"Jakso Ozi Laszlo\n"
-"Origosis\n"
-"Dave Martin\n"
-"Matthew A. Kurowski\n"
-"FosNA\n"
-"Md.Rafiqul Islam\n"
-"Wuggles\n"
-"Jason Marley\n"
-"Adnan Kolakovic\n"
-"Thomas A York\n"
-"mikedesanto\n"
-"Ramadevu Ramkumar\n"
-"Joe Audet\n"
-"Barz Dove\n"
-"BremerH0\n"
-"Karwan\n"
-"Mark McGrady\n"
-"Herbie\n"
-"Adefisayo Adegoke\n"
-"Luke Dominy\n"
-"Gareth Rhys Williams\n"
-"Harley Thomas Jones\n"
-"Elvis Lunga\n"
-"elinathan\n"
-"Chris Dent\n"
-"Omeata Ifeanyi\n"
-"Sanyi Wakgari\n"
-"gizmo\n"
-"routenull0\n"
-"Simon Wilkinson\n"
-"Andy Britten 59 Commando RE\n"
-"THEIS\n"
-"F Graham\n"
-"Graham MacGregor\n"
-"wgamper\n"
-"Mark Buono\n"
-"John Li\n"
-"Daniel David\n"
-"Ahmed Thabet\n"
-"Prithvi Das\n"
-"Mike Mcleod Jr.\n"
-"Michael Higgins\n"
-"Praveen Kumar\n"
-"Rick Mills\n"
-"Miguel Sama\n"
-"Jim Aurouze\n"
-"Pramod Mangatha\n"
-"Ghiyas Haider\n"
-"frank hopkins\n"
-"Bizkitcan\n"
-"John Rockwell\n"
-"Patrick Joseph A Evangelista\n"
-"Tom Deamer\n"
-"TiagoWR\n"
-"Iman Ebrahimi Tajadod\n"
-"Somone77 was here\n"
-"mckrsta@hotmail.com\n"
-"Joseph Munyongi\n"
-"Chris Palmer\n"
-"Himanshu Bhatt\n"
-"Phil Henson\n"
-"Rfernandes\n"
-"Eze\n"
-"Ezenwa\n"
-"DaRyan Horn\n"
-"Waisudin Farzam\n"
-"Vyacheslav Sobchenko\n"
-"Robert Gorbul\n"
-"MrBultitude\n"
-"Dave Massam\n"
-"Khumi\n"
-"Francisco \"TuKoX\" Briano\n"
-"Aijaz\n"
-"rittam\n"
-"Seweryn Obieglo\n"
-"Tessius\n"
-"Hans Lossman\n"
-"Libi Pappachen\n"
-"TSAV\n"
-"Deskha\n"
-"Mohammad Al Amaireh\n"
-"Megajove\n"
-"Nico Heijnen\n"
-"Jeff Nagel\n"
-"Travis Baker\n"
-"Bryan Tabb\n"
-"MNL1960\n"
-"LsTRA\n"
-"GarethHall\n"
-"Vanquish1986\n"
-"JAMES SNEW\n"
-"Muhammad Bhatti\n"
-"Tiago Marques\n"
-"Jason Pietrzak\n"
-"Ping Petchged\n"
-"Herman\n"
-"Nikul Patel\n"
-"Alfred Eric Jones III\n"
-"Josh Barenthin\n"
-"Kanuj Behl KjB\n"
-"philbeau\n"
-"YALEW TAKELE\n"
-"phletchmattic\n"
-"Jayir Mansuclal\n"
-"Phil Beaudoin\n"
-"Steve Minnick\n"
-"Eugenio de la TorreGNS30928\n"
-"Eugenio de la Torre\n"
-"Aelso.silva\n"
-"Jodoval Luiz dos Santos Junior\n"
-"Zack Manriquez\n"
-"WOS\n"
-"Chris Good\n"
-"ALI QASSEM ALMHDI\n"
-"Clifton Bissick\n"
-"Edward Cohen\n"
-"Driton B\n"
-"Brian Keifer\n"
-"Henry Dsouza\n"
-"Garrett Haynie\n"
-"Bob Lyons\n"
-"David E Soto JR\n"
-"Rob Jeff\n"
-"Cicero Avila\n"
-"fulopa7\n"
-"Arnaud Helin\n"
-"Dan Alongi\n"
-"JamesDanielMorris\n"
-"Vladimir Novakovic\n"
-"Daniel Baeza\n"
-"Manolo164\n"
-"Mike Simkins\n"
-"Craig Ellegood\n"
-"Angel Serrano\n"
-"Jude Lymn\n"
-"Robert Jordan\n"
-"Karl Struss\n"
-"Curt Kellum\n"
-"Paul Gunter Bravo Ch.\n"
-"Guy Verdegem\n"
-"Walter Johnstone-Breen\n"
-"Maged Atef\n"
-"Morgan Chea\n"
-"Microland Limited\n"
-"Saed Zahedi\n"
-"Reynaldo Bilan\n"
-"Josh Lumahan\n"
-"Nima Javidi\n"
-"CraftedPacket\n"
-"Mike McPhee\n"
-"Christopher Beyer (CT)\n"
-"lishanmirando\n"
-"Christian Chavez\n"
-"Shawn H4K3R Hanff\n"
-"Marcin Markowski\n"
-"Ibrahim El-Ali\n"
-"Muhammad Agung Nugroho\n"
-"Don Taylor II\n"
-"Ian Davidson\n"
-"Henry Trombley II\n"
-"Nestor Rubio\n"
-"Fritters\n"
-"Korish\n"
-"Humaiun\n"
-"Bilal Issa\n"
-"Francisco Alfaro Espinoza\n"
-"Travis Kreikemeier\n"
-"Chee Vooi Lew\n"
-"Ovidiu Constantinescu\n"
-"Sergio Martinez Leon\n"
-"saran\n"
-"SPUCKETT\n"
-"Krishna Kumaran GK\n"
-"StefanoLaguardia\n"
-"Patrick McGirr\n"
-"Anderson vakaoBR Leite\n"
-"Felippe Dias\n"
-"Vladimír Vladys Jančich\n"
-"Johnboy3\n"
-"Shane Froebel\n"
-"Cushgod\n"
-"Craig Zambra\n"
-"tsk700\n"
-"Erik Pettersson\n"
-"Daniel Leece\n"
-"Tim Ingalls\n"
-"Matti Huotari\n"
-"Duminda Wehalle\n"
-"MACE529\n"
-"Mohamed Furqan Firdous\n"
-"Dinesh Rupan\n"
-"Chad Stambaugh\n"
-"Thomas Marchsteiner\n"
-"Luis Gustavo Fernandes\n"
-"Aouachria Nassim\n"
-"Gerardo Estrada Gutierrez\n"
-"Erik A Bodholt\n"
-"Ali Khuram\n"
-"SysWiz\n"
-"Guilherme Ladvocat\n"
-"Ezy\n"
-"Chris Bell\n"
-"Paul Heck\n"
-"Bjørn Petter Kysnes\n"
-"Andre Jonker\n"
-"BARY\n"
-"Grillmon\n"
-"Hisham Jaghloul\n"
-"Straube\n"
-"Ian Patterson\n"
-"Andrew J. Thompson\n"
-"Damian Barlow\n"
-"Marcus\n"
-"Kevindenton\n"
-"KoolFadil\n"
-"Fadil Kadrat\n"
-"Jacob McCoy\n"
-"Penny Yeung\n"
-"SOE NAING OO\n"
-"Victor Reyes II\n"
-"Ronnie van Eecke\n"
-"Derek Fries\n"
-"ZAIM Lotfi\n"
-"Larry Peterson\n"
-"Stephen Arogbonlo\n"
-"Cristian Silva Guerra\n"
-"Bill Miller\n"
-"jaberzadeh\n"
-"Peyton Quast\n"
-"Ola\n"
-"D O\'Raghallaigh\n"
-"Shaik Mahamood\n"
-"ZardozTrampoline\n"
-"Jason Zimmerman\n"
-"ALI Q ALMHDI\n"
-"Maxim Klimanov\n"
-"DBQ1969\n"
-"Drew Gough\n"
-"Aamir Ismail\n"
-"Ejdayid\n"
-"Charles Maze\n"
-"GunnarHakonarson\n"
-"Mark Wyss\n"
-"nicku\n"
-"Adam Norman\n"
-"Ahmad Rateb\n"
-"Kingsley Tako\n"
-"Saminder Sandhu\n"
-"Ahmed (Sigey)\n"
-"Rémy POUPPEVILLE\n"
-"JeroenPeeters\n"
-"d3vild0g\n"
-"Stefan Stoyanov\n"
-"Anthony Hopkins\n"
-"Paul Jeffrey\n"
-"Tommy Faucher\n"
-"Gessesse Eshetu\n"
-"Christopher Pratt\n"
-"Jani Laakkonen\n"
-"Marios Nicou Louca\n"
-"Aaron Schmierer\n"
-"Chris Luke\n"
-"Preston Taylor\n"
-"Chris \"Sasquatch\" Saxton\n"
-"Brian Dalhover\n"
-"Aaron Mayfield\n"
-"Engjell R. Pllana\n"
-"KalSarai\n"
-"Mike Nathan\n"
-"Le Viet Thanh\n"
-"Stumper\n"
-"Brian Ladd\n"
-"Brian Binion\n"
-"Marcos Umino\n"
-"Alex Martins\n"
-"Petrollese\n"
-"Marion Bogdanov\n"
-"Tom Jehn\n"
-"Kevin \"MadDOG\" Livingston\n"
-"Mike Profitt\n"
-"Sean Treschen Pillay\n"
-"adunselman\n"
-"Andre Dunselman\n"
-"Don McDonald\n"
-"Jeff Cummings\n"
-"Carlos M Cabrera Vargas\n"
-"Dilip Ratna\n"
-"Viet Nguyen\n"
-"Nelson Lee\n"
-"John Anthony Jones\n"
-"Jack and Mia\n"
-"JamesANDDanielMorris\n"
-"Giuliano Barros\n"
-"Ingo Bothe\n"
-"Malik Lolonga\n"
-"NAIF - ALthubaiti\n"
-"Faisal Rehman\n"
-"Juergen Morgenstern\n"
-"Adli Hajarat\n"
-"SONIDA\n"
-"Dan Morgan - VisuMAX\n"
-"Joe Sarah Vivien Brantley\n"
-"Joe Sarah Vivien Sam Brantley\n"
-"Alex Kiwerski\n"
-"Christian Hansen\n"
-"Digital Design Networks, LLC\n"
-"TorentZachary\n"
-"RobinM\n"
-"Michael Amador\n"
-"claytondf\n"
-"James W.A. Albert\n"
-"Mike Carty , Alliance\n"
-"Damian Zaremba\n"
-"Sol Birnbaum\n"
-"Mark Butler\n"
-"Sam Alletto\n"
-"Ron Cannella\n"
-"RIP Benjamin Gibbs\n"
-"Joshua Settle\n"
-"rotimi gbadamosi\n"
-"rivmont\n"
-"CCIE28826\n"
-"Miltiades Hadjioannou\n"
-"Psyche607\n"
-"Yohan\n"
-"Denilson Dejesus\n"
-"Allan Que\n"
-"Rudy R Guerra\n"
-"Palle Christoffersen\n"
-"Kishor\n"
-"Vinicius, O Caixeta\n"
-"Mohamed Rezard Meeralebbe\n"
-"EmreR\n"
-"Alex Hubery\n"
-"Sol Huebner\n"
-"alepo\n"
-"Andrés oRtA eLiZalde\n"
-"Frank Garrison\n"
-"Vincent van der Sluijs\n"
-"NelsonNetworks\n"
-"Marc Weisel\n"
-"wobe\n"
-"Kev Ward,UK\n"
-"Mitch Vaughan\n"
-"Mujtaba Mir\n"
-"Arni Birgisson\n"
-"Abel Aberra\n"
-"Jeff Nierman\n"
-"godZilla\n"
-"gingerpower121\n"
-"cyrinojuca\n"
-"Peter Joseph\n"
-"Davisteraz\n"
-"Eduardo Cardoso dos Santos\n"
-"MARK \"BIG MAC\" MCGRADY\n"
-"chekoceron\n"
-"GuillermoJimenez\n"
-"Alvin Phillip\n"
-"jerrysimila\n"
-"Patrick den Hoed\n"
-"Ciro Centro Strico Salerno\n"
-"Emilio Morla\n"
-"Mike Shafer\n"
-"agho\n"
-"Fernando Requena\n"
-"Dovydas Stepanavicius\n"
-"Joseph W. Anderson\n"
-"Nathan Chisholm\n"
-"Yahngel\n"
-"rolf1974\n"
-"Joe Polak\n"
-"Stephen Moore\n"
-"Van Michael\n"
-"Ondrej Köver\n"
-"Brian Adelson\n"
-"Vasco Ferraz\n"
-"CHONG YU NAM\n"
-"Jody L. Whitlock\n"
-"Kanangu\n"
-"Godwin Nsubuga\n"
-"John Hennessy\n"
-"Michael A. Little\n"
-"stibibby\n"
-"Shane K Hunt\n"
-"Adroit Tutoring\n"
-"JamesBernardBenjaminVallespin\n"
-"Ken B.\n"
-"Asib Yussuf\n"
-"Miguel Edison Santos - CAF\n"
-"Robson Luis Sgai\n"
-"Leon Deguenon\n"
-"Gabriel Urra\n"
-"Rob Coote\n"
-"Wickedkuul_Beehotsch\n"
-"Robert Mikołajczyk\n"
-"Yasser A. Alluhaidan\n"
-"Gessesse ESHETU\n"
-"Joe Kukis\n"
-"rgb943\n"
-"Joe Wills\n"
-"Robert Rittenhouse\n"
-"Reinaldo Benitez\n"
-"vrhvenkatesh\n"
-"Nirav Bhatt\n"
-"David Perry\n"
-"Carsten Ellermann\n"
-"Rufus Methu Igoro\n"
-"Jeff Pooley\n"
-"Andrew B. Shipton\n"
-"YeowKee YK@TECHNICALES.COM\n"
-"naveed4k143\n"
-"Nathan Ash #12148057\n"
-"Robert Marmo\n"
-"George Vanburgh\n"
-"Tudor Davies\n"
-"Jeremy Bowen\n"
-"Andrew Fox\n"
-"Junior Taitt\n"
-"Tropizm\n"
-"Potcholo \"Nick\" Nicolas\n"
-"Brandon Bennett\n"
-"ntwrks\n"
-"Hjalti Pálmason\n"
-"Zachary Hill\n"
-"Ian Verno\n"
-"Jean-Christophe Baptiste\n"
-"chandima Ediriweera\n"
-"GunnarH\n"
-"Kenrick Wong\n"
-"David Afro Lezama Castro\n"
-"Asad Munir\n"
-"mohammed hashim\n"
-"José Luis Berlanga Villlarreal\n"
-"aaden\n"
-"Martin Schumacher\n"
-"Ðrizz\n"
-"Daniel Lintott\n"
-"tekdork\n"
-"Sergio Pereira\n"
-"James Wamburi\n"
-"Mark Wecker\n"
-"umar.hanafi86@gmail.com\n"
-"Edson Tadeu Almeida da Silveira\n"
-"Christopher Kilger\n"
-"Alex Beal\n"
-"Johnny Uribe\n"
-"Kevin P Sheahan\n"
-"Alex C. Rodich\n"
-"Joao Teixeira\n"
-"Caio Vianna Mello\n"
-"fierceg37s\n"
-"Doug Lardo\n"
-"Conrad Jedynak\n"
-"Andy Kelsall Jr.\n"
-"Marco Basurco\n"
-"Julio Delgado Jr\n"
-"Ken Hallstrom-Meade\n"
-"Nathan Loop\n"
-"daxm\n"
-"Kevin Pryce\n"
-"Skipdog\n"
-"Jean D Ulysse\n"
-"Richard Kwame Peasah\n"
-"Peter Musolino\n"
-"Eric Andrews\n"
-"Essam M Mahmod Ahmed\n"
-"Mir Ali\n"
-"JesurajAP\n"
-"David Darryl Pitre\n"
-"Vladimir Zalles\n"
-"C_S_Ginn\n"
-"Gustaf Hyllested Serve\n"
-"Matt Blackwell\n"
-"Skilldibop\n"
-"Paul \"Skilldibop\" Jerome\n"
-"Gera74\n"
-"AAronC\n"
-"Rob Wilkes\n"
-"steve brokenshire\n"
-"Mardie Kartosoewito\n"
-"Ryan Bagley\n"
-"Mario Seoane\n"
-"James Vickery\n"
-"Peter Scheele\n"
-"pdxDavid\n"
-"Pedro Sobral\n"
-"Bryan E. Pratt Jr.\n"
-"Eddy Loffeld\n"
-"Joshua Guillory\n"
-"ClarenceCaldwell\n"
-"Afrim Kwarteng\n"
-"Chika\n"
-"Marco Caruso\n"
-"Abubakr A Binafif\n"
-"chuck russell\n"
-"Jake Vallejo\n"
-"Kostia\n"
-"Biswajit\n"
-"Marcelo da Silva Conterato\n"
-"Ellert Hardarson\n"
-"Rowan Lee\n"
-"Mossyrik78\n"
-"Mikhail Shpak\n"
-"Gianremo Smisek\n"
-"xtify21\n"
-"Travis Newton\n"
-"Stephen Turnbull\n"
-"James Grace\n"
-"Eric \"Frenchie\" Villeneuve\n"
-"Rick Brady\n"
-"Bodizzle\n"
-"rbailey-NTAI\n"
-"Asamoto\n"
-"Allen Taylor\n"
-"NetJimB\n"
-"kyoungyong lee\n"
-"Damian Marcrum\n"
-"Nicolas Bautista\n"
-"Brad Allatt\n"
-"Salman Ahmad\n"
-"Gerardo Guzman\n"
-"Kovan Azeez\n"
-"Alkhamisy Adel Hamad\n"
-"RajJyothi\n"
-"Leonardo S Jeronimo\n"
-"Xcratburma\n"
-"Bjørn-Inge Haga\n"
-"Tristian Howard\n"
-"Robert Wilson\n"
-"BattyTheJedi\n"
-"Kosala\n"
-"Nazmus Sakib\n"
-"Alfred Eric Jones\n"
-"J Grant Bellchamber\n"
-"Lekan Aje\n"
-"Jacob Winkle\n"
-"Maybe translate to Norwegian?\n"
-"Anthony R Junk\n"
-"Amplex Electric, Inc.\n"
-"Sue Chatterjee\n"
-"Glen Stadig\n"
-"Christian Menz\n"
-"Billy Nix\n"
-"JoeyL.\n"
-"Alessandro.Veras\n"
-"Steven Vlahakis\n"
-"Kevin Bowen\n"
-"NG11geek\n"
-"Matvey Gubanov\n"
-"frano-dalmatinac\n"
-"OrceDimitrovski\n"
-"boogsalmighty\n"
-"Maky Robert\n"
-"Stuart Walker\n"
-"Vipin Kumar\n"
-"N.Sivatharzan\n"
-"Dannie Norman\n"
-"Sylvester Metieh\n"
-"Tyler Pruess\n"
-"DanielMB\n"
-"Ryan Douglass Milton\n"
-"Ahmad Amran - Webcore\n"
-"Benjamin Feld\n"
-"GWSchweickert\n"
-"Dirk Fettke\n"
-"AJ NOURI\n"
-"Stefan_Basson_Sydney_AUS\n"
-"Tang Choong Whye\n"
-"Ofer Ben Zvi\n"
-"5UCC355\n"
-"Rikard Borginger\n"
-"Robert K. Saydee Sr.\n"
-"D.Coty\n"
-"Michael G. Taylor Sr.\n"
-"Erich Schommarz\n"
-"Cassius Thomas\n"
-"Dominic Metzger\n"
-"Mike Manning\n"
-"José M. Castro Jr.\n"
-"Justin Bridgman\n"
-"Francis Enmanuel Baez Metz\n"
-"Ievgen Morskyi\n"
-"itAvgur-Irkutsk-Russia\n"
-"Padraic D. Hallinan\n"
-"Thomas Deamer\n"
-"Marco Paulo Ferreira\n"
-"Nicolas Pagano\n"
-"JR Garcia\n"
-"SIAGHY\n"
-"Naj Qazi\n"
-"reynaldo bilan\n"
-"Matt Egan\n"
-"Chris Beach\n"
-"Fco. Jose Santos\n"
-"Johnny Miller\n"
-"Muhammad Tahir Munir\n"
-"BJoslin\n"
-"Nick Fouts\n"
-"Pete Kowalsky\n"
-"developer\n"
-"Tyler Conrad\n"
-"Michael Weaver Johnson\n"
-"s2mfh\n"
-"Scotty2mfh\n"
-"Nicolas Dangeon\n"
-"Michial Cantrell\n"
-"Sébastien Larivière\n"
-"Primmus\n"
-"Wonder Jones\n"
-"Weston L Myers\n"
-"Steve Brosseau\n"
-"Ryan Mortier\n"
-"Steve Snavely\n"
-"Kirk J Iles\n"
-"Tiago Sousa\n"
-"Jesuraj Amaladas\n"
-"Mark C Bernier\n"
-"Jonathan David Rees\n"
-"David Bigerstaff\n"
-"Widmo\n"
-"Karl Billington\n"
-"naner2k\n"
-"Jose Daniel\n"
-"Mark.Foutch\n"
-"Bootcamp20\n"
-"Peter Hansen\n"
-"Dharnesh\n"
-"EnglishRob\n"
-"Jyotirmoy Lahkar\n"
-"Guggilam Guru Vasudeva\n"
-"Chris Higgins\n"
-"Blas Díaz (Colombia)\n"
-"Ahmed Albadree\n"
-"Jens Holtmann\n"
-"TJ Kwentus\n"
-"Jacob Smith\n"
-"Damian Baran\n"
-"phocean\n"
-"Mark \"BigMac\" McGrady\n"
-"teav-sovandara\n"
-"Dinesh Galani\n"
-"Raman Thapa\n"
-"RechieCebreros\n"
-"Jade Rampulla\n"
-"Fred Quan\n"
-"Martin Wall\n"
-"Louis Duzant\n"
-"SebasNati\n"
-"Erik Fairbanks\n"
-"Simon Boadi\n"
-"Darren Smurphin Murphy\n"
-"Stephanos Christou\n"
-"Rob Hinst\n"
-"Carlos A Salas\n"
-"Snehal Patel\n"
-"S. O\'Reilly\n"
-"John Volter\n"
-"dkmahajan\n"
-"mansoor\n"
-"Charles Crosland\n"
-"Thiha Soe\n"
-"Ram K Bista\n"
-"toyosiolabs\n"
-"Shardul Ingle\n"
-"KhurramArif\n"
-"AaronMcKenna\n"
-"FaustoSampaio\n"
-"Justin Lemme\n"
-"Jquest\n"
-"Michael Brister\n"
-"Nicholas Donathan\n"
-"Slawomir Babicz\n"
-"Bradley Grein\n"
-"Roy\n"
-"RoyD\n"
-"Adam Bailey\n"
-"Daniel Neculai\n"
-"Kevin Vogt\n"
-"ALFREDO PASIGAN SALIPOT\n"
-"Giovanni Lojica\n"
-"Nicolas A. Escudero\n"
-"The Big Dirty\n"
-"Arun Joshi\n"
-"John Michael Santiago - boogs\n"
-"Gian-Luca Casella\n"
-"Geron Craig\n"
-"Christopher Young\n"
-"John Buelk\n"
-"Julio Moraes\n"
-"Aaron Meade\n"
-"Paulo Guerreiro (Portugal)\n"
-"CR Thompson\n"
-"Timár Zsolt\n"
-"Leobis\n"
-"Alan Matson\n"
-"Eric Park\n"
-"Pavel Tishkov\n"
-"L@mine S@lhi\n"
-"Per-Erik Brask\n"
-"Matt Williams\n"
-"Favre was here.\n"
-"Sergey Zheleznyak\n"
-"Alongi Daniel\n"
-"Lee Jeong Goo\n"
-"Chris Swinney\n"
-"Ayyappan Ramanan\n"
-"GSEC4959\n"
-"Cesar Honores\n"
-"Ravinderpal Singh\n"
-"Lee Haynes\n"
-"Jose Luis Bosquez Echevers\n"
-"Yevgeniy Orman\n"
-"Ankur Singh\n"
-"Marcos de Jesus Magagalhaes\n"
-"Dave Heinz\n"
-"Emberly\n"
-"Chris Gauthier\n"
-"Blair&BenedictRepuyan\n"
-"Alex Recupero\n"
-"Victor Knell\n"
-"Travis Yates\n"
-"John Yates III\n"
-"Ian_C\n"
-"Jesse Jensen\n"
-"Drew Ludwick\n"
-"Chris Barlow\n"
-"Alessandro Veras\n"
-"Alan Matos\n"
-"Harold Alden A. Sanchez\n"
-"Munir B. Abdullahi\n"
-"FARTXaler\n"
-"DEWTEK\n"
-"DewTech\n"
-"Daniel Darby\n"
-"Tishkov Pavel [64]", None))
+ "Tenzin Rigdol Oshoe\n"
+ "Brian Jacobson\n"
+ "Chad Hoevenaars\n"
+ "Jesus Espinoza\n"
+ "Des Kharisma Tarigan\n"
+ "David Bigerstaff\n"
+ "Christopher Good\n"
+ "Brian Farmer\n"
+ "Jimmy Bruneel\n"
+ "Rob Edwards\n"
+ "BEGQTh34\n"
+ "Nebulis01\n"
+ "The JWag (James Wagner)\n"
+ "JONATHAN BALEVA VIRAY\n"
+ "Jamie Hoyt\n"
+ "Jake Guffey\n"
+ "Enis Byci\n"
+ "Avery Wright\n"
+ "Maxim Klimanov\n"
+ "Salomon ADJOVI\n"
+ "Keith McCulloch\n"
+ "Guillermoi A Pierluissi\n"
+ "MiraliN\n"
+ "ALexandr Ismagilov\n"
+ "mistabatu\n"
+ "AFIF JABADO\n"
+ "Allen Hadder \n"
+ "Jonathan M. Olivier\n"
+ "Muhammad Adeel Malik\n"
+ "PhatWheZ\n"
+ "Christopher D Perrett\n"
+ "James Clifford\n"
+ "David Henderson\n"
+ "Andrea Florio\n"
+ "Michael Eva\n"
+ "Abdul Wahid\n"
+ "SebastianHelmer\n"
+ "Eric Maxwell\n"
+ "Bradly Leiws\n"
+ "Pavel Afanasjev\n"
+ "Jan Jessen\n"
+ "Brandon Raikes\n"
+ "Geron\n"
+ "Joel-Brook-Leeds-yay!\n"
+ "Robert Novak\n"
+ "Barry Weiss\n"
+ "Sami Alsubhi\n"
+ "Packetboss\n"
+ "Ionut Vasile\n"
+ "Nick Yeager\n"
+ "Pioneer Network Solutions, LLC.\n"
+ "Randy Timmermans\n"
+ "Pablo Lucena\n"
+ "Michal Dulovic\n"
+ "Ramon Pinyol\n"
+ "Roberto Taccon\n"
+ "Andras Dosztal\n"
+ "Matthieu Dalcourt\n"
+ "Matt Dominey\n"
+ "Wanderson Cristony Tinti\n"
+ "Alexandre Maia Vlahos\n"
+ "DarronDazlinSmith\n"
+ "JOHN BAPTIST OBILIL\n"
+ "Jimmy Copeland\n"
+ "Roy Benoy\n"
+ "Henrik Kruse Larsen\n"
+ "cpt2040\n"
+ "Martin Varga\n"
+ "Jonathan Gonzalez\n"
+ "Luke Withers\n"
+ "Mahir Ali Ahmed\n"
+ "Dean Ryan Perrine\n"
+ "Robert F. Dias Jr\n"
+ "Ashenafi\n"
+ "Justin L. Spencer\n"
+ "Carlo Gagliardi\n"
+ "Sean Barmettler\n"
+ "focaccio\n"
+ "rhein021\n"
+ "Frederick Poirier\n"
+ "Dmitri Fedotov\n"
+ "Ernie Maestas\n"
+ "Colin Taylor \n"
+ "HugoAmaro\n"
+ "Solim\n"
+ "Volodymyr Kharytonov\n"
+ "Max \"Big Hoss\" Clise\n"
+ "Alex_Gutierrez\n"
+ "Saad Najaf Khan\n"
+ "dahveed311\n"
+ "Michael Loft Mikkelsen - DK\n"
+ "HyperSCSI\n"
+ "Enrico Floris\n"
+ "Grigoris Papalexis\n"
+ "Prithvi Mandava\n"
+ "YOUNIS BADAWI\n"
+ "SelvaagIT\n"
+ "steve brokenshire\n"
+ "Brian Adelson\n"
+ "Michael A Hern\n"
+ "Umair Ali Soomro\n"
+ "Matt_Earp\n"
+ "Martin L Lora\n"
+ "Diego Monasterios\n"
+ "Chris T Sims\n"
+ "Jeff Wagner\n"
+ "Harinder Singh\n"
+ "David Gaytan\n"
+ "Jonathan Moulton\n"
+ "OGUZHAN VEYSEL ATALAR\n"
+ "Bent Mathiesen\n"
+ "GuruSue\n"
+ "mmetaphor\n"
+ "Paul Stoner\n"
+ "Ryan Corcoran\n"
+ "OmarS\n"
+ "Dudiefa Tonye\n"
+ "Christian Elsen (San Francisco)\n"
+ "Victor Venturelli Mosconi\n"
+ "Barry Jones\n"
+ "Syed Zayed Bukhari\n"
+ "Kareo\n"
+ "Urs \"Whity\" Weiss\n"
+ "Jesus Hernando Lopez\n"
+ "Mike McCauley\n"
+ "Carl Francis AKA tEeJ\n"
+ "Imad Daou\n"
+ "orangejam72\n"
+ "Paulo \"elTechno\" Alvarado\n"
+ "Don Coulson\n"
+ "Jeff Nierman\n"
+ "Brian Whelton\n"
+ "Garang Deng\n"
+ "Marcus Watson\n"
+ "Paul@GGR\n"
+ "Anthony Branchaud\n"
+ "Rameez-C\n"
+ "Patrick Williams\n"
+ "Jonathan Madore\n"
+ "Robert Gene Horn\n"
+ "Jaime\n"
+ "Ken Richardson\n"
+ "Eduard Ch.\n"
+ "Ionut Tartau\n"
+ "Fred Ellis Jr\n"
+ "Ferenc Kuris\n"
+ "David Tinsley\n"
+ "Jeroen Roos\n"
+ "Peter Palasti\n"
+ "Dave Hardy\n"
+ "Herceg Andras\n"
+ "Bryan Scarbrough\n"
+ "Filipe Matias\n"
+ "Muelly\n"
+ "tr3quart1sta\n"
+ "Ian C Scarborough\n"
+ "Robert B Romel\n"
+ "Pio P. Prado\n"
+ "zasplas\n"
+ "Pantelis Stoufis\n"
+ "Daniel R Moore\n"
+ "Daniel Tinsley\n"
+ "Derek Ivey\n"
+ "Alessandro Piva\n"
+ "Tony DelGreco\n"
+ "Tyler Carlisle\n"
+ "Christopher Buckley\n"
+ "Korstiaan Kooijman\n"
+ "Paul Schriever\n"
+ "Mawat\n"
+ "Ivo Bottenheft\n"
+ "Soundwave\n"
+ "Markus Karlsson\n"
+ "molan1\n"
+ "Nikola Sambolic\n"
+ "Joachim Boadu Kwaku\n"
+ "Adi Wong\n"
+ "Joao Teixeira\n"
+ "Alexandru Badea\n"
+ "Bryan Hubbard\n"
+ "Rajesh Anne\n"
+ "Bartosz Durma\n"
+ "Vladusha\n"
+ "HasanTheWise\n"
+ "Tejinder Panesar\n"
+ "Alexandru Stefan Marinescu\n"
+ "Giovanni Augusto\n"
+ "Kyryl Tumanov\n"
+ "Rashiem Mims\n"
+ "Maky Robert\n"
+ "Timur Mezentsev\n"
+ "Matt Blackwell\n"
+ "James Moore\n"
+ "elhatab\n"
+ "Ruben Lihet\n"
+ "Paul Kiela\n"
+ "Jeffrey Kraemer\n"
+ "Andrew K.\n"
+ "Comein Arnaud\n"
+ "Riccardo Bruzzone\n"
+ "Ulrich Kempken\n"
+ "Simon Wilkinson\n"
+ "Susan Chatterjee\n"
+ "Jose Isidro Cantu Alvarez\n"
+ "Mcglon\n"
+ "Asimios Kiropoulos\n"
+ "slobodan simic\n"
+ "Jacob Adlon\n"
+ "arkSyne\n"
+ "Rakesh M. Thakkar\n"
+ "Tchitchi\n"
+ "Mohamed Rezard Meeralebbe\n"
+ "JaeHyeong Jeon\n"
+ "enderst\n"
+ "Yves Kerbens\n"
+ "Ramon Kidd\n"
+ "Frank Olshansky\n"
+ "Steve Miller\n"
+ "Curt Wheeler\n"
+ "Tony M Nguyen\n"
+ "Chris Kuhn\n"
+ "John K Williamson\n"
+ "Swinster\n"
+ "Jared Heinrichs\n"
+ "macbroadcast\n"
+ "Cyrinojuca\n"
+ "Sean Cardus\n"
+ "Lazaro Rene Ortega Rodriguez\n"
+ "Andrew Peter Kirkby\n"
+ "Luis Ramos\n"
+ "Sean McGrath\n"
+ "Manuel Neuner (Austria)\n"
+ "Matt Siegel\n"
+ "J. Neil Marlowe\n"
+ "Shibata\n"
+ "Michael Maguire\n"
+ "Harmeet Singh Sian\n"
+ "Britt Adams\n"
+ "MuslimSubmittedToGod\n"
+ "Samuel\n"
+ "Steve Housego\n"
+ "Pablo Hauptmann\n"
+ "Stevan Sheely\n"
+ "Brian \"Red\" Williamson\n"
+ "Mark Fietje\n"
+ "Muhammet Said Temelli\n"
+ "Skeeve Stevens\n"
+ "JEFF OLIVER\n"
+ "Frederik Bjerggaard Nielsen\n"
+ "Anar R. Iskandarli - Azerbaijan\n"
+ "Anthony_Oliverio\n"
+ "Jason Cook\n"
+ "Kalamoukos Dimitris\n"
+ "Francis Ruddy\n"
+ "roxtonuk\n"
+ "Przemyslaw \'UWillC\' Snowacki\n"
+ "Chipa\n"
+ "M Sawatzky\n"
+ "dzap\n"
+ "Shaun Carlin\n"
+ "Jegan\n"
+ "Enrique Gómez Monreal\n"
+ "Marco Simontacchi\n"
+ "Christopher Robert Lee\n"
+ "esreverse\n"
+ "milan peyrac\n"
+ "Robin Wood - Digininja\n"
+ "Dan Nelson\n"
+ "Gareth Mitchelson\n"
+ "Michael V King, Sr.\n"
+ "Brent A Walter\n"
+ "smcghie\n"
+ "Jose Carvalho\n"
+ "IPrgomet\n"
+ "Richard Harris 1\n"
+ "Wilson Mendes\n"
+ "Jovito Cueva\n"
+ "Conrad Jedynak\n"
+ "Martin Gursky\n"
+ "paul wynne\n"
+ "Oyama Hall\n"
+ "Giles Mathew Broom\n"
+ "Akwasi Adu\n"
+ "Dan Roering\n"
+ "Sal Amico\n"
+ "Jakso Laszlo 06101963\n"
+ "Engelbert Luechinger\n"
+ "MWenglikowski\n"
+ "Waqas Bashir\n"
+ "Garrett Skjelstad\n"
+ "Renato de Pierri - SP Brazil\n"
+ "Ebo Semenhyia Thompson\n"
+ "Marcos Rodrigo Santos de Souza\n"
+ "OGINNI OLUWASEYI\n"
+ "Jordan Foster(Jez2cool)\n"
+ "Bluca\n"
+ "Earl Bovell\n"
+ "Steve Stewart\n"
+ "Mike Boughton\n"
+ "Adrian Z.\n"
+ "Phillip White\n"
+ "Mustafa Ameen Al-Khateeb\n"
+ "Vikas Sharma\n"
+ "Noel Mulryan\n"
+ "Johan2004\n"
+ "James Ramsay\n"
+ "Brian Lehr\n"
+ "ecium\n"
+ "Yatin K Shah\n"
+ "Neil Sheridan\n"
+ "Francis Pena (JigaX)\n"
+ "Hank Yeomans\n"
+ "Peter Stanczak\n"
+ "jhrcariazo\n"
+ "Matthew Gosling\n"
+ "Danni Nissen Bardino\n"
+ "Duane McNulty\n"
+ "Adam Wysockyj\n"
+ "Benjamin Donald Byers \n"
+ "Terrance Richards\n"
+ "Erik Jacobson II\n"
+ "DIAS\n"
+ "ALDO LEIVA-MARCHISSANO (DECO5)\n"
+ "dedycahyadi-unmul\n"
+ "Robert Trow\n"
+ "Adam Johnston\n"
+ "Mace\n"
+ "Alexander Lubenski\n"
+ "John Braswell\n"
+ "Brian Sanders\n"
+ "David Vierling\n"
+ "André Jan Smit\n"
+ "RedNectar Chris Welsh\n"
+ "Edmarc Vitz Oliveros\n"
+ "Vivek Bannore\n"
+ "Emilio Sanchez Parbul\n"
+ "Luke Jay Cooper\n"
+ "Bill Laubsch\n"
+ "Luke Cooper\n"
+ "Chris Cook\n"
+ "KloudFyre Networks\n"
+ "Jason Miller\n"
+ "Chase Wright\n"
+ "Joseph Paveglio\n"
+ "Shing Hei Yee\n"
+ "MARSHG\n"
+ "Rowan Brandon Lee\n"
+ "AbdulHayee\n"
+ "Wanxue Hai\n"
+ "Net9 Telecom\n"
+ "Dean Lofts\n"
+ "Gordon Duncan\n"
+ "Daniel Gurgel\n"
+ "Bill Scully\n"
+ "Scott Dalton\n"
+ "brato\n"
+ "Peter Hansen\n"
+ "Jose E. Silva\n"
+ "reySkata\n"
+ "Francis Xavier Todd II\n"
+ "Nick Cochrane\n"
+ "Geoff Kuchera\n"
+ "Geoff Ladwig\n"
+ "Murilo R. Esplugues\n"
+ "Srinivasa R Emani\n"
+ "Terrence Battlehunt\n"
+ "Muhammad Bhatti\n"
+ "John Miller\n"
+ "Tiago Lima (TiLima)\n"
+ "Luis Carlos Gomes Alves\n"
+ "Giuseppe De Luca\n"
+ "Alex Kieser\n"
+ "Adam Steele\n"
+ "Joey Caldwell\n"
+ "Aaron Oliver\n"
+ "Adil Nasser\n"
+ "Marcelo Chicralla\n"
+ "Chris Smolen\n"
+ "Oleg Ivin\n"
+ "davidwthomas\n"
+ "pingwarrior\n"
+ "Yared Demissie\n"
+ "SIM Kwang Meng\n"
+ "Thomas Irwan\n"
+ "Jordan Dalton\n"
+ "Debasish\n"
+ "Ernest Saadat\n"
+ "Dr Bankim Jani\n"
+ "Nasir Bilal\n"
+ "Tran Minh Luan\n"
+ "Brad Haynes\n"
+ "Gerald Gonzalez Santoni\n"
+ "Campesi\n"
+ "Richard Danu\n"
+ "Olugbenga Adara\n"
+ "Emad Salahuddin\n"
+ "Ezra Reang\n"
+ "Serge Cherestal\n"
+ "Mike Shafer\n"
+ "Vikram Sokhi\n"
+ "Arliton Martiniano Rocha\n"
+ "Faith Solutions pvt ltd \n"
+ "Arnold A. Madulin\n"
+ "cqaigy\n"
+ "Ti-Chris\n"
+ "Sergey Goffert\n"
+ "Chris Higgins\n"
+ "George P. Burdell\n"
+ "Todd Graham\n"
+ "Barry Middleton\n"
+ "Pdw8\n"
+ "Lê Việt Thanh\n"
+ "Pavel Glushkov\n"
+ "Alan Rizgar Ali\n"
+ "Aung Ye Thu\n"
+ "Khurshid Hassan Khan\n"
+ "Kamran Mehdi\n"
+ "Richard Mantilla\n"
+ "David R. Burgess\n"
+ "Thomas Whitmore\n"
+ "Lee Kong Wah\n"
+ "SUNANDA DAS\n"
+ "Irvan Tambunan\n"
+ "Vasanthkumar\n"
+ "TJ West\n"
+ "Kanthi Kiran Narisetti\n"
+ "DarwinLabs\n"
+ "Weston Brown\n"
+ "Manikant Thakur\n"
+ "Intoy23_\n"
+ "Muhammad Hussain\n"
+ "jakimm\n"
+ "Gengxiaojun\n"
+ "Dilan Perera\n"
+ "Yagnesh Chauhan\n"
+ "James R. Gross Jr.\n"
+ "Abraxas\n"
+ "Patrick Silwimba\n"
+ "Rajavel\n"
+ "Idris Adesanya\n"
+ "John Bluhdorn\n"
+ "Xulnoor Syed\n"
+ "Gerard Sharpe\n"
+ "Warren Sullivan\n"
+ "Greg Gephart\n"
+ "Ian Verno\n"
+ "Mark Odette II\n"
+ "Christopher Megyeri\n"
+ "Vladimir Kuchar\n"
+ "Yazeed Fataar\n"
+ "Rajesh Kakkanatt Jolly\n"
+ "Radovan Brezula\n"
+ "Russell W Wood\n"
+ "Cameron Rooke\n"
+ "Michael Dawson\n"
+ "Ronald Boestfleisch Jr\n"
+ "Jade Rampulla\n"
+ "Mohammed Aftab\n"
+ "Orkhan Farajov\n"
+ "sumitava chatterjee\n"
+ "Hugh Mann\n"
+ "Rasto Szaszak\n"
+ "Name, last name and country.\n"
+ "Milan Zapletal\n"
+ "MJM Boyens\n"
+ "Ernesto Hernandez, Finland.\n"
+ "Filippos Kolovos\n"
+ "David Julson\n"
+ "Net Center, Inc.\n"
+ "Robert Rittenhouse\n"
+ "asdfghjkl\n"
+ "Derek Michael Neves\n"
+ "GLB\n"
+ "Nadeem Rafi\n"
+ "Steve De Jongh\n"
+ "Rich Gibbons\n"
+ "Krishna Kumaran GK\n"
+ "Sebastian Gosenheimer\n"
+ "dante\n"
+ "Frank Hopkins\n"
+ "Wyld Stallyn\n"
+ "George Paa Kwesi Williams\n"
+ "Andrzej Krzyżak\n"
+ "TheMasonFamily\n"
+ "Neill Wilkinson - Aeonvista Ltd\n"
+ "Guillano L\'intelligent\n"
+ "Tiago Sousa\n"
+ "Ingo Bothe\n"
+ "Guillano L\n"
+ "Dingxia Li\n"
+ "Bongie\n"
+ "Orlov Vladimir\n"
+ "Dmitry Tyutikov\n"
+ "Jon Walker\n"
+ "Theofanis Katsiaounis\n"
+ "praneel prasad\n"
+ "norwizzle\n"
+ "tmcraig08\n"
+ "Simon Huber\n"
+ "Pedro Duarte ESTCB\n"
+ "Akov\n"
+ "Mihai Alexandru Vasiliu\n"
+ "ronnietheengineer\n"
+ "Timothy Manito\n"
+ "Dmitry Seliverstov\n"
+ "Matija Grabar\n"
+ "mckrsta\n"
+ "magulito\n"
+ "GazandKim\n"
+ "Chris Davies\n"
+ "Zack Manriquez\n"
+ "Adnan Pajalic\n"
+ "Anton Ovsyannikov\n"
+ "RushenYYZ\n"
+ "Alejandro Nolla\n"
+ "Igor Plokhikh\n"
+ "Ilya Kupriyanov\n"
+ "zahid yasin\n"
+ "joey fernandez mirador\n"
+ "Orlando Amador\n"
+ "Christiano Lucas\n"
+ "Timothy Call-Buckeyes#1\n"
+ "Chris Graves\n"
+ "Roman Florea\n"
+ "Andrew Banwell\n"
+ "Randy Brizuela\n"
+ "Tibor Torma\n"
+ "KIOUSIS THANASIS\n"
+ "Paulo Vaz\n"
+ "primmus\n"
+ "Ovidu Catrina\n"
+ "Emi.Tiamo.\n"
+ "Willian Kassem\n"
+ "Xianli Huang\n"
+ "karanarora192006\n"
+ "Jens THIES\n"
+ "Emberlight\n"
+ "Luis Knob\n"
+ "WarrenHayhurst\n"
+ "Richard Karus\n"
+ "Pablo Olveira\n"
+ "ghisisan\n"
+ "Antonio Gerbino\n"
+ "Bijay Swain\n"
+ "Simon Minery\n"
+ "Matt du Jardin\n"
+ "Ian Blaney\n"
+ "Nallanathan Sivatharzan\n"
+ "Paulo Guerreiro\n"
+ "Joe Audet\n"
+ "Noman Choudhury\n"
+ "Silvyse\n"
+ "Azam Saddiq\n"
+ "Rodrigo Henrique Castro da Silva\n"
+ "Rickard Körkkö\n"
+ "Thomas quero\n"
+ "Matus Lenhart\n"
+ "Frank Bailey\n"
+ "herdoc2005\n"
+ "Kurt Holm-Andersen\n"
+ "Dimitar Leskov\n"
+ "David Abreu de Sousa Junior\n"
+ "Anthony R Junk\n"
+ "Aung Zaw Latt\n"
+ "Fred Bisel\n"
+ "khaisar\n"
+ "MOHAMMAD FAIZAL BIN MOHAMED SALLEHIN\n"
+ "Svindler\n"
+ "Marcel Slagter\n"
+ "Brandon.nmi.Johnson\n"
+ "Farias\n"
+ "Quinton Bakies\n"
+ "Yoshihiro Ano\n"
+ "Alex K\n"
+ "Yohannes Iyob\n"
+ "JPETALLAR\n"
+ "William Gruesbeck Jr.\n"
+ "Yollande S Chang\n"
+ "Chandler B.\n"
+ "Roberto Ríos Camilo\n"
+ "poolisa\n"
+ "Luke Grant-Jones\n"
+ "Bhuiya\n"
+ "Kenneth Vargas Vargas\n"
+ "Shivam Agarwal\n"
+ "Alexander Slipak\n"
+ "Gary W. McCullors\n"
+ "HD_37432\n"
+ "Huy Tran\n"
+ "David Krantz \n"
+ "Tony Davis\n"
+ "Richie Hor\n"
+ "Luis Diego Flores\n"
+ "Felipe Lima (Sheriff)\n"
+ "John Merry\n"
+ "Syed Jamil Hussain Jafri\n"
+ "Randy Llandelar\n"
+ "Fahim Ahmed\n"
+ "Dan Ryan\n"
+ "Kyle Bauer\n"
+ "Michael Campbell\n"
+ "Matthew Gillespie\n"
+ "Khuram Rafique\n"
+ "Sean Salvadalena\n"
+ "steven richardson\n"
+ "Jarod Mohlmaster\n"
+ "Loc Vinh Nguyen\n"
+ "Rick Vaquera\n"
+ "Pritam Banerjee\n"
+ "claytondf\n"
+ "Andrew Chapman\n"
+ "Filip Štirn\n"
+ "Emeka Ezekoka\n"
+ "Steve of the family McGonigle\n"
+ "Eliott Stidd\n"
+ "Tim Peel\n"
+ "williamhotel\n"
+ "Thomas Kager\n"
+ "Purushotham G\n"
+ "Karthik Bonthu\n"
+ "Nathan Howard\n"
+ "Slobodan Nastevski\n"
+ "DustyWeatherby\n"
+ "Andrew Kotska\n"
+ "Wesly Inbaraj\n"
+ "Frantzcy Paisible\n"
+ "Emmett G\n"
+ "Finn Mann\n"
+ "Tariq Raza\n"
+ "Darick W. LaSelle\n"
+ "jwiggins\n"
+ "Jonathan Marson\n"
+ "Thiago Takayama\n"
+ "Jason Gibbs\n"
+ "\"THE\" James Greene\n"
+ "Micah Stanley\n"
+ "Benjamin Lutz\n"
+ "David Correa\n"
+ "Knack Black\n"
+ "MJ DeFilippis\n"
+ "Michael Dunn\n"
+ "jaypo\n"
+ "Artemio\n"
+ "Mike Johnson\n"
+ "Nic Bumgart\n"
+ "Randall Bradford\n"
+ "Wilfried Olthoff\n"
+ "Ben Arblaster\n"
+ "Mark F. Boules\n"
+ "Tommy \"BigDaddy\" Grigsby\n"
+ "Michael Jones\n"
+ "Krynos18\n"
+ "Ken Clifford\n"
+ "mast nishant\n"
+ "Furqan\n"
+ "Douglas R. Carirngton, Excelibrium Inc\n"
+ "tulley\n"
+ "Felix A Leiva\n"
+ "abrhim\n"
+ "Ed Vanderpool\n"
+ "neo_renshaw\n"
+ "Anders Berggren\n"
+ "Morgan Zahra\n"
+ "Grillmon\n"
+ "Jorgen Rhode Jensen\n"
+ "jerrysimila\n"
+ "Louis Gonzales\n"
+ "j.d.wegner\n"
+ "Jared J. Fernandez, E.I.T.\n"
+ "KQuinn\n"
+ "Felipe Alvarez Diaz\n"
+ "SecretServiceOO\n"
+ "NOSaturn\n"
+ "Clayton Coelho\n"
+ "CJCCIE25938\n"
+ "Anton Antony Arockiasamy\n"
+ "Nicholas Alessi\n"
+ "George Young\n"
+ "Shaheer Osman\n"
+ "Mahmud Rahman Jami\n"
+ "Yassine EL Jazouli\n"
+ "IAmBuldog\n"
+ "Imtiyazuddin.Shaikh\n"
+ "Les\n"
+ "Xavier Alexander Gilmet\n"
+ "Hikmet Terzioglu\n"
+ "Daniel Wichlacz\n"
+ "Karl Newell\n"
+ "Nanda Kyaw\n"
+ "Rafael Bianco Nacif\n"
+ "Nick O\'Neill\n"
+ "BigRhino\n"
+ "jeff pliska\n"
+ "Richard Vincent Perez\n"
+ "Gilberto Cloud Galvan\n"
+ "Sid Lorenzana\n"
+ "David Kumar\n"
+ "Ellert Hardarson\n"
+ "Peter Prusinowski\n"
+ "Pacerfan9\n"
+ "Jason Alan Barretta\n"
+ "Tyler Pell\n"
+ "Dan Devlin\n"
+ "Travis Eberhardt\n"
+ "Jeremy Frush\n"
+ "Cisc0kid\n"
+ "Joe A. Lourenco\n"
+ "JeffA\n"
+ "Jacqueco Peenz\n"
+ "Siggi Bjarnason\n"
+ "Samuel Ajakaiye\n"
+ "Georgios Ntib\n"
+ "Bartosz Miklaszewski \n"
+ "pepso100\n"
+ "Digit Oktavianto\n"
+ "Vineet Bulbule\n"
+ "Rui Ruivo\n"
+ "DWPerry\n"
+ "Frantisek Pupik\n"
+ "Christopher Robert Sutton\n"
+ "Casey Ajalat\n"
+ "Riku Pessinen\n"
+ "g.montoanelli\n"
+ "Dave Thompson\n"
+ "Paul Knight\n"
+ "Schisme\n"
+ "Christopher Edwards\n"
+ "Karel Perez Castillo\n"
+ "ErrorCode67\n"
+ "John Perry\n"
+ "Nick Bonifacio CCIE #38473\n"
+ "Matt Humphries\n"
+ "Nathan Miller - Youngstown, OH\n"
+ "Kevin D\'Arcy\n"
+ "CelsoAraujo\n"
+ "Paul Sherratt\n"
+ "Francis Illuzzi\n"
+ "Lupe SIlva\n"
+ "Sukhdeep Kahlon\n"
+ "Scott K. Bridges\n"
+ "Demetrius Cagampan\n"
+ "Jon \"The Man\" Marte\n"
+ "Farhan Qazi\n"
+ "Craig Zambra\n"
+ "Alexey Zhigaltsov\n"
+ "Josh R Blaylock\n"
+ "davidbarclay@nlets\n"
+ "Katherine McNamara\n"
+ "T.J. Patterson\n"
+ "Cash_97\n"
+ "David Undernehr\n"
+ "Andrew Conway\n"
+ "David Earney\n"
+ "Joel Bergmark\n"
+ "Chris DiPaola\n"
+ "copeland\n"
+ "Blair&BenedictRepuyan\n"
+ "Titus\n"
+ "Damian Mainwaring Davies\n"
+ "Nathanael Kenyon\n"
+ "Ilia Korsakov\n"
+ "Michael Dubery\n"
+ "Alex Giunta\n"
+ "RSaleh\n"
+ "Tassos Chatzithomaoglou\n"
+ "Franklin Valdez\n"
+ "loop\n"
+ "Ulf Bye\n"
+ "giantbullfrog\n"
+ "Luke Russell\n"
+ "voke\n"
+ "CoCoHimself\n"
+ "Nicholas Andrew Critten\n"
+ "Mahrazi Mohd Kamal\n"
+ "Dmitry Stashkov\n"
+ "Bilal Issa\n"
+ "Momodou Sarr\n"
+ "Ryan Barrett\n"
+ "Robin Harteveld\n"
+ "DMSwope\n"
+ "Dave Noles\n"
+ "Jason Salomons\n"
+ "Luis\n"
+ "LIZHAO DING\n"
+ "Douglas R. Musser\n"
+ "Jason Vizmanos\n"
+ "Prakash Purohit\n"
+ "Rafique Ahmed Narejo\n"
+ "Rustam Davletshin\n"
+ "Krzysztof Andrzej Szukała\n"
+ "Dimitris Armenatzoglou\n"
+ "Torstein Mauseth\n"
+ "Marius Landsem\n"
+ "Caio Vianna\n"
+ "Nauman Tariq\n"
+ "ZAW THANT KYAW\n"
+ "Graham Redish\n"
+ "Kinopcs\n"
+ "Suren Tsaturyan\n"
+ "Dustin Max Calderon\n"
+ "Man Gao\n"
+ "Phillip A Camera\n"
+ "José Luis Berlanga V.\n"
+ "einfachgust\n"
+ "Paul Lampron\n"
+ "Alex Presse\n"
+ "Jacob Johnson\n"
+ "Adam Troxel\n"
+ "Tom Dastrup\n"
+ "Chad Abbs\n"
+ "John Rubin\n"
+ "Cory Light\n"
+ "Jason Rearick\n"
+ "Shamikh Irshad\n"
+ "Kier Fretenborough\n"
+ "Saravana Thoppay\n"
+ "Roulston\n"
+ "Axel Siöland\n"
+ "Zhang Liang\n"
+ "Pritpal Bisla\n"
+ "Thien-Tam TRAN\n"
+ "Philippe Tang\n"
+ "Muawia Yasin\n"
+ "ErikJWells\n"
+ "Alan Esterman\n"
+ "Aju Jose\n"
+ "Jason R. Rokeach\n"
+ "Yeyo\n"
+ "Daniel Maxwell\n"
+ "Mark C Bernier\n"
+ "Luis Francisco Rivera Ospina\n"
+ "In Memory of Ben Gibbs\n"
+ "Mirza Zeshan Baig\n"
+ "Marcel Loesberg\n"
+ "Santoshi Rajani Kumar\n"
+ "Sathursan Kantharajah\n"
+ "Richard Harris \n"
+ "Jon Kolman\n"
+ "Robert Magrath\n"
+ "suguita\n"
+ "Sergey Solodov\n"
+ "Juan Gabriel Delgado Picado\n"
+ "Andrei Matei\n"
+ "Andit Tjahjo\n"
+ "Ian Wandless\n"
+ "Ismael Mamadou\n"
+ "Patrick Donald Bostwick\n"
+ "BDG\n"
+ "Aouachria Nassin\n"
+ "vdeluca-BR\n"
+ "Tyler Milam\n"
+ "Carsten Ellermann\n"
+ "Stunod7\n"
+ "TrueNie\n"
+ "Brody Murfin\n"
+ "Steven Howard Kalupson\n"
+ "Woodard\n"
+ "tr4ck3r\n"
+ "Andrew Walding\n"
+ "Eric Geib\n"
+ "Mark D Rametta\n"
+ "Adam Pinkerton\n"
+ "Evan Fox\n"
+ "Richmond Porath\n"
+ "Bestone Kasoloka\n"
+ "Sergey Kuzyurov\n"
+ "Warren\n"
+ "Conrad J. Moore\n"
+ "Michael Molina Lasprilla\n"
+ "Erik White\n"
+ "Michael Torres\n"
+ "Omrelliug A Senoj III\n"
+ "Jacob Bolm\n"
+ "Beau Daniel Jones \n"
+ "Maikel Mantilla\n"
+ "Oscar Quinonez\n"
+ "Xavier Lario\n"
+ "Stefanio Lourenço\n"
+ "Aaron Robinson\n"
+ "Adrian Gibbons\n"
+ "Milan P\n"
+ "Kristian J Francisco\n"
+ "Daniel Gos\n"
+ "Joel Lawless\n"
+ "Sumit Kumar\n"
+ "CodyPorter\n"
+ "Chris Gauthier\n"
+ "Krishna Varma\n"
+ "Aidan Burnett\n"
+ "Matthew Clarke Gordon\n"
+ "Ali Youssef Ahmad\n"
+ "Lauren Brittany Taylor\n"
+ "Avery Abbott\n"
+ "WANG KAI\n"
+ "gila\n"
+ "Michael Molina Lasprilla Jr\n"
+ "Thomas J Tablada\n"
+ "Valentin Vanguelov\n"
+ "Mario Kool - Netherlands\n"
+ "Leigh Bogardis\n"
+ "Johnny T\n"
+ "RDB\n"
+ "Aaron P. Clark\n"
+ "najouaimtiyaz shaikh\n"
+ "Durmus -dprogrammer- Celep\n"
+ "Marc van Lier\n"
+ "Felipe Soares de Souza\n"
+ "ccie4451\n"
+ "Dustin L. \'Stonewolf\' Derry\n"
+ "Rich Johnson\n"
+ "Infrastructure Solutions LLC\n"
+ "Niklas Riddarlo\n"
+ "Waleed Alamodi\n"
+ "Adolfo Aksel\n"
+ "Schladi\n"
+ "Tomasz Kacprzynski\n"
+ "SHU2\n"
+ "Nathan Hitchcock\n"
+ "RefAndante\n"
+ "Ade Alder\n"
+ "Raphael THIERRY\n"
+ "Mr Morgan\n"
+ "AurieP\n"
+ "Jason Bishop\n"
+ "Pavel Kilipko\n"
+ "Chris Albert Beltran\n"
+ "Manny Franqueira\n"
+ "foolproofalibi\n"
+ "gregwards1987\n"
+ "Aaron Day\n"
+ "kmaslashdevslashnull\n"
+ "Leon Cassidy (NZ)\n"
+ "John Dowling\n"
+ "Ramon Jr Garcia Yu\n"
+ "zdenotim\n"
+ "Prasad Kunjeer\n"
+ "Felipe.Ferrugem\n"
+ "Simone Groce\n"
+ "Sinan Sulaiman\n"
+ "JEFF HANSEN\n"
+ "Dániel Okos\n"
+ "Phillip D Larson\n"
+ "Dickson Wong \n"
+ "Gaurav\n"
+ "becakgurun\n"
+ "Jun Liu\n"
+ "Mohamed Faisal CCIE#36553\n"
+ "Rose Parnsoonthorn\n"
+ "Jeremiah Land\n"
+ "Joh4xx0rn Andersson\n"
+ "Mike \"ChimChim\" Pritchard\n"
+ "Dan W\n"
+ "Dhanushka Chandrasiri\n"
+ "Steve Redford\n"
+ "Keith Shum\n"
+ "Sean McQuilling\n"
+ "Simon Given\n"
+ "Colm Kilmartin\n"
+ "Marius Geonea\n"
+ "SteveBeans\n"
+ "Kwaggaken\n"
+ "Ben Murray (@Cache22)\n"
+ "LaKellyEllaDustyMath\n"
+ "PotatoGim\n"
+ "Pikador*Hopto.hu\n"
+ "Mustafa\n"
+ "Liqua_Thrushbane\n"
+ "GNS34624\n"
+ "juan\n"
+ "Michael Klose\n"
+ "Tuan Huynh\n"
+ "Peter E Gregg\n"
+ "thosi\n"
+ "Salmanees\n"
+ "Renjith G Nair\n"
+ "Saqib Raza\n"
+ "Jose Ignacio Jorquera\n"
+ "Showpanda\n"
+ "Syed Mohd Mohsein\n"
+ "Eric Yoakum\n"
+ "Alex Beal\n"
+ "Ronald Boestfleisch Jr.\n"
+ "Moussa BRAHIMI\n"
+ "Lee Gardner\n"
+ "Robbins\n"
+ "PaulEyre\n"
+ "Geir Hogberg\n"
+ "Dimitrios Misichronis\n"
+ "Boris Bozicevic\n"
+ "Saleh Batouq\n"
+ "William Walton\n"
+ "wolly\n"
+ "Gopinath v\n"
+ "Hamad Khalaf\n"
+ "David Dietrich\n"
+ "Jericho Gutierrez\n"
+ "Cameron Exley\n"
+ "Daniel Grubbs\n"
+ "Stephen Savaso\n"
+ "Marcus Morais\n"
+ "Roilen Palmer\n"
+ "David Bradwell\n"
+ "Adrian Lizuniga\n"
+ "Thomas Meinhardt\n"
+ "Mohammed Arshad Irfan\n"
+ "Kevin R. Owens II\n"
+ "Xiaodong Zhang\n"
+ "Suman Saha\n"
+ "GoldenBough\n"
+ "Jeff Nagel\n"
+ "Paul Regan\n"
+ "Andrew Haase\n"
+ "Gregory Bruccoleri\n"
+ "Ian Tuten\n"
+ "Joshua Senft\n"
+ "Pierre \"Ghostdog\" Blanchet\n"
+ "Chris Brown\n"
+ "Luis Felipe Sass\n"
+ "Dimitar L. Yosifov\n"
+ "Matt Heim\n"
+ "Codey Oxley\n"
+ "J.D. Wegner\n"
+ "AJ\n"
+ "Brannen Taylor\n"
+ "Billy Calderon\n"
+ "Carl Thompson\n"
+ "Alexandre Paradis\n"
+ "Fahad Hamid Q Aljuhani\n"
+ "Bruno HAON\n"
+ "AerOne\n"
+ "Manuel Rojas\n"
+ "Jason Brammer\n"
+ "Jason M Heath\n"
+ "Christopher Bellman\n"
+ "Jay Drennen\n"
+ "Adam Born\n"
+ "Bootcamp20\n"
+ "Fabrício Pimenta de Avila\n"
+ "Stephen Lynch\n"
+ "Olivia Frances Potter\n"
+ "Mitch Dolan\n"
+ "Seer Snively\n"
+ "Taígo\n"
+ "zerny\n"
+ "Kevin Sheahan\n"
+ "khurshid hassan khan\n"
+ "Marcellus Hunt\n"
+ "Fabricio Neves\n"
+ "Hany Garass\n"
+ "Bryce Nicholls\n"
+ "Hristo Neykov\n"
+ "Leart Sapun\n"
+ "Tony M Taylor\n"
+ "Scott Holwerda\n"
+ "Troy Perkins\n"
+ "Mason Feuhrer\n"
+ "Jonathan W Cole\n"
+ "Pat Golob\n"
+ "Pendragon\n"
+ "Stuart(big Stu) Cameron\n"
+ "FernandoLuisJanuario\n"
+ "Tim Davis\n"
+ "Eric John Fiedler\n"
+ "ciscopotato\n"
+ "TJ Plummer\n"
+ "Rawhide\n"
+ "Brent \"B\" Stevenson\n"
+ "Kyle Byrne\n"
+ "Hutch Theriault\n"
+ "Tyler Robertson\n"
+ "sharifraaf\n"
+ "thepacketgeek\n"
+ "Matt Hill\n"
+ "Zayed Syed Bukhari\n"
+ "Joe Uhl\n"
+ "Eric Sundquist\n"
+ "Jason D. Ladd\n"
+ "Brooke Lexi\n"
+ "Dave Kretzmer\n"
+ "Mike Gatti\n"
+ "G. David Malner\n"
+ "Evelyn Bowman\n"
+ "Stephen \"Mr. Poker\" Schroeder\n"
+ "Christian Fernandez Herrero\n"
+ "Sten-Erik Winborg\n"
+ "Zhengzhong\n"
+ "jose olivo\n"
+ "Julian West\n"
+ "Marek Kupsta\n"
+ "Albert PR\n"
+ "Lucian Cretu\n"
+ "dhuzen\n"
+ "nycsilvaj\n"
+ "Alex Nieves\n"
+ "Anthony Luis Cirillo\n"
+ "A318A\n"
+ "Brian Bristlin\n"
+ "Judd\n"
+ "D. Paul Hemphill\n"
+ "Trevor Roberts Jr\n"
+ "Genaro \n"
+ "Justin Seabrook-Rocha\n"
+ "Ramogpal Reddy M\n"
+ "Ramgopal Reddy M\n"
+ "Anthony Smith\n"
+ "Amhar Saputra\n"
+ "Fred W Schulze\n"
+ "Mojoman\n"
+ "Edwinrg00\n"
+ "Bruno Fagioli\n"
+ "Diego Morandini\n"
+ "Garcia Rice\n"
+ "davenaisbitt\n"
+ "Bharath Kumar Sole\n"
+ "Chad Routh\n"
+ "Daniel Dias\n"
+ "Robert Ankeny\n"
+ "Dean Stamler\n"
+ "Ofer Ben Zvi\n"
+ "Marcus Beaman\n"
+ "Jakub Pullmann\n"
+ "Larry Nicholson\n"
+ "chekoceronn\n"
+ "GeorgeTrip\n"
+ "Leighton Andrews\n"
+ "James P Feely\n"
+ "Ed Walsh, Jr.\n"
+ "Dennis Janak\n"
+ "Sylvain B\n"
+ "Eli Haiby\n"
+ "CiscoCowKiller\n"
+ "Wong Khai Loon\n"
+ "Mike Pierce\n"
+ "Rodrigo de Paula Cordeiro\n"
+ "steveo\n"
+ "droeseler\n"
+ "Michael Callahan\n"
+ "christy b mathai\n"
+ "Nicholas Nelson\n"
+ "Shawn Cunningham\n"
+ "Randy L. Betke\n"
+ "Nuno Cruz\n"
+ "Hamid Ben Zaina\n"
+ "Janet Knotts\n"
+ "Eduardo Acuna Salas\n"
+ "Shamal Weerakoon\n"
+ "Scott McAndrew\n"
+ "ajmatson\n"
+ "Ramin Asghari Ardebili\n"
+ "Joel Jones\n"
+ "True St. Thomas\n"
+ "Joshua Baker\n"
+ "Feix A Leiva\n"
+ "sirclicksalot\n"
+ "Hovik Mosessi\n"
+ "NguyenTan512\n"
+ "John M. McCreight\n"
+ "Philip Weekly\n"
+ "Dusty Roy\n"
+ "CFESH\n"
+ "iWasimAbbas\n"
+ "cstizza\n"
+ "Hans Ramdien\n"
+ "Itay Shem-tov\n"
+ "dakidfresh1\n"
+ "Marcelo Pires de Souza - MAPIS\n"
+ "Daniel A. Zoquier\n"
+ "Mihael Hutton\n"
+ "RobPrescott\n"
+ "Vinicius Guimaraes\n"
+ "Kaylee May Fox\n"
+ "DannyRodriguez79\n"
+ "Nicholas Wysocki\n"
+ "Tyler Potenberg\n"
+ "Gabe Rivas\n"
+ "Keunwoo Nam\n"
+ "Aldo Francescon\n"
+ "NetJimB\n"
+ "Jihan\n"
+ "Bryan Cordoba Sanchez\n"
+ "Anton Lindman\n"
+ "Thomas Siczek (Poland)\n"
+ "lblakesley\n"
+ "Mike W. Burks\n"
+ "James Stephens\n"
+ "@MacBachi\n"
+ "Michael Higgins\n"
+ "Rajendra Thuvarakan\n"
+ "Robert Lund\n"
+ "Christopher Lee Shanks\n"
+ "Brian30024\n"
+ "Dan Tedrick\n"
+ "James Bothe\n"
+ "lewiryan\n"
+ "jecrane\n"
+ "Titus Warui\n"
+ "Aditya Limbu\n"
+ "Erik Szlaur\n"
+ "Bishop Betteridge\n"
+ "Garth \"Stogyman\" Fish\n"
+ "Dr Vivek Bannore\n"
+ "Tony Bushong\n"
+ "Szymon Kufel\n"
+ "Muzeyen Hassen\n"
+ "Blacho\n"
+ "ErmiasBekele\n"
+ "Jose Miguel Montoya Sierra\n"
+ "Greg Murphy\n"
+ "Robin Williams \n"
+ "RichieB\n"
+ "RFK786\n"
+ "Edson Raya\n"
+ "Nathan J Downes\n"
+ "Eduardo Cardoso\n"
+ "Julian Ben\n"
+ "Ethan William Hussong\n"
+ "Richard Rigby\n"
+ "Gage Brewer\n"
+ "Adeola Adegbolagun\n"
+ "Faith Solutions pvt ltd, Maldives\n"
+ "Steve Cameron\n"
+ "Kevin Le\n"
+ "hnamanh \n"
+ "Jesse Stilwell\n"
+ "Chandrasekar Ramachandran\n"
+ "Lee Shouse\n"
+ "Kyle \"Mr. CrossFit\" Moschetto\n"
+ "Engr. Jeffrey B. Anarna\n"
+ "Nicholas D. Yates\n"
+ "Stefan Nagy\n"
+ "Jason DeGroote\n"
+ "Jeremy Corkery\n"
+ "Harry Lewins\n"
+ "Ashwinkumar CS\n"
+ "Rahul Long\n"
+ "Cloyd Crisostomo\n"
+ "Ivan Hollins\n"
+ "Eslam T. Mohamed\n"
+ "Roger Morehouse\n"
+ "Darrel Perucho\n"
+ "Trent Scholl\n"
+ "Dinesh Seyyadri\n"
+ "Joe Frixon\n"
+ "Thineshan\n"
+ "Gabriel Ciocan\n"
+ "Eric Stratton \"OTTER\"\n"
+ "ALEKSANDR ZASADYUK\n"
+ "RStuivenbergNL\n"
+ "MattE\n"
+ "Peter Joseph\n"
+ "Silviu Romonti\n"
+ "Haidar Noah \n"
+ "Alexandre Gnutzmann\n"
+ "Robert Mikołajczyk\n"
+ "Francesco Benucci\n"
+ "Eduardo Luditza Quintal\n"
+ "Nirav Dave\n"
+ "Luciano Barros\n"
+ "Brewhound\n"
+ "Tedel Baca\n"
+ "Odenike Taiye\n"
+ "Myash\n"
+ "DreamVision Networks LLC\n"
+ "Pablo Lues\n"
+ "Rayhiyaan\n"
+ "Stephen R Catto\n"
+ "Petr Bonbon Adamec\n"
+ "Arek Wrobel\n"
+ "Jasper Brouwer\n"
+ "Fyase\n"
+ "Richard Rebman\n"
+ "bgardner15\n"
+ "LishanMirando\n"
+ "Paul Vila\n"
+ "Juan David Ruiz\n"
+ "John_Shoffeitt\n"
+ "Jason Punda\n"
+ "Radoslaw Gorski\n"
+ "AJ NOURI\n"
+ "Mauro de Sousa\n"
+ "Alan Young\n"
+ "Marcin Kapturski\n"
+ "Ban Wong\n"
+ "AndresZ\n"
+ "configbytes\n"
+ "Edwin Campbell\n"
+ "Omberai Dzingirai\n"
+ "Felippe Dias\n"
+ "SOSSOUGAH ALEXIS\n"
+ "Achiraf CHARIF\n"
+ "Junho Lee\n"
+ "Bavo Seesink\n"
+ "Brent Sieling\n"
+ "Nicholas G Zerwig\n"
+ "Renato de Pierri SP Brazil\n"
+ "EdWillson\n"
+ "Bladerunner\n"
+ "Rob Boyko\n"
+ "Jonathan Isley\n"
+ "Tyler Ruckinger\n"
+ "Lachlan Holmes\n"
+ "Ariel Pablo Roza\n"
+ "Shahin Ahmadi\n"
+ "zuozhenqing\n"
+ "Ratanajantra\n"
+ "Irfan Zaffarulla\n"
+ "David P. Schuetz\n"
+ "Tonycarreno\n"
+ "Bruno Watt\n"
+ "Guy Winfrey\n"
+ "PHAung\n"
+ "Berny Ramirez Gonzalez\n"
+ "Liao Hsueh Hung\n"
+ "Derrick Nguyen\n"
+ "Dave Powers\n"
+ "Milap Joshi\n"
+ "Noel Bravo\n"
+ "Ayoob Eshaq\n"
+ "Binuraj Rajappan\n"
+ "Richard Wambua\n"
+ "mocotel\n"
+ "Paul S Payne\n"
+ "Anand Shah\n"
+ "Dawid Mitura\n"
+ "Kryssar approves of this software!\n"
+ "Bruno Galhoufa\n"
+ "David Poulton\n"
+ "Che Ge\n"
+ "Saed Zahedi\n"
+ "thejapa\n"
+ "PJ Archer\n"
+ "Marcos Yanase\n"
+ "cwmdavies\n"
+ "Wellington Ferrraz\n"
+ "Derek Nückel\n"
+ "alexandros\n"
+ "Jonathan Stevenson\n"
+ "Bolanu Andrei\n"
+ "M.Elhassan\n"
+ "EBRAHIM DARYA\n"
+ "COLTAR\n"
+ "Eduardo Honorato\n"
+ "Marcelo Lyra Bastos\n"
+ "George G\n"
+ "Clint Collins - Oziboys\n"
+ "Pradeep George\n"
+ "Steve Kittinger\n"
+ "cmbellgardt\n"
+ "Ramesh\n"
+ "Nicki Kristensen\n"
+ "Jose D. Mora\n"
+ "Seydou Belemvire\n"
+ "J. Pell\n"
+ "Javed Rehman\n"
+ "lwdbos\n"
+ "Chun K Lam\n"
+ "J. David Gregg\n"
+ "Chris Lääng\n"
+ "Armstrong Ndemalia\n"
+ "Shoaib Zahidi\n"
+ "Rogerio Mota\n"
+ "Ignacio Hernandez\n"
+ "Marcin Krajnik\n"
+ "ChettiandNatti\n"
+ "Elias Sisya\n"
+ "Jacob Henson\n"
+ "Mike McPhee\n"
+ "Joe Kraxner\n"
+ "A Witherspoon\n"
+ "Rasmus Elmholt\n"
+ "Tom Penrose\n"
+ "Ivan Velasquez\n"
+ "Michael Quill\n"
+ "carlitosP\n"
+ "larrybpsu\n"
+ "Gabriel John\n"
+ "Blake Barnett\n"
+ "robeson\n"
+ "Robert Ramoutar \n"
+ "Anthony J Wathen\n"
+ "Jayir Mansuclal\n"
+ "Luke Evans\n"
+ "VahidRezaMehrasaGNS38826\n"
+ "Damian Roche\n"
+ "Gerry\n"
+ "Jan-Erik Svendsen\n"
+ "YuRJ\n"
+ "Michael Crouch\n"
+ "NightmareFH\n"
+ "Clemens Dubbick\n"
+ "HishamHowege\n"
+ "Tome Spirit Petkovski\n"
+ "Osmo\n"
+ "Japd\n"
+ "Dane Freeman\n"
+ "netwrklab\n"
+ "Simon Boam\n"
+ "ComputerRick\n"
+ "Gabriel DeMarco\n"
+ "GigaRacer\n"
+ "Cat Rodery\n"
+ "Jeff Breon\n"
+ "mikynik\n"
+ "Stefanio Lourenco da Silva\n"
+ "Denny Höglund\n"
+ "Steven Vlahakis\n"
+ "Przemek Rogala\n"
+ "Harlen Zuluaga\n"
+ "Ronaldo Echevenguá\n"
+ "Christian Leonardelli\n"
+ "高渐星\n"
+ "earth\n"
+ "KyungRyul\n"
+ "Dmitry MBR Sokolov\n"
+ "mohammed fouad shat\n"
+ "Josh Gomez\n"
+ "James Packard\n"
+ "Ben Millington-Drake\n"
+ "rluisem\n"
+ "Michael McNamara\n"
+ "Tubejockey\n"
+ "Nick Henderson\n"
+ "esc0\n"
+ "Bradford Wright\n"
+ "Frank S\n"
+ "Vitaliy Zinatov\n"
+ "Peter Tavenier\n"
+ "Guillermo Rodriguez\n"
+ "Charles Cecela\n"
+ "ali abdulsalam\n"
+ "NSandone\n"
+ "Ismael Mustapha\n"
+ "Jacob Uecker\n"
+ "plex\n"
+ "ciscoraz\n"
+ "Mehul Patel \n"
+ "Abbas Khalil\n"
+ "JAVID IBRAHIMOV\n"
+ "Brandon Porter\n"
+ "dragon\n"
+ "Thor\n"
+ "Lukasz Teodorowski\n"
+ "John Montgomery\n"
+ "Erin Clay Smith\n"
+ "James David Schell\n"
+ "Antonello Moneta\n"
+ "IE-Guru\n"
+ "Alex \"P.h.o.t.o\" Drozdov\n"
+ "Amelie Haley\n"
+ "Leonardo Migliorini\n"
+ "Ole Morten Aaslund\n"
+ "Anishkumar Kurup\n"
+ "Joseph I Gilbert\n"
+ "Mike Scioscia\n"
+ "Christopher David Keith Garrett\n"
+ "Leonardo Magbuhos Jr\n"
+ "Francisco Alfaro\n"
+ "Jude Kenneth Bickerton Lymn\n"
+ "ir0ck\n"
+ "BrettWCook\n"
+ "Ayokunle Adekanle\n"
+ " HsinHong,Huang\n"
+ "Tomi Olamigoke\n"
+ "IrishFighter\n"
+ "Dennis Dumont\n"
+ "Josh Micone\n"
+ "Antonio B Gerbino\n"
+ "F7EE\n"
+ "Jon Sawyer\n"
+ "Brian Matson\n"
+ "Erik Burdeaux\n"
+ "Andre Jones\n"
+ "Karl Fukushima\n"
+ "Rajesh.R\n"
+ "Mohamed Furqan Firdous\n"
+ "Sean B Crites\n"
+ "Eulic McGee\n"
+ "Noel Rivera\n"
+ "Paul \'Twig\' Firth\n"
+ "Rob Michel\n"
+ "BrockSouza808\n"
+ "Kravnik\n"
+ "jajulius\n"
+ "Marcin Zablocki\n"
+ "Gian Karlo Andrade\n"
+ "Aaron Picht\n"
+ "XIAiYIP\n"
+ "Maciej sk84life Smolak\n"
+ "Ashleigh Wilson\n"
+ "Robin Harper\n"
+ "Keith Barker\n"
+ "Cristian Sima\n"
+ "AKAHAW\n"
+ "Rodrigo Dominguez\n"
+ "Joejaders971\n"
+ "Joe Buemi III\n"
+ "McAnder\n"
+ "Sauceboss24\n"
+ "POORNA SHASHANK PARVATALA\n"
+ "Rutvij Brahmbhatt\n"
+ "Axis\n"
+ "V O\' Rourke\n"
+ "Karim Al-Azzawi\n"
+ "Eduardo Romero Peña\n"
+ "Vandeth Nop\n"
+ "Mortch\n"
+ "Moidin Kunhi\n"
+ "Wei Shu\n"
+ "Patrick den Hoed\n"
+ "Kurauone Mahachi\n"
+ "Kurauone B. Mahachi\n"
+ "Catalin Butiseaca\n"
+ "Debayan\n"
+ "Gordon Fountain\n"
+ "Saikeo Kavhanxay\n"
+ "Danilo Bottino\n"
+ "Viliam Schrojf\n"
+ "Kumaralingam\n"
+ "LeighHarrison\n"
+ "Eduardo Campos\n"
+ "John Voirol\n"
+ "John Ellison\n"
+ "Juan Larriega\n"
+ "Steven Perée\n"
+ "Aivis Purvinsh\n"
+ "Rizwan Hanif\n"
+ "Reynaldo Gonzalez II\n"
+ "Pipeiden\n"
+ "Michael Aird\n"
+ "@espennilsen\n"
+ "Denilsod\n"
+ "gizmo\n"
+ "Josh1984\n"
+ "Tobi Adesanoye\n"
+ "Randy Damron\n"
+ "Pedro Collado\n"
+ "Arwa\n"
+ "Nazish Ahmed\n"
+ "Nicolas POIRIER\n"
+ "Kostas Gerakaris\n"
+ "Peter\n"
+ "John Jeremy Skog Sullivan\n"
+ "Todd Snyder\n"
+ "Tony Virath\n"
+ "Oscar Reyes Garcia\n"
+ "Arturas Zalenekas\n"
+ "javalogicuser\n"
+ "Andrew Baughan\n"
+ "P. JH. Pelletier\n"
+ "MES\n"
+ "Marlon Zackery\n"
+ "Loyd W. Altebaumer\n"
+ "Josh Hitt\n"
+ "GNS LLC\n"
+ "Brent Andrews of Trinidad & Tobago\n"
+ "Marek Macovsky\n"
+ "Stumper\n"
+ "Jan Sidlo\n"
+ "Vinesh Raniga\n"
+ "Denis \"GRinch\" Karpushin\n"
+ "Christos Cambanellis\n"
+ "Sylvester Kolakowski\n"
+ "Liam and Quinn Densmore\n"
+ "Jacco Rorman\n"
+ "Rüdiger\n"
+ "Rc7200\n"
+ "Nicholas McManamy\n"
+ "Elvin Baez\n"
+ "Dai Yiru\n"
+ "Matt Engelbrecht\n"
+ "gerald greer\n"
+ "DR MAHESH KUMAR\n"
+ "Matthew Longwell\n"
+ "Gordon Murray\n"
+ "Steven A. Wilson\n"
+ "Jose Bracero\n"
+ "ireDave\n"
+ "Torgny Holmlund\n"
+ "Craig Timchak\n"
+ "John Mathews\n"
+ "Joshua P Roybal\n"
+ "scoty1\n"
+ "Oscar Dotel\n"
+ "Aaron Bauman\n"
+ "CIOBY\n"
+ "Alexey Zhukov CCIE#36822\n"
+ "Omar Coeto Hernandez\n"
+ "Jonathan King\n"
+ "Carlos Pata Oi! Munoz\n"
+ "Tiffany A. Whittington\n"
+ "Martin Steele\n"
+ "Dizzydonut\n"
+ "gutonjusa\n"
+ "Jay Shepherd\n"
+ "Song Kim\n"
+ "Charles A Moore\n"
+ "Kevin Louie\n"
+ "Shane Walton\n"
+ "Jan Barkawitz\n"
+ "Chris Stewart\n"
+ "Cole Two Bears\n"
+ "Taz\n"
+ "Chris Adams\n"
+ "Brian Rodriguez\n"
+ "Johnoel Stafford\n"
+ "Janmesh Jani`\n"
+ "Jeff Grimm\n"
+ "John L. Ricketts, Ph.D.\n"
+ "George Watkins\n"
+ "Abdul Bajaber\n"
+ "Brandon Bennett\n"
+ "Daniil Yanov\n"
+ "Al Reid\n"
+ "Rob the animal Steers\n"
+ "cargostud\n"
+ "cjf de kievith\n"
+ "Aaminah H Rashid\n"
+ "Eric Park\n"
+ "Muhammad Shehab\n"
+ "Amit\n"
+ "Aki Pap\n"
+ "Michael Doe\n"
+ "Todor Bozhinov\n"
+ "CraigThomsonSCOTLAND\n"
+ "MarkThomas \n"
+ "Eric Davis\n"
+ "Yuta G. Shimizu\n"
+ "Arthit Chinnachot\n"
+ "5UCC355\n"
+ "Patrick van Bennekom\n"
+ "Ricardo Oto Engelmann\n"
+ "Marcus B. Ullrich\n"
+ "Douglas Wagner\n"
+ "Artiom Lichtenstein\n"
+ "Chad Pembleton\n"
+ "Zhandos Shalmanov\n"
+ "Miguel Fuentes Gonzales\n"
+ "JamesCawte\n"
+ "Marcello71\n"
+ "Ali Fadhl\n"
+ "ALI FADHL\n"
+ "DAlicea\n"
+ "Dion.I.Seuss\n"
+ "Antoine Reid\n"
+ "Richard Kok\n"
+ "Soe Naing \n"
+ "Simon Jack\n"
+ "Nick Morrison\n"
+ "Dennis R. Miranda\n"
+ "Rameshbabu\n"
+ "Bryan Kosten\n"
+ "Tim Potticary\n"
+ "Thomas Knowles\n"
+ "el3ctron\n"
+ "Gerard.v.Geffen\n"
+ "lombers\n"
+ "waqar\n"
+ "kakalo\n"
+ "Michael Magnus\n"
+ "Brent Walter\n"
+ "Gnani\n"
+ "Ishan Arora\n"
+ "Dennis Pham\n"
+ "Emanuel Jose Hernandez\n"
+ "Alex Dumitrescu\n"
+ "Jonathan Els\n"
+ "Modathir Bashir\n"
+ "Todd Albiston\n"
+ "Daniel Morales (RCL)\n"
+ "Flaviano Reis\n"
+ "Mike H.\n"
+ "Elijah S. Rodriguez\n"
+ "imperorr\n"
+ "Phill Johntony\n"
+ "ChulhansOfTrinidad\n"
+ "Celia\n"
+ "Christopher Fata\n"
+ "Vince Ward\n"
+ "Ricky Innes\n"
+ "Nizar Hamoudah\n"
+ "Salman Chougle\n"
+ "Darpan Gadhiya\n"
+ "Watashi No Kamei\n"
+ "CCIE#18444\n"
+ "Kevin Eze\n"
+ "strontiumdog\n"
+ "David Alpizar\n"
+ "Suelzwurst\n"
+ "Victor M Hanna\n"
+ "Abdullah\n"
+ "Sahir Algharibih\n"
+ "Jimmy\n"
+ "Andrew Victor Godfrey\n"
+ "tom.meadows\n"
+ "laljohnson\n"
+ "ShawayneD\n"
+ "Jason Huseman\n"
+ "Kristian L Brown\n"
+ "Syed Abbas Ali\n"
+ "RMasuda\n"
+ "Hooman.Abbasi\n"
+ "Marty Nelson\n"
+ "Harjinder Singh\n"
+ "rjbanker\n"
+ "Josh Barenthin\n"
+ "TheSorrow\n"
+ "Mark Ducote\n"
+ "CedarLee\n"
+ "Mayank Nauni\n"
+ "Richard (Tricky) Town\n"
+ "Mathieu Poussin\n"
+ "Constantin Mihuta \n"
+ "LikeIT\n"
+ "Olrik Lenstra\n"
+ "Georgios Pelekanos\n"
+ "FONTAINE Aurélien\n"
+ "Mohamad Yehia Siblini\n"
+ "Bryan Lurer\n"
+ "Gianremo Smisek\n"
+ "Mark (Noof) Ducote\n"
+ "Michael Routledge\n"
+ "d0gbert\n"
+ "HollisDarby\n"
+ "Bert\n"
+ "Mohammed Kamal\n"
+ "Brandon Glaze\n"
+ "FlonMaloku\n"
+ "Tameem ALjanabi\n"
+ "Fabrizio Micucci\n"
+ "Paul Burmeister\n"
+ "Ian Bartels\n"
+ "kalo.evang\n"
+ "Yan Cote\n"
+ "Nicholas Vogtman\n"
+ "Edgar Fernando Monroy\n"
+ "HIM\n"
+ "igat78\n"
+ "Alfredo Pasigan Salipot\n"
+ "Artem N Kuznetsov\n"
+ "Siem Hermans\n"
+ "Tony Marrazzo\n"
+ "Josh Lowe @ UOIT\n"
+ "ziaul\n"
+ "Bahman Arbabzadeh\n"
+ "Hussain A.Aziz Al Alwani\n"
+ "githure\n"
+ "Stephen Snively\n"
+ "David Gierke\n"
+ "James Julier\n"
+ "David Bell\n"
+ "Ashkan\n"
+ "Kamaleldin Sadik\n"
+ "Mike Dupuis\n"
+ "Jacques Baribeault\n"
+ "Ait bennour\n"
+ "Abrhim\n"
+ "N1029676\n"
+ "Major Dallas\n"
+ "Pedro A. Collado\n"
+ "Luca Zanin8\n"
+ "Karl Billington\n"
+ "Jared Murrell\n"
+ "RhoninXPowers\n"
+ "Ali Abed\n"
+ "Lee Hutchings\n"
+ "Mesikoo Kamali\n"
+ "Kanwar Muhammad Zeeshan\n"
+ "Dan West\n"
+ "Joshua Hublar\n"
+ "Hameed Alzahrani\n"
+ "Kev Ward UK\n"
+ "Jon Waters\n"
+ "Mika Ilvesmaki\n"
+ "Patrick McMichael\n"
+ "Ron Cannella\n"
+ "James McCutcheon\n"
+ "Russel Crozier\n"
+ "ValMor\n"
+ "Maximilian Lehrbaum\n"
+ "RiCor874\n"
+ "Russell Cassidy\n"
+ "Sherwin A. Crown\n"
+ "Jim \"The Great Mullet\" Rethmann\n"
+ "Ovunc Alper Mert\n"
+ "Glenn Tobey\n"
+ "kjsrandhawa\n"
+ "LeeJBurton\n"
+ "Zygimantas Vrubliauskas\n"
+ "Mike Manning\n"
+ "Andrew C Bodine\n"
+ "Edward Beheler\n"
+ "David Monteclaro\n"
+ "yasir\n"
+ "Matt Wardle\n"
+ "Kevin Menzel\n"
+ "Jude Wu\n"
+ "Richard Alvarez\n"
+ "Jay Shah\n"
+ "Alexander E. Deems AKA TSDOI\n"
+ "SOMANDAC\n"
+ "Mark Degner\n"
+ "Paul McParland\n"
+ "cham00ko\n"
+ "Jeffrey Charlite\n"
+ "bootcamp20\n"
+ "Nilson Medrano\n"
+ "LoveKatyaPa\n"
+ "Sanjay Kumar Patel\n"
+ "Kirk J Iles\n"
+ "Munyaradzi Manonose\n"
+ "Munyaradzi Ncube\n"
+ "Afrasinei Doru Mihai\n"
+ "patrez\n"
+ "Tsepo Lesibe\n"
+ "Curtis Stanley\n"
+ "Alex Guzzardo\n"
+ "WILLIAN PEREIRA VIEIRA DA CUNHA\n"
+ "Michael Camara\n"
+ "Prankit Jain\n"
+ "Michael Field\n"
+ "Edward Fahner\n"
+ "Tom Jehn\n"
+ "Thomas Tablada\n"
+ "faizkhanzada\n"
+ "Lonardoni\n"
+ "Hugo Klein Nagelvoort\n"
+ "MarkP\n"
+ "Michigan J. Frog\n"
+ "Cyberbird\n"
+ "pingaq\n"
+ "Christopher Michael Murray\n"
+ "Shailesh R Patel\n"
+ "WTRoss\n"
+ "Chad Stambaugh\n"
+ "Daniel Toland\n"
+ "Damian Baran\n"
+ "Ashley Georgeson\n"
+ "DaveNaisbitt \n"
+ "Anthony Burke\n"
+ "Kevin Denton\n"
+ "Fordo\n"
+ "Julios Ñahuero Balbin\n"
+ "Richard Sias\n"
+ "Ibon Arretxe\n"
+ "EODChief\n"
+ "Garrett W Taylor\n"
+ "Sulaywan Benoit F. TUFFERY\n"
+ "Nionios\n"
+ "obsidianlock\n"
+ "Kamal Osman\n"
+ "Sachin\n"
+ "woodard\n"
+ "SCarriveau\n"
+ "Jason Brake\n"
+ "Kelvin BigEasy Stallings\n"
+ "Oufaki_Boulaki\n"
+ "Paulo Pinto da Silva\n"
+ "Angus Lepper\n"
+ "Pawel Sniechowski\n"
+ "BCQuest\n"
+ "Robin - Digininja\n"
+ "networker\n"
+ "Chris O\'Shea\n"
+ "Andrés Rosales Luna\n"
+ "Alvarito\n"
+ "John Tobin\n"
+ "Jeff Cameron\n"
+ "Gauntlet Smith\n"
+ "Catpuking\n"
+ "Voujon L.\n"
+ "Deez\n"
+ "Alex DeAraujo\n"
+ "Manny Garcia\n"
+ "Garry Baker\n"
+ "Silvio Pinheiro\n"
+ "Faisal\n"
+ "doncompu\n"
+ "Happy Hanna\n"
+ "dcsmwy\n"
+ "LGSalsero\n"
+ "Liudas Duoba\n"
+ "Jamie Wells\n"
+ "Alfredo Vera\n"
+ "eiasan\n"
+ "Mohammad Ali Naghval\n"
+ "Vinicius Machado\n"
+ "Mike & Cindy M\n"
+ "MikeCarel\n"
+ "barkusdawg\n"
+ "Robert McKee\n"
+ "Charles Ferguson\n"
+ "Tonicarreno\n"
+ "Steve Blizzard\n"
+ "Osamuyi imade\n"
+ "McNeelyYoung\n"
+ "Adolfo Cabrera\n"
+ "Megajove\n"
+ "Francisco R. Butera\n"
+ "Carl Baccus\n"
+ "Dallas Bishop\n"
+ "Alexei Nikolaev\n"
+ "Houssam Chahine\n"
+ "Charlie Gombert\n"
+ "Praveen Kumar \n"
+ "Mahmood Naiser\n"
+ "tudor evil1\n"
+ "ak2766\n"
+ "Alex Clipper\n"
+ "Bob Benson\n"
+ "Kakos\n"
+ "Andre Jonker\n"
+ "LeeWray-CCIEtoBe\n"
+ "GMcCray@Orange\n"
+ "Phil Chapman\n"
+ "Ze \'Qzx\' Qronique\n"
+ "Trevor Conkle\n"
+ "Mike Mikeson\n"
+ "Krzysztof Miłek\n"
+ "Joseph Becker\n"
+ "Don Floyd\n"
+ "Andrew Lemin\n"
+ "Kimmer\n"
+ "Cotomacio\n"
+ "MarkF\n"
+ "Ronak Maniar\n"
+ "Deepak Bysani\n"
+ "Mohau Nchake\n"
+ "Roderick Williams Sr.\n"
+ "Bob Lyons\n"
+ "Kieran123\n"
+ "Blaine G\n"
+ "ikehoff\n"
+ "Tony Dennis\n"
+ "AbdulWahabSoomro\n"
+ "ILIAS BATSILAS\n"
+ "Omar Bounoun\n"
+ "Leandro Pina\n"
+ "ZorprimeSDF1\n"
+ "Kevin Fisher\n"
+ "Andre Heyliger\n"
+ "jethrocruz3\n"
+ "Nnamdi Anyanwu\n"
+ "nazir8121\n"
+ "Karim Souissi\n"
+ "Ramon Jr Yu\n"
+ "Peter Hinds\n"
+ "MarkMalone\n"
+ "Francivaldo B. Cavalcante\n"
+ "Roberto Otero\n"
+ "GersonEx\n"
+ "Mark Horsfield\n"
+ "dsgm\n"
+ "New Generation Network NGN\n"
+ "Derrick Lowder\n"
+ "Daniel López\n"
+ "ilya zindman\n"
+ "jerryjmcconnell\n"
+ "Craig Munro\n"
+ "WeirdLilMidget\n"
+ "Jonathan Miller\n"
+ "MEHDI BASRI\n"
+ "Andy Burnett\n"
+ "Doug George\n"
+ "Faheem\n"
+ "Mike Rozman\n"
+ "Maz Shah\n"
+ "Bulost\n"
+ "Dennis Bailey\n"
+ "Craine Runton\n"
+ "AJMottola\n"
+ "irwandi.guritno\n"
+ "ManuelR\n"
+ "tchilljr\n"
+ "Fernando Mauro\n"
+ "Rafael Meira Salomao\n"
+ "William A Engel\n"
+ "Kevin Seales\n"
+ "Sérgio\n"
+ "Sergio Pereira\n"
+ "JerryCakes\n"
+ "Mukom Akong TAMON\n"
+ "Roger M. Jones\n"
+ "WaltDoGG\n"
+ "Ashish Batajoo\n"
+ "gianghip\n"
+ "Hakan \"deegan\" Bjorklund\n"
+ "satmatzidis\n"
+ "PanosK\n"
+ "Frantisek Cmuchar\n"
+ "MJPollard\n"
+ "Jace Thompson\n"
+ "Shawn Nay\n"
+ "Aaron Paul Clark\n"
+ "Jeremy Furr\n"
+ "kcriscuolo\n"
+ "jaberzadeh\n"
+ "Haridralingam\n"
+ "Brett W. Cook\n"
+ "Michael-Vogler\n"
+ "pkaldani\n"
+ "James Grace\n"
+ "Andres Bolaños Rojas\n"
+ "Bradley Stevens\n"
+ "Renaud Pellerin Levesque\n"
+ "Bizkitcan\n"
+ "Roberto Velez\n"
+ "912m0fr34k(Digvijay Singh)\n"
+ "TRAVIS K\n"
+ "Jamal Mohamed Ahmed Aly\n"
+ "Ashwin Ramdin\n"
+ "MarcoEnrique\n"
+ "Ray Manriquez\n"
+ "Jason \"jabreity\" Breitwieser\n"
+ "Ruben Genaro Villanueva\n"
+ "Robert Bowen\n"
+ "Brad Peterson\n"
+ "Renaud Pellerin-Levesque\n"
+ "Johnathan Andrew Greeley\n"
+ "dbamurray\n"
+ "EMAD ABID\n"
+ "Dustin Sammut\n"
+ "Alexander Bauer\n"
+ "irvinleovillanueva\n"
+ "Munir B. Abdullahi\n"
+ "Dag H. Richards\n"
+ "ShamYavagal\n"
+ "Fraser Hugh Munro\n"
+ "shankerbm\n"
+ "Andrew Dashner\n"
+ "Nathan Gautrey\n"
+ "Brian Eckblad\n"
+ "Riley C. Robertson\n"
+ "TuRaNiK\n"
+ "Sergio Martinez\n"
+ "Brandon Gonzalez\n"
+ "amrinder kamboj\n"
+ "Shaun Parrish\n"
+ "Damian Wikkeling\n"
+ "Justin Neisler\n"
+ "Ian J Adams\n"
+ "NHH\n"
+ "NAHH\n"
+ "Walshburg\n"
+ "Jamie Cresdee\n"
+ "Nash\n"
+ "Jeff Taylor\n"
+ "SomeScaryGirl\n"
+ "Mike Melo\n"
+ "Vlad \"Rivera\" Ivanov\n"
+ "racole\n"
+ "VDR\n"
+ "Christopher H. George\n"
+ "Colby Collier\n"
+ "Patrick Ley\n"
+ "JHBrashear\n"
+ "Lochocki\n"
+ "Alberto González Rosales\n"
+ "HaOsLsE\n"
+ "Rich Cortes\n"
+ "2affa7\n"
+ "Dustin Goode\n"
+ "Daniel Huber\n"
+ "Cory Thomas\n"
+ "Michelle Laydon\n"
+ "Jason-Liang\n"
+ "fangfangjt\n"
+ "Lateef Law\n"
+ "Andy Goodley\n"
+ "Nicholas Zerwig\n"
+ "Matt Long\n"
+ "Matthew Allen Weber\n"
+ "Chukwuemeka Ezekoka\n"
+ "Neil A. Briscoe\n"
+ "Roman Chikunov\n"
+ "Jesse Barto\n"
+ "Alexander Shivers\n"
+ "HSIEH CHANG MING\n"
+ "Alfred B. Dullano\n"
+ "Jez2cool&Bebo\n"
+ "Tom Huynh\n"
+ "Will Kerr\n"
+ "Granite Ledford\n"
+ "Nicholas Strov Alexander\n"
+ "Sajjad Ahmed\n"
+ "Theo Hill\n"
+ "scb\n"
+ "Andrew Roderos\n"
+ "Tofig Ahmed\n"
+ "Mark Buono\n"
+ "Eric Coleman\n"
+ "Jessie Carabajal\n"
+ "Marcel _N:L:\n"
+ "Moshe.Itzhaki\n"
+ "Carl Joseph Ellement\n"
+ "aelso.silva\n"
+ "gtz\n"
+ "Adam Knutson\n"
+ "Augusto Castelan Carlson\n"
+ "Erik\n"
+ "Michael Patton\n"
+ "Thomas Anderson\n"
+ "Geoff Thornton\n"
+ "Tzalas Konstantinos\n"
+ "Miguel Rosa\n"
+ "Daniel Demers\n"
+ "Jeremy Goyette\n"
+ "N. van Zwieten\n"
+ "Windsor\n"
+ "Brendan Mason\n"
+ "David J Smith\n"
+ "Syed Ahmed Quadri\n"
+ "Anders Cai\n"
+ "Bonno\n"
+ "Rob Looby\n"
+ "Olivia the Cat\n"
+ "Travis Heinz\n"
+ "pranay solanki\n"
+ "skennedy\n"
+ "ChaXueHer\n"
+ "Even Hernandez\n"
+ "Mark Shield\n"
+ "POPQUIZZZ\n"
+ "Thomas Pedersen\n"
+ "James T. Walston Jr.\n"
+ "James Rosenthal\n"
+ "Jesus Garcia Chavez\n"
+ "Matthew Songy\n"
+ "Kevin Groves\n"
+ "Warakorn Sae-Tang\n"
+ "Roberto Carratala\n"
+ "Paul Harris\n"
+ "Hasan Aljumaily\n"
+ "skHosting.eu s.r.o.\n"
+ "EJAZ MUNIR\n"
+ "Luke Tidd\n"
+ "Jason Roth\n"
+ "Ali Fard\n"
+ "RechieCebreros\n"
+ "Samaan AlKhaldi\n"
+ "Abhijeet Kunde\n"
+ "Aldin Ringor\n"
+ "Shine Sandhu\n"
+ "Øystein Gulliksen\n"
+ "Nick Travalini\n"
+ "Joon Park\n"
+ "M.Philip\n"
+ "Kamron\n"
+ "MikeCindyAkinaAlek\n"
+ "Bjoern Drewes (Verfriemelt)\n"
+ "Spencer Onsongo\n"
+ "Corey_age_00110000\n"
+ "Jegan-Malaysia\n"
+ "David Okeyode\n"
+ "Md Rasel Mia\n"
+ "Jesse Loggins CCIE#14661\n"
+ "Jacob Bennefield\n"
+ "Mohamed Nizwan\n"
+ "Ali\n"
+ "yes\n"
+ "Andrey Bozhko\n"
+ "GHaKK\n"
+ "Jubal Gil Vivas\n"
+ "Julio Maura\n"
+ "CARLOS ALBERTO PEREZ RAMIREZ\n"
+ "sidney berkenbrock\n"
+ "Richard Wilson\n"
+ "Chase Raptor Wilson\n"
+ "Rakee\n"
+ "Felipe Solís\n"
+ "escartinis\n"
+ "Erick Parsons\n"
+ "Alexander O Chard\n"
+ "Davi Junior\n"
+ "Zachary McLemore\n"
+ "Marc Simcox\n"
+ "Juan José Castro\n"
+ "Dharnesh\n"
+ "Mostafa Hassan\n"
+ "Zaheid Iqbal\n"
+ "Samarth Chidanand\n"
+ "Ping Petchged\n"
+ "Joe Sanchez\n"
+ "Alan Dunne\n"
+ "David Scolamiero\n"
+ "Wade Edwards\n"
+ "Teng Lee\n"
+ "Voramit Y.\n"
+ "Harshit Namdeo\n"
+ "Michael A. Martino\n"
+ "Ahmad Maher Che Mohd Adib\n"
+ "h.msahbin\n"
+ "tataroktay\n"
+ "Tony Kenneth\n"
+ "Adrien Demma\n"
+ "Thiago R. Fanfoni\n"
+ "vladys\n"
+ "Joe Polak\n"
+ "Eric Belinsky\n"
+ "linuxdancer\n"
+ "Ian Woods UK\n"
+ "Michael Ciacco\n"
+ "Suradech Pornsomboonkit\n"
+ "Gauravdeep Singh \n"
+ "resoldab\n"
+ "Keith Gardiner\n"
+ "JayWifi\n"
+ "PrabhuWorld & Nishanth\n"
+ "Prabhu & Agalya\n"
+ "Prabhu & Duraikannan & Vanitha\n"
+ "Nick Young\n"
+ "yurezplace\n"
+ "Seth Eshun\n"
+ "TLACKI\n"
+ "University of Texas at Dallas\n"
+ "Richard Antiabong\n"
+ "Aaminah Haniyah Rashid\n"
+ "Michael Gilton\n"
+ "emil\n"
+ "LynnH\n"
+ "Emanuel Facundo Campos\n"
+ "Leandro Rudolph Araujo\n"
+ "Arabi\n"
+ "chekoceron\n"
+ "Sonny\"Criminal\"Wigmore\n"
+ "Hervey Allen\n"
+ "Steve Brosseau\n"
+ "Fishlogic\n"
+ "Alex Kirby\n"
+ "Kyle Steinkamp\n"
+ "Louis Lloyd\n"
+ "cblessed\n"
+ "Jason Biscuit Williard\n"
+ "Steven H. Kalupson\n"
+ "Oshoe\n"
+ "John E. Durrett\n"
+ "WALA\n"
+ "Adrian Huston\n"
+ "Chad Hart\n"
+ "Blessing Matore\n"
+ "Julien BERTON\n"
+ "Michel Askenfeldt\n"
+ "Stephen Neary\n"
+ "WavetechSystemsLLC\n"
+ "CDeHoust\n"
+ "James P Hollingsworth\n"
+ "MMPD\n"
+ "KJ Iqbal\n"
+ "Ray Belshaw\n"
+ "Cipriano\n"
+ "Chris Fucking Johnson\n"
+ "Mondilla1985\n"
+ "Drew Mallett\n"
+ "Kevin Taylor\n"
+ "Chen Huangdong\n"
+ "Dan Brito\n"
+ "Charles Moore\n"
+ "Rowan George\n"
+ "Simon Joiner\n"
+ "Ebnöther Christian\n"
+ "Reza Hossain Khan\n"
+ "John Regan\n"
+ "Daniel D Patrick\n"
+ "Gared\n"
+ "George Solorzano \n"
+ "Nathan Bender\n"
+ "AJ Cochenour\n"
+ "Noel R\n"
+ "Tseggai\n"
+ "sSkulltrail\n"
+ "VegasRatt\n"
+ "Loek Canisius\n"
+ "Ismael A. Torres\n"
+ "Carlos Gobea\n"
+ "Patricio Salmeron\n"
+ "Alex Viman\n"
+ "Aram Nazarin\n"
+ "KhaisarMasoodAhmed\n"
+ "CameronRake\n"
+ "Adnan Shaikh\n"
+ "John Huston\n"
+ "Rob Stoop\n"
+ "route_bub\n"
+ "medtemo\n"
+ "Mark Mcfarland\n"
+ "slaxative\n"
+ "Warren Evans\n"
+ "Herme\n"
+ "Krzysztof Milek\n"
+ "Gobinath Chandrasekaran\n"
+ "julius gilmore\n"
+ "jeremyjenkins5\n"
+ "junj2121\n"
+ "Eduard Coll Pascual\n"
+ "SwampRabbit\n"
+ "Chintan Patel\n"
+ "Chad Monroe\n"
+ "Benjamin A Albee\n"
+ "S2MFH\n"
+ "Rajan Thanki\n"
+ "Dr. Christopher DesMarteau\n"
+ "Antonio Molina Cádiz\n"
+ "csegovia\n"
+ "Kamaleldin M Sadik\n"
+ "Tzu-Che HUANG\n"
+ "Zandro Bacani\n"
+ "Gabriele Di Benedetto\n"
+ "ARGCCIE2013\n"
+ "Tyler Kor\n"
+ "petenugent\n"
+ "Will Sim \n"
+ "wam\n"
+ "Chris Aldridge\n"
+ "Dwarfmage\n"
+ "Glenn \"Moose\" McHenry\n"
+ "Peter Baffoe\n"
+ "John and Crystal Vaughan\n"
+ "JAPD\n"
+ "Henrique Roma\n"
+ "Joseph Webb\n"
+ "Anton Denisevich\n"
+ "Brennan Nehemiah Jones\n"
+ "Justin Reagan\n"
+ "Stewart Beam\n"
+ "AlexBransome\n"
+ "Dwayne Towns\n"
+ "Derek Smiley\n"
+ "Ferran Orsola\n"
+ "Jason Craft\n"
+ "devesh\n"
+ "Luis A. Rocca Vazquez\n"
+ "Borja López Montilla\n"
+ "Adib Amrani\n"
+ "Debasish Gharami\n"
+ "Alessandro Lovati\n"
+ "Cristian Vendemiati\n"
+ "somescarygirl\n"
+ "Neil Shankar\n"
+ "Manjunath S Chickmath\n"
+ "Phill Proud\n"
+ "RolandVogels\n"
+ "Sam Mackenzie\n"
+ "Anthony Fuentes\n"
+ "Rich N\n"
+ "Meneertjes\n"
+ "darma96\n"
+ "Daniel Stamatov\n"
+ "Jakub Peterek\n"
+ "David G Boyle\n"
+ "Chad Carrington\n"
+ "CCIE28839\n"
+ "Lilliana \n"
+ "Raffaele \n"
+ "Brad Powlison\n"
+ "Bharath Ramakrishna\n"
+ "MCyagli\n"
+ "Scott Maderitz\n"
+ "Eugeniu Babin\n"
+ "William M Zambrano\n"
+ "Elton Hubner\n"
+ "Marek Macovsky\n"
+ "Luccas Aguiar\n"
+ "Keith Nowosielski\n"
+ "Dr Bankim Jani\n"
+ "JS\n"
+ "Tuxufologo\n"
+ "kishiro\n"
+ "Eric Gamess\n"
+ "Nguyen Thai Nguyen\n"
+ "Dmitry Pavlov\n"
+ "AS97\n"
+ "Axel Sioland\n"
+ "Louis Bartay\n"
+ "yokota shinichi\n"
+ "medtemo\n"
+ "Fekadu Berhane\n"
+ "Dmitriy E. Koshkin\n"
+ "amrinder kamboj\n"
+ "Muyeen Parveez\n"
+ "Peter Tavenier\n"
+ "kalpana\n"
+ "DlteC do Brasil\n"
+ "Tim Wilkes\n"
+ "Dave Malner\n"
+ "Ali Fadhl Hussein\n"
+ "elgrecos\n"
+ "Brandon Fields\n"
+ "Richard Jenniss\n"
+ "mikemick\n"
+ "Hitesh Panchal\n"
+ "W3FTM\n"
+ "TxetxuMC\n"
+ "Rotero82\n"
+ "JD Keith\n"
+ "MichaelDHays\n"
+ "yeyo\n"
+ "Mohamed Mohamud\n"
+ "Tarik houmaiza\n"
+ "Alessandro Piva\n"
+ "Arabi\n"
+ "Victor Salas\n"
+ "Santosh Nair\n"
+ "Shashank Bhargava\n"
+ "Andrew Tagliani\n"
+ "Shamal Weerakoon\n"
+ "Matt \"The Beard\" Powell\n"
+ "Douglas Edward Luce\n"
+ "John the PawWow\n"
+ "Dave Persuhn\n"
+ "Peter Daniel Bartyik\n"
+ "Richard P. Mauer\n"
+ "Juan C. Guerrero\n"
+ "Randall Nieland\n"
+ "Carlos Cabrera\n"
+ "Jason Giles\n"
+ "Robert Pribanic\n"
+ "Renato Pinheiro de Souza\n"
+ "Antonio J Remedios\n"
+ "Adam Reblitz\n"
+ "Jose Rodriguez\n"
+ "Glenn Eberhard\n"
+ "EricWibowo\n"
+ "Peter M Nikodem\n"
+ "Sergio Ryan La Torre\n"
+ "Tommie James\n"
+ "Sabine Reis\n"
+ "Skyler Hayes\n"
+ "Yoruba\n"
+ "Jens Stark\n"
+ "Dean Lewis\n"
+ "Recundis\n"
+ "Yazeed Fataar\n"
+ "IOLARIU\n"
+ "Kurt & Ethan Steed\n"
+ "Paul Slater\n"
+ "Malick FALL\n"
+ "eduinho\n"
+ "Shev\n"
+ "v0ha\n"
+ "Bezmalinovic\n"
+ "Les Bowditch\n"
+ "Rick Sattler\n"
+ "PGX\n"
+ "Abhinandan Juyal\n"
+ "Ernest Edwards\n"
+ "Paul Woodhouse\n"
+ "Ian Benoit\n"
+ "Sasha Dee Robbins\n"
+ "Ferrel\n"
+ "Marc Snelgrove\n"
+ "Nicolás A. Escudero\n"
+ "Marcus Auman\n"
+ "sides14\n"
+ "albokillers\n"
+ "Juan C. Espinoza\n"
+ "Filipe Torres\n"
+ "J.C. Cederboom BICT\n"
+ "Jovanni\n"
+ "Matthew C Hickey\n"
+ "Michael Anthony Cummisky\n"
+ "Dmitry Figol\n"
+ "Brian Wusu\n"
+ "ZEULEO\n"
+ "SeongJaeYang\n"
+ "Jesus Alirio Diaz Castro\n"
+ "C Dennis Ferguson\n"
+ "Viktor Pakin\n"
+ "Shelbie_Fann\n"
+ "Jay Canfield\n"
+ "Andrei Bolanu\n"
+ "Juan Felipe Palacios\n"
+ "Igor Boyko\n"
+ "hadinhphu\n"
+ "Esvi Molina G.\n"
+ "Shawn McHenry\n"
+ "korjjj\n"
+ "Abdul Jawad Shakoor\n"
+ "Edmarc Vitz Oliveros\n"
+ "Mike Melo\n"
+ "Walter Haeffner\n"
+ "TKH\n"
+ "Matthew Weber\n"
+ "H4K3R\n"
+ "Shawn Hanff\n"
+ "Ateeb Ahmed\n"
+ "Jerry Kanoholani\n"
+ "Anton Björkstrand\n"
+ "Ryan Corcoran\n"
+ "Eric Persch\n"
+ "Dane Straub\n"
+ "Syed Hashmi\n"
+ "Muhammad Furqan Butt\n"
+ "Jima\n"
+ "Bill Scheirer\n"
+ "Mikael H.\n"
+ "Internetworkerz\n"
+ "Mike Ferguson\n"
+ "Matthew Mason\n"
+ "Sujith TK\n"
+ "TheSource\n"
+ "Eduardo Romero Peña\n"
+ "Andrei Niamtu\n"
+ "Shafaq Ali\n"
+ "Harold H Hall III\n"
+ "Dion Rupert\n"
+ "Iavarone\n"
+ "Eric Geib\n"
+ "Prakash\n"
+ "Tom S Pedersen\n"
+ "bash550\n"
+ "Mukendi Zamba\n"
+ "Daniel Gheorghe Luca\n"
+ "Phillip B. deChantal III\n"
+ "Aatif Nawaz\n"
+ "Yuri (aka itAvgur) Melnikov\n"
+ "iKaruS\n"
+ "Jon Christopher Matthews\n"
+ "Stuart Fordham\n"
+ "olga1126\n"
+ "Ashwani Patel\n"
+ "Ronald White\n"
+ "Rob VanHooren\n"
+ "Ifti Hussain\n"
+ "Jan Král\n"
+ "pramod mangatha\n"
+ "Franklin Davis\n"
+ "Kendrick Som\n"
+ "Joseph Amen\n"
+ "Michael Lee Mosher\n"
+ "Abel G. Aberra\n"
+ "jbrake\n"
+ "joso\n"
+ "Renzo Tovar Ledesma\n"
+ "Rodrigo Lube\n"
+ "Emad Abid\n"
+ "Joshua St.Clair\n"
+ "Gabor Keri\n"
+ "Chris Ortiz\n"
+ "Michael P Goodwins\n"
+ "Adrian Oden\n"
+ "Paul Eugene Smth\n"
+ "Sahil Pujani\n"
+ "manokum6\n"
+ "Ruslan Foutorianski\n"
+ "Sinan Sulaiman\n"
+ "Philip Weekly\n"
+ "hernan.cruz.iii\n"
+ "Torgny Holmlund\n"
+ "A.Autricque\n"
+ "LeeJBurton\n"
+ "Daniel Elkins\n"
+ "Ahmed Shetta\n"
+ "Mihai Mirita\n"
+ "AsdfghjkL\n"
+ "Anton Zinchenko\n"
+ "Anders Låstad\n"
+ "Asimios Kiropoulos\n"
+ "cdljel\n"
+ "Meeralebbe Mohamed Rezard\n"
+ "Chris Weber\n"
+ "Shawn Nay\n"
+ "Gabe Rivas\n"
+ "Andrea Dainese\n"
+ "Eric SAUGNAC\n"
+ "vahid rezaabadi\n"
+ "Don Kanicki\n"
+ "Joe Mendola\n"
+ "Stanislav_CCIE_NextGen\n"
+ "Steven Coutts\n"
+ "Ahmad Amran Ahmad\n"
+ "ChewableFritter\n"
+ "Torgny Tonna Holmlund\n"
+ "Taiwo Awoyinfa\n"
+ "Aju Jose\n"
+ "Cory Light\n"
+ "Daniel de Morais Gurgel\n"
+ "pkillur\n"
+ "Alex D\n"
+ "Felipe Solis\n"
+ "Vijayendra Shetty\n"
+ "Frédéric \"Strall\" C.\n"
+ "JP Scholten\n"
+ "Olugbenga Adara\n"
+ "José Ignacio Jorquera G.\n"
+ "RICHMAC\n"
+ "Timi Shoyele\n"
+ "Andrew Roderos\n"
+ "Sathursan Kantharajah\n"
+ "Edj1963\n"
+ "Lasse Haugen\n"
+ "Thiago Bastos (TBastos)\n"
+ "Diogo Mendes\n"
+ "Eric Villeneuve\n"
+ "ARNOLD KWAME MARKSON\n"
+ "Tomek Szulczynski\n"
+ "Achiraf\n"
+ "Brent O\'Keeffe - University of Chicago\n"
+ "Trenton John Skoog\n"
+ "Mark Hicks\n"
+ "A Davis\n"
+ "VASANT\n"
+ "Dat Nguyen Thanh\n"
+ "Robert W Goguen\n"
+ "Noel Sergio\n"
+ "Peter Clemenko III\n"
+ "Happy Hanna\n"
+ "Alexander Atanasow\n"
+ "Nkosinathi Mntambo\n"
+ "Jeff Oliver\n"
+ "Sean Wauchop\n"
+ "Simon Priest\n"
+ "oliverdiese\n"
+ "Simon Macpherson\n"
+ "Dennis Weijenberg\n"
+ "Jonathan Worth\n"
+ "Pauly Comtois\n"
+ "Dynamic Network Security Ltd\n"
+ "siggjen\n"
+ "TimmyK\n"
+ "Hernan \"IP\" Marquez\n"
+ "Ryan Young\n"
+ "Abdiweli Haji\n"
+ "Thomas Kager\n"
+ "ElaineJoyDelaCruz\n"
+ "Jeff Smith\n"
+ "Lionel PONCELET\n"
+ "Frode Figenschou\n"
+ "EvelynBowman\n"
+ "Dr Barra Touray\n"
+ "Irvin Leo Villanueva\n"
+ "Steven Bowman\n"
+ "GurcharanSingh\n"
+ "Shane Bradley\n"
+ "Alex Kruch\n"
+ "Andrew Quinton\n"
+ "Jeremiah Sholes\n"
+ "David E. Cohen\n"
+ "Michael Ciacco\n"
+ "Ziggy\n"
+ "Abrhim\n"
+ "Des Kharisma\n"
+ "yusyd\n"
+ "Tomasz Grzelak\n"
+ "mosipd\n"
+ "J.D. Wegner\n"
+ "Fred O Asante\n"
+ "George C. Dean\n"
+ "Jose Ricardo Feliz de Oliveira\n"
+ "Muhammad Nouman\n"
+ "Hamid Reza Farahani Farid\n"
+ "Kaizad Anklesaria\n"
+ "Lonie Packer\n"
+ "aelso.silva\n"
+ "Erik de Wildt\n"
+ "thepcdoctor\n"
+ "Ben Murray (Cache22)\n"
+ "kuji\n"
+ "Bobbie Edwards\n"
+ "AugurJ\n"
+ "Rodrigo de Paula Cordeiro\n"
+ "Edson Siqueira, RJ - Brazil\n"
+ "JMB^3\n"
+ "cgbfish\n"
+ "zdenotim\n"
+ "Jose Barrantes\n"
+ "Gordon Howard Hannan\n"
+ "Aboubacar Ballo\n"
+ "Matt \'Jacktooth\' Allen\n"
+ "Gabe\n"
+ "Junaid Khan\n"
+ "Markus Schaufler\n"
+ "Terry Rawleigh\n"
+ "Abdulla Solutions.net\n"
+ "Luis Carlos Salazar\n"
+ "Charles Boston\n"
+ "Tyrone Penn\n"
+ "Paul Denning\n"
+ "GSingh14\n"
+ "preston\n"
+ "Stephen Wilson\n"
+ "JamesBernardVallespin\n"
+ "Mircea Ion Nedelea\n"
+ "Sung Jae Park\n"
+ "Khaled Alghazi\n"
+ "Ewart Duncan\n"
+ "Nov Alpha Kilo\n"
+ "Billy J Bryant \"Diomenas\"\n"
+ "Tom_Evan_Alexa_Tif_Tippen\n"
+ "abcdefgh1234\n"
+ "Florian Ohnemüller\n"
+ "gnos\n"
+ "ankur singh\n"
+ "Donna Murphy\n"
+ "Joey Lamb\n"
+ "Satyajit Mandal\n"
+ "Jean Guandalini\n"
+ "Mohammed Elqazzaz\n"
+ "NWN Dan Hellwig\n"
+ "Raghav Gurung\n"
+ "Jon Halar\n"
+ "Daniel G Tootell\n"
+ "Graham Shaw\n"
+ "Lando Thomas\n"
+ "Joe Sanchez\n"
+ "Chris Corbin\n"
+ "Samuel E. Brown\n"
+ "Dmitri\n"
+ "Omar Fawaz Thoaib Al-Sammarraie\n"
+ "nyasha muzwidziwa\n"
+ "snuthall\n"
+ "Craig Coffey\n"
+ "Ramgopal Reddy M\n"
+ "Guilherme Montoanelli\n"
+ "l3y3t\n"
+ "Tony.Davis\n"
+ "Pipeiden\n"
+ "Thomas Tablada\n"
+ "Matthew Piechotta\n"
+ "David Michael Alan Daniel Gross\n"
+ "Robert Bezerra\n"
+ "Sergey Polski\n"
+ "Ivan Haralamov\n"
+ "Harley Hopkins\n"
+ "Dave Kretzmer\n"
+ "Timur Mezentsev\n"
+ "David Bianchi-Pastori\n"
+ "Przemyslaw \'UWillC\' Snowacki\n"
+ "Samuel Oppong\n"
+ "Joshua Riesenweber\n"
+ "Vlad Ivanovic\n"
+ "bryanamv\n"
+ "Tomasz Łęgowiak\n"
+ "M. Dustin Brimberry\n"
+ "Monthon Thunboonma\n"
+ "Parambir Singh Bhullar\n"
+ "Fahad\n"
+ "Thomas Wing\n"
+ "Devan Hardwick\n"
+ "Bahman Arbab\n"
+ "Jared M.\n"
+ "Philip Wong\n"
+ "Paulo Galluzzi\n"
+ "Gregory L. Johnson, Jr.\n"
+ "Mario Mariscal\n"
+ "KYLE LYNCH\n"
+ "Ross Anderson\n"
+ "John Littler\n"
+ "Kingsley Tambe-Ebot\n"
+ "Muhammed Ali Bulut\n"
+ "Sanjay Kumar Patel\n"
+ "MUJTABA HAIDARY\n"
+ "juliox\n"
+ "Robert Morris\n"
+ "Nick Duff\n"
+ "Andrew Krist\n"
+ "GNS41292\n"
+ "Vishnu Nagepally\n"
+ "Prithvi\n"
+ "Jomar Vincent Miller\n"
+ "Gildas Pambo\n"
+ "Michalis Polyadis\n"
+ "A.W. van Bart\n"
+ "Erwyn Tadong\n"
+ "Robert Laidlaw\n"
+ "Lance Heckerman\n"
+ "Tzu-Che HUANG\n"
+ "S.Gerry\n"
+ "Kevin R. Owens II\n"
+ "Ahmed Alayyoubi\n"
+ "GNS40116\n"
+ "KeshavS\n"
+ "Panagiotis Dasouras\n"
+ "Francesc Lumbierres\n"
+ "Brandon Benchley\n"
+ "Rusu Mihai\n"
+ "Imran Yousaf\n"
+ "bsdam\n"
+ "Curtis Bunch\n"
+ "Diego Antonio Quintana Solano\n"
+ "Kendell-Lee\n"
+ "Scott Pickles\n"
+ "Ahmed AlGherbawi\n"
+ "Unzagi\n"
+ "Tim Sedlmeyer\n"
+ "Ethan Tan YW\n"
+ "Bad Mother Fucker\n"
+ "Gurpreet Grewal\n"
+ "veers\n"
+ "Ehsan Hzare\n"
+ "Dennis Pham\n"
+ "Edsil Welch\n"
+ "yarrrr\n"
+ "Alexey Eromenko \"Technologov\"\n"
+ "Junior J George\n"
+ "Q Ozzman\n"
+ "Jakso Ozi Laszlo\n"
+ "Origosis\n"
+ "Dave Martin\n"
+ "Matthew A. Kurowski\n"
+ "FosNA\n"
+ "Md.Rafiqul Islam\n"
+ "Wuggles\n"
+ "Jason Marley\n"
+ "Adnan Kolakovic\n"
+ "Thomas A York\n"
+ "mikedesanto\n"
+ "Ramadevu Ramkumar\n"
+ "Joe Audet\n"
+ "Barz Dove\n"
+ "BremerH0\n"
+ "Karwan\n"
+ "Mark McGrady\n"
+ "Herbie\n"
+ "Adefisayo Adegoke\n"
+ "Luke Dominy\n"
+ "Gareth Rhys Williams\n"
+ "Harley Thomas Jones\n"
+ "Elvis Lunga\n"
+ "elinathan\n"
+ "Chris Dent\n"
+ "Omeata Ifeanyi\n"
+ "Sanyi Wakgari\n"
+ "gizmo\n"
+ "routenull0\n"
+ "Simon Wilkinson\n"
+ "Andy Britten 59 Commando RE\n"
+ "THEIS\n"
+ "F Graham\n"
+ "Graham MacGregor\n"
+ "wgamper\n"
+ "Mark Buono\n"
+ "John Li\n"
+ "Daniel David\n"
+ "Ahmed Thabet\n"
+ "Prithvi Das\n"
+ "Mike Mcleod Jr.\n"
+ "Michael Higgins\n"
+ "Praveen Kumar\n"
+ "Rick Mills\n"
+ "Miguel Sama\n"
+ "Jim Aurouze\n"
+ "Pramod Mangatha\n"
+ "Ghiyas Haider\n"
+ "frank hopkins\n"
+ "Bizkitcan\n"
+ "John Rockwell\n"
+ "Patrick Joseph A Evangelista\n"
+ "Tom Deamer\n"
+ "TiagoWR\n"
+ "Iman Ebrahimi Tajadod\n"
+ "Somone77 was here\n"
+ "mckrsta@hotmail.com\n"
+ "Joseph Munyongi\n"
+ "Chris Palmer\n"
+ "Himanshu Bhatt\n"
+ "Phil Henson\n"
+ "Rfernandes\n"
+ "Eze\n"
+ "Ezenwa\n"
+ "DaRyan Horn\n"
+ "Waisudin Farzam\n"
+ "Vyacheslav Sobchenko\n"
+ "Robert Gorbul\n"
+ "MrBultitude\n"
+ "Dave Massam\n"
+ "Khumi\n"
+ "Francisco \"TuKoX\" Briano\n"
+ "Aijaz\n"
+ "rittam\n"
+ "Seweryn Obieglo\n"
+ "Tessius\n"
+ "Hans Lossman\n"
+ "Libi Pappachen\n"
+ "TSAV\n"
+ "Deskha\n"
+ "Mohammad Al Amaireh\n"
+ "Megajove\n"
+ "Nico Heijnen\n"
+ "Jeff Nagel\n"
+ "Travis Baker\n"
+ "Bryan Tabb\n"
+ "MNL1960\n"
+ "LsTRA\n"
+ "GarethHall\n"
+ "Vanquish1986\n"
+ "JAMES SNEW\n"
+ "Muhammad Bhatti\n"
+ "Tiago Marques\n"
+ "Jason Pietrzak\n"
+ "Ping Petchged\n"
+ "Herman\n"
+ "Nikul Patel\n"
+ "Alfred Eric Jones III\n"
+ "Josh Barenthin\n"
+ "Kanuj Behl KjB\n"
+ "philbeau\n"
+ "YALEW TAKELE\n"
+ "phletchmattic\n"
+ "Jayir Mansuclal\n"
+ "Phil Beaudoin\n"
+ "Steve Minnick\n"
+ "Eugenio de la TorreGNS30928\n"
+ "Eugenio de la Torre\n"
+ "Aelso.silva\n"
+ "Jodoval Luiz dos Santos Junior\n"
+ "Zack Manriquez\n"
+ "WOS\n"
+ "Chris Good\n"
+ "ALI QASSEM ALMHDI\n"
+ "Clifton Bissick\n"
+ "Edward Cohen\n"
+ "Driton B\n"
+ "Brian Keifer\n"
+ "Henry Dsouza\n"
+ "Garrett Haynie\n"
+ "Bob Lyons\n"
+ "David E Soto JR\n"
+ "Rob Jeff\n"
+ "Cicero Avila\n"
+ "fulopa7\n"
+ "Arnaud Helin\n"
+ "Dan Alongi\n"
+ "JamesDanielMorris\n"
+ "Vladimir Novakovic\n"
+ "Daniel Baeza\n"
+ "Manolo164\n"
+ "Mike Simkins\n"
+ "Craig Ellegood\n"
+ "Angel Serrano\n"
+ "Jude Lymn\n"
+ "Robert Jordan\n"
+ "Karl Struss\n"
+ "Curt Kellum\n"
+ "Paul Gunter Bravo Ch.\n"
+ "Guy Verdegem\n"
+ "Walter Johnstone-Breen\n"
+ "Maged Atef\n"
+ "Morgan Chea\n"
+ "Microland Limited\n"
+ "Saed Zahedi\n"
+ "Reynaldo Bilan\n"
+ "Josh Lumahan\n"
+ "Nima Javidi\n"
+ "CraftedPacket\n"
+ "Mike McPhee\n"
+ "Christopher Beyer (CT)\n"
+ "lishanmirando\n"
+ "Christian Chavez\n"
+ "Shawn H4K3R Hanff\n"
+ "Marcin Markowski\n"
+ "Ibrahim El-Ali\n"
+ "Muhammad Agung Nugroho\n"
+ "Don Taylor II\n"
+ "Ian Davidson\n"
+ "Henry Trombley II\n"
+ "Nestor Rubio\n"
+ "Fritters\n"
+ "Korish\n"
+ "Humaiun\n"
+ "Bilal Issa\n"
+ "Francisco Alfaro Espinoza\n"
+ "Travis Kreikemeier\n"
+ "Chee Vooi Lew\n"
+ "Ovidiu Constantinescu\n"
+ "Sergio Martinez Leon\n"
+ "saran\n"
+ "SPUCKETT\n"
+ "Krishna Kumaran GK\n"
+ "StefanoLaguardia\n"
+ "Patrick McGirr\n"
+ "Anderson vakaoBR Leite\n"
+ "Felippe Dias\n"
+ "Vladimír Vladys Jančich\n"
+ "Johnboy3\n"
+ "Shane Froebel\n"
+ "Cushgod\n"
+ "Craig Zambra\n"
+ "tsk700\n"
+ "Erik Pettersson\n"
+ "Daniel Leece\n"
+ "Tim Ingalls\n"
+ "Matti Huotari\n"
+ "Duminda Wehalle\n"
+ "MACE529\n"
+ "Mohamed Furqan Firdous\n"
+ "Dinesh Rupan\n"
+ "Chad Stambaugh\n"
+ "Thomas Marchsteiner\n"
+ "Luis Gustavo Fernandes\n"
+ "Aouachria Nassim\n"
+ "Gerardo Estrada Gutierrez\n"
+ "Erik A Bodholt\n"
+ "Ali Khuram\n"
+ "SysWiz\n"
+ "Guilherme Ladvocat\n"
+ "Ezy\n"
+ "Chris Bell\n"
+ "Paul Heck\n"
+ "Bjørn Petter Kysnes\n"
+ "Andre Jonker\n"
+ "BARY\n"
+ "Grillmon\n"
+ "Hisham Jaghloul\n"
+ "Straube\n"
+ "Ian Patterson\n"
+ "Andrew J. Thompson\n"
+ "Damian Barlow\n"
+ "Marcus\n"
+ "Kevindenton\n"
+ "KoolFadil\n"
+ "Fadil Kadrat\n"
+ "Jacob McCoy\n"
+ "Penny Yeung\n"
+ "SOE NAING OO\n"
+ "Victor Reyes II\n"
+ "Ronnie van Eecke\n"
+ "Derek Fries\n"
+ "ZAIM Lotfi\n"
+ "Larry Peterson\n"
+ "Stephen Arogbonlo\n"
+ "Cristian Silva Guerra\n"
+ "Bill Miller\n"
+ "jaberzadeh\n"
+ "Peyton Quast\n"
+ "Ola\n"
+ "D O\'Raghallaigh\n"
+ "Shaik Mahamood\n"
+ "ZardozTrampoline\n"
+ "Jason Zimmerman\n"
+ "ALI Q ALMHDI\n"
+ "Maxim Klimanov\n"
+ "DBQ1969\n"
+ "Drew Gough\n"
+ "Aamir Ismail\n"
+ "Ejdayid\n"
+ "Charles Maze\n"
+ "GunnarHakonarson\n"
+ "Mark Wyss\n"
+ "nicku\n"
+ "Adam Norman\n"
+ "Ahmad Rateb\n"
+ "Kingsley Tako\n"
+ "Saminder Sandhu\n"
+ "Ahmed (Sigey)\n"
+ "Rémy POUPPEVILLE\n"
+ "JeroenPeeters\n"
+ "d3vild0g\n"
+ "Stefan Stoyanov\n"
+ "Anthony Hopkins\n"
+ "Paul Jeffrey\n"
+ "Tommy Faucher\n"
+ "Gessesse Eshetu\n"
+ "Christopher Pratt\n"
+ "Jani Laakkonen\n"
+ "Marios Nicou Louca\n"
+ "Aaron Schmierer\n"
+ "Chris Luke\n"
+ "Preston Taylor\n"
+ "Chris \"Sasquatch\" Saxton\n"
+ "Brian Dalhover\n"
+ "Aaron Mayfield\n"
+ "Engjell R. Pllana\n"
+ "KalSarai\n"
+ "Mike Nathan\n"
+ "Le Viet Thanh\n"
+ "Stumper\n"
+ "Brian Ladd\n"
+ "Brian Binion\n"
+ "Marcos Umino\n"
+ "Alex Martins\n"
+ "Petrollese\n"
+ "Marion Bogdanov\n"
+ "Tom Jehn\n"
+ "Kevin \"MadDOG\" Livingston\n"
+ "Mike Profitt\n"
+ "Sean Treschen Pillay\n"
+ "adunselman\n"
+ "Andre Dunselman\n"
+ "Don McDonald\n"
+ "Jeff Cummings\n"
+ "Carlos M Cabrera Vargas\n"
+ "Dilip Ratna\n"
+ "Viet Nguyen\n"
+ "Nelson Lee\n"
+ "John Anthony Jones\n"
+ "Jack and Mia\n"
+ "JamesANDDanielMorris\n"
+ "Giuliano Barros\n"
+ "Ingo Bothe\n"
+ "Malik Lolonga\n"
+ "NAIF - ALthubaiti\n"
+ "Faisal Rehman\n"
+ "Juergen Morgenstern\n"
+ "Adli Hajarat\n"
+ "SONIDA\n"
+ "Dan Morgan - VisuMAX\n"
+ "Joe Sarah Vivien Brantley\n"
+ "Joe Sarah Vivien Sam Brantley\n"
+ "Alex Kiwerski\n"
+ "Christian Hansen\n"
+ "Digital Design Networks, LLC\n"
+ "TorentZachary\n"
+ "RobinM\n"
+ "Michael Amador\n"
+ "claytondf\n"
+ "James W.A. Albert\n"
+ "Mike Carty , Alliance\n"
+ "Damian Zaremba\n"
+ "Sol Birnbaum\n"
+ "Mark Butler\n"
+ "Sam Alletto\n"
+ "Ron Cannella\n"
+ "RIP Benjamin Gibbs\n"
+ "Joshua Settle\n"
+ "rotimi gbadamosi\n"
+ "rivmont\n"
+ "CCIE28826\n"
+ "Miltiades Hadjioannou\n"
+ "Psyche607\n"
+ "Yohan\n"
+ "Denilson Dejesus\n"
+ "Allan Que\n"
+ "Rudy R Guerra\n"
+ "Palle Christoffersen\n"
+ "Kishor\n"
+ "Vinicius, O Caixeta\n"
+ "Mohamed Rezard Meeralebbe\n"
+ "EmreR\n"
+ "Alex Hubery\n"
+ "Sol Huebner\n"
+ "alepo\n"
+ "Andrés oRtA eLiZalde\n"
+ "Frank Garrison\n"
+ "Vincent van der Sluijs\n"
+ "NelsonNetworks\n"
+ "Marc Weisel\n"
+ "wobe\n"
+ "Kev Ward,UK\n"
+ "Mitch Vaughan\n"
+ "Mujtaba Mir\n"
+ "Arni Birgisson\n"
+ "Abel Aberra\n"
+ "Jeff Nierman\n"
+ "godZilla\n"
+ "gingerpower121\n"
+ "cyrinojuca\n"
+ "Peter Joseph\n"
+ "Davisteraz\n"
+ "Eduardo Cardoso dos Santos\n"
+ "MARK \"BIG MAC\" MCGRADY\n"
+ "chekoceron\n"
+ "GuillermoJimenez\n"
+ "Alvin Phillip\n"
+ "jerrysimila\n"
+ "Patrick den Hoed\n"
+ "Ciro Centro Strico Salerno\n"
+ "Emilio Morla\n"
+ "Mike Shafer\n"
+ "agho\n"
+ "Fernando Requena\n"
+ "Dovydas Stepanavicius\n"
+ "Joseph W. Anderson\n"
+ "Nathan Chisholm\n"
+ "Yahngel\n"
+ "rolf1974\n"
+ "Joe Polak\n"
+ "Stephen Moore\n"
+ "Van Michael\n"
+ "Ondrej Köver\n"
+ "Brian Adelson\n"
+ "Vasco Ferraz\n"
+ "CHONG YU NAM\n"
+ "Jody L. Whitlock\n"
+ "Kanangu\n"
+ "Godwin Nsubuga\n"
+ "John Hennessy\n"
+ "Michael A. Little\n"
+ "stibibby\n"
+ "Shane K Hunt\n"
+ "Adroit Tutoring\n"
+ "JamesBernardBenjaminVallespin\n"
+ "Ken B.\n"
+ "Asib Yussuf\n"
+ "Miguel Edison Santos - CAF\n"
+ "Robson Luis Sgai\n"
+ "Leon Deguenon\n"
+ "Gabriel Urra\n"
+ "Rob Coote\n"
+ "Wickedkuul_Beehotsch\n"
+ "Robert Mikołajczyk\n"
+ "Yasser A. Alluhaidan\n"
+ "Gessesse ESHETU\n"
+ "Joe Kukis\n"
+ "rgb943\n"
+ "Joe Wills\n"
+ "Robert Rittenhouse\n"
+ "Reinaldo Benitez\n"
+ "vrhvenkatesh\n"
+ "Nirav Bhatt\n"
+ "David Perry\n"
+ "Carsten Ellermann\n"
+ "Rufus Methu Igoro\n"
+ "Jeff Pooley\n"
+ "Andrew B. Shipton\n"
+ "YeowKee YK@TECHNICALES.COM\n"
+ "naveed4k143\n"
+ "Nathan Ash #12148057\n"
+ "Robert Marmo\n"
+ "George Vanburgh\n"
+ "Tudor Davies\n"
+ "Jeremy Bowen\n"
+ "Andrew Fox\n"
+ "Junior Taitt\n"
+ "Tropizm\n"
+ "Potcholo \"Nick\" Nicolas\n"
+ "Brandon Bennett\n"
+ "ntwrks\n"
+ "Hjalti Pálmason\n"
+ "Zachary Hill\n"
+ "Ian Verno\n"
+ "Jean-Christophe Baptiste\n"
+ "chandima Ediriweera\n"
+ "GunnarH\n"
+ "Kenrick Wong\n"
+ "David Afro Lezama Castro\n"
+ "Asad Munir\n"
+ "mohammed hashim\n"
+ "José Luis Berlanga Villlarreal\n"
+ "aaden\n"
+ "Martin Schumacher\n"
+ "Ðrizz\n"
+ "Daniel Lintott\n"
+ "tekdork\n"
+ "Sergio Pereira\n"
+ "James Wamburi\n"
+ "Mark Wecker\n"
+ "umar.hanafi86@gmail.com\n"
+ "Edson Tadeu Almeida da Silveira\n"
+ "Christopher Kilger\n"
+ "Alex Beal\n"
+ "Johnny Uribe\n"
+ "Kevin P Sheahan\n"
+ "Alex C. Rodich\n"
+ "Joao Teixeira\n"
+ "Caio Vianna Mello\n"
+ "fierceg37s\n"
+ "Doug Lardo\n"
+ "Conrad Jedynak\n"
+ "Andy Kelsall Jr.\n"
+ "Marco Basurco\n"
+ "Julio Delgado Jr\n"
+ "Ken Hallstrom-Meade\n"
+ "Nathan Loop\n"
+ "daxm\n"
+ "Kevin Pryce\n"
+ "Skipdog\n"
+ "Jean D Ulysse\n"
+ "Richard Kwame Peasah\n"
+ "Peter Musolino\n"
+ "Eric Andrews\n"
+ "Essam M Mahmod Ahmed\n"
+ "Mir Ali\n"
+ "JesurajAP\n"
+ "David Darryl Pitre\n"
+ "Vladimir Zalles\n"
+ "C_S_Ginn\n"
+ "Gustaf Hyllested Serve\n"
+ "Matt Blackwell\n"
+ "Skilldibop\n"
+ "Paul \"Skilldibop\" Jerome\n"
+ "Gera74\n"
+ "AAronC\n"
+ "Rob Wilkes\n"
+ "steve brokenshire\n"
+ "Mardie Kartosoewito\n"
+ "Ryan Bagley\n"
+ "Mario Seoane\n"
+ "James Vickery\n"
+ "Peter Scheele\n"
+ "pdxDavid\n"
+ "Pedro Sobral\n"
+ "Bryan E. Pratt Jr.\n"
+ "Eddy Loffeld\n"
+ "Joshua Guillory\n"
+ "ClarenceCaldwell\n"
+ "Afrim Kwarteng\n"
+ "Chika\n"
+ "Marco Caruso\n"
+ "Abubakr A Binafif\n"
+ "chuck russell\n"
+ "Jake Vallejo\n"
+ "Kostia\n"
+ "Biswajit\n"
+ "Marcelo da Silva Conterato\n"
+ "Ellert Hardarson\n"
+ "Rowan Lee\n"
+ "Mossyrik78\n"
+ "Mikhail Shpak\n"
+ "Gianremo Smisek\n"
+ "xtify21\n"
+ "Travis Newton\n"
+ "Stephen Turnbull\n"
+ "James Grace\n"
+ "Eric \"Frenchie\" Villeneuve\n"
+ "Rick Brady\n"
+ "Bodizzle\n"
+ "rbailey-NTAI\n"
+ "Asamoto\n"
+ "Allen Taylor\n"
+ "NetJimB\n"
+ "kyoungyong lee\n"
+ "Damian Marcrum\n"
+ "Nicolas Bautista\n"
+ "Brad Allatt\n"
+ "Salman Ahmad\n"
+ "Gerardo Guzman\n"
+ "Kovan Azeez\n"
+ "Alkhamisy Adel Hamad\n"
+ "RajJyothi\n"
+ "Leonardo S Jeronimo\n"
+ "Xcratburma\n"
+ "Bjørn-Inge Haga\n"
+ "Tristian Howard\n"
+ "Robert Wilson\n"
+ "BattyTheJedi\n"
+ "Kosala\n"
+ "Nazmus Sakib\n"
+ "Alfred Eric Jones\n"
+ "J Grant Bellchamber\n"
+ "Lekan Aje\n"
+ "Jacob Winkle\n"
+ "Maybe translate to Norwegian?\n"
+ "Anthony R Junk\n"
+ "Amplex Electric, Inc.\n"
+ "Sue Chatterjee\n"
+ "Glen Stadig\n"
+ "Christian Menz\n"
+ "Billy Nix\n"
+ "JoeyL.\n"
+ "Alessandro.Veras\n"
+ "Steven Vlahakis\n"
+ "Kevin Bowen\n"
+ "NG11geek\n"
+ "Matvey Gubanov\n"
+ "frano-dalmatinac\n"
+ "OrceDimitrovski\n"
+ "boogsalmighty\n"
+ "Maky Robert\n"
+ "Stuart Walker\n"
+ "Vipin Kumar\n"
+ "N.Sivatharzan\n"
+ "Dannie Norman\n"
+ "Sylvester Metieh\n"
+ "Tyler Pruess\n"
+ "DanielMB\n"
+ "Ryan Douglass Milton\n"
+ "Ahmad Amran - Webcore\n"
+ "Benjamin Feld\n"
+ "GWSchweickert\n"
+ "Dirk Fettke\n"
+ "AJ NOURI\n"
+ "Stefan_Basson_Sydney_AUS\n"
+ "Tang Choong Whye\n"
+ "Ofer Ben Zvi\n"
+ "5UCC355\n"
+ "Rikard Borginger\n"
+ "Robert K. Saydee Sr.\n"
+ "D.Coty\n"
+ "Michael G. Taylor Sr.\n"
+ "Erich Schommarz\n"
+ "Cassius Thomas\n"
+ "Dominic Metzger\n"
+ "Mike Manning\n"
+ "José M. Castro Jr.\n"
+ "Justin Bridgman\n"
+ "Francis Enmanuel Baez Metz\n"
+ "Ievgen Morskyi\n"
+ "itAvgur-Irkutsk-Russia\n"
+ "Padraic D. Hallinan\n"
+ "Thomas Deamer\n"
+ "Marco Paulo Ferreira\n"
+ "Nicolas Pagano\n"
+ "JR Garcia\n"
+ "SIAGHY\n"
+ "Naj Qazi\n"
+ "reynaldo bilan\n"
+ "Matt Egan\n"
+ "Chris Beach\n"
+ "Fco. Jose Santos\n"
+ "Johnny Miller\n"
+ "Muhammad Tahir Munir\n"
+ "BJoslin\n"
+ "Nick Fouts\n"
+ "Pete Kowalsky\n"
+ "developer\n"
+ "Tyler Conrad\n"
+ "Michael Weaver Johnson\n"
+ "s2mfh\n"
+ "Scotty2mfh\n"
+ "Nicolas Dangeon\n"
+ "Michial Cantrell\n"
+ "Sébastien Larivière\n"
+ "Primmus\n"
+ "Wonder Jones\n"
+ "Weston L Myers\n"
+ "Steve Brosseau\n"
+ "Ryan Mortier\n"
+ "Steve Snavely\n"
+ "Kirk J Iles\n"
+ "Tiago Sousa\n"
+ "Jesuraj Amaladas\n"
+ "Mark C Bernier\n"
+ "Jonathan David Rees\n"
+ "David Bigerstaff\n"
+ "Widmo\n"
+ "Karl Billington\n"
+ "naner2k\n"
+ "Jose Daniel\n"
+ "Mark.Foutch\n"
+ "Bootcamp20\n"
+ "Peter Hansen\n"
+ "Dharnesh\n"
+ "EnglishRob\n"
+ "Jyotirmoy Lahkar\n"
+ "Guggilam Guru Vasudeva\n"
+ "Chris Higgins\n"
+ "Blas Díaz (Colombia)\n"
+ "Ahmed Albadree\n"
+ "Jens Holtmann\n"
+ "TJ Kwentus\n"
+ "Jacob Smith\n"
+ "Damian Baran\n"
+ "phocean\n"
+ "Mark \"BigMac\" McGrady\n"
+ "teav-sovandara\n"
+ "Dinesh Galani\n"
+ "Raman Thapa\n"
+ "RechieCebreros\n"
+ "Jade Rampulla\n"
+ "Fred Quan\n"
+ "Martin Wall\n"
+ "Louis Duzant\n"
+ "SebasNati\n"
+ "Erik Fairbanks\n"
+ "Simon Boadi\n"
+ "Darren Smurphin Murphy\n"
+ "Stephanos Christou\n"
+ "Rob Hinst\n"
+ "Carlos A Salas\n"
+ "Snehal Patel\n"
+ "S. O\'Reilly\n"
+ "John Volter\n"
+ "dkmahajan\n"
+ "mansoor\n"
+ "Charles Crosland\n"
+ "Thiha Soe\n"
+ "Ram K Bista\n"
+ "toyosiolabs\n"
+ "Shardul Ingle\n"
+ "KhurramArif\n"
+ "AaronMcKenna\n"
+ "FaustoSampaio\n"
+ "Justin Lemme\n"
+ "Jquest\n"
+ "Michael Brister\n"
+ "Nicholas Donathan\n"
+ "Slawomir Babicz\n"
+ "Bradley Grein\n"
+ "Roy\n"
+ "RoyD\n"
+ "Adam Bailey\n"
+ "Daniel Neculai\n"
+ "Kevin Vogt\n"
+ "ALFREDO PASIGAN SALIPOT\n"
+ "Giovanni Lojica\n"
+ "Nicolas A. Escudero\n"
+ "The Big Dirty\n"
+ "Arun Joshi\n"
+ "John Michael Santiago - boogs\n"
+ "Gian-Luca Casella\n"
+ "Geron Craig\n"
+ "Christopher Young\n"
+ "John Buelk\n"
+ "Julio Moraes\n"
+ "Aaron Meade\n"
+ "Paulo Guerreiro (Portugal)\n"
+ "CR Thompson\n"
+ "Timár Zsolt\n"
+ "Leobis\n"
+ "Alan Matson\n"
+ "Eric Park\n"
+ "Pavel Tishkov\n"
+ "L@mine S@lhi\n"
+ "Per-Erik Brask\n"
+ "Matt Williams\n"
+ "Favre was here.\n"
+ "Sergey Zheleznyak\n"
+ "Alongi Daniel\n"
+ "Lee Jeong Goo\n"
+ "Chris Swinney\n"
+ "Ayyappan Ramanan\n"
+ "GSEC4959\n"
+ "Cesar Honores\n"
+ "Ravinderpal Singh\n"
+ "Lee Haynes\n"
+ "Jose Luis Bosquez Echevers\n"
+ "Yevgeniy Orman\n"
+ "Ankur Singh\n"
+ "Marcos de Jesus Magagalhaes\n"
+ "Dave Heinz\n"
+ "Emberly\n"
+ "Chris Gauthier\n"
+ "Blair&BenedictRepuyan\n"
+ "Alex Recupero\n"
+ "Victor Knell\n"
+ "Travis Yates\n"
+ "John Yates III\n"
+ "Ian_C\n"
+ "Jesse Jensen\n"
+ "Drew Ludwick\n"
+ "Chris Barlow\n"
+ "Alessandro Veras\n"
+ "Alan Matos\n"
+ "Harold Alden A. Sanchez\n"
+ "Munir B. Abdullahi\n"
+ "FARTXaler\n"
+ "DEWTEK\n"
+ "DewTech\n"
+ "Daniel Darby\n"
+ "Tishkov Pavel [64]", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("AboutDialog", "&Thanks to", None))
self.uiLicensePlainTextEdit.setPlainText(_translate("AboutDialog", " GNU GENERAL PUBLIC LICENSE\n"
-" Version 3, 29 June 2007\n"
-"\n"
-" Copyright (C) 2007 Free Software Foundation, Inc. \n"
-" Everyone is permitted to copy and distribute verbatim copies\n"
-" of this license document, but changing it is not allowed.\n"
-"\n"
-" Preamble\n"
-"\n"
-" The GNU General Public License is a free, copyleft license for\n"
-"software and other kinds of works.\n"
-"\n"
-" The licenses for most software and other practical works are designed\n"
-"to take away your freedom to share and change the works. By contrast,\n"
-"the GNU General Public License is intended to guarantee your freedom to\n"
-"share and change all versions of a program--to make sure it remains free\n"
-"software for all its users. We, the Free Software Foundation, use the\n"
-"GNU General Public License for most of our software; it applies also to\n"
-"any other work released this way by its authors. You can apply it to\n"
-"your programs, too.\n"
-"\n"
-" When we speak of free software, we are referring to freedom, not\n"
-"price. Our General Public Licenses are designed to make sure that you\n"
-"have the freedom to distribute copies of free software (and charge for\n"
-"them if you wish), that you receive source code or can get it if you\n"
-"want it, that you can change the software or use pieces of it in new\n"
-"free programs, and that you know you can do these things.\n"
-"\n"
-" To protect your rights, we need to prevent others from denying you\n"
-"these rights or asking you to surrender the rights. Therefore, you have\n"
-"certain responsibilities if you distribute copies of the software, or if\n"
-"you modify it: responsibilities to respect the freedom of others.\n"
-"\n"
-" For example, if you distribute copies of such a program, whether\n"
-"gratis or for a fee, you must pass on to the recipients the same\n"
-"freedoms that you received. You must make sure that they, too, receive\n"
-"or can get the source code. And you must show them these terms so they\n"
-"know their rights.\n"
-"\n"
-" Developers that use the GNU GPL protect your rights with two steps:\n"
-"(1) assert copyright on the software, and (2) offer you this License\n"
-"giving you legal permission to copy, distribute and/or modify it.\n"
-"\n"
-" For the developers\' and authors\' protection, the GPL clearly explains\n"
-"that there is no warranty for this free software. For both users\' and\n"
-"authors\' sake, the GPL requires that modified versions be marked as\n"
-"changed, so that their problems will not be attributed erroneously to\n"
-"authors of previous versions.\n"
-"\n"
-" Some devices are designed to deny users access to install or run\n"
-"modified versions of the software inside them, although the manufacturer\n"
-"can do so. This is fundamentally incompatible with the aim of\n"
-"protecting users\' freedom to change the software. The systematic\n"
-"pattern of such abuse occurs in the area of products for individuals to\n"
-"use, which is precisely where it is most unacceptable. Therefore, we\n"
-"have designed this version of the GPL to prohibit the practice for those\n"
-"products. If such problems arise substantially in other domains, we\n"
-"stand ready to extend this provision to those domains in future versions\n"
-"of the GPL, as needed to protect the freedom of users.\n"
-"\n"
-" Finally, every program is threatened constantly by software patents.\n"
-"States should not allow patents to restrict development and use of\n"
-"software on general-purpose computers, but in those that do, we wish to\n"
-"avoid the special danger that patents applied to a free program could\n"
-"make it effectively proprietary. To prevent this, the GPL assures that\n"
-"patents cannot be used to render the program non-free.\n"
-"\n"
-" The precise terms and conditions for copying, distribution and\n"
-"modification follow.\n"
-"\n"
-" TERMS AND CONDITIONS\n"
-"\n"
-" 0. Definitions.\n"
-"\n"
-" \"This License\" refers to version 3 of the GNU General Public License.\n"
-"\n"
-" \"Copyright\" also means copyright-like laws that apply to other kinds of\n"
-"works, such as semiconductor masks.\n"
-"\n"
-" \"The Program\" refers to any copyrightable work licensed under this\n"
-"License. Each licensee is addressed as \"you\". \"Licensees\" and\n"
-"\"recipients\" may be individuals or organizations.\n"
-"\n"
-" To \"modify\" a work means to copy from or adapt all or part of the work\n"
-"in a fashion requiring copyright permission, other than the making of an\n"
-"exact copy. The resulting work is called a \"modified version\" of the\n"
-"earlier work or a work \"based on\" the earlier work.\n"
-"\n"
-" A \"covered work\" means either the unmodified Program or a work based\n"
-"on the Program.\n"
-"\n"
-" To \"propagate\" a work means to do anything with it that, without\n"
-"permission, would make you directly or secondarily liable for\n"
-"infringement under applicable copyright law, except executing it on a\n"
-"computer or modifying a private copy. Propagation includes copying,\n"
-"distribution (with or without modification), making available to the\n"
-"public, and in some countries other activities as well.\n"
-"\n"
-" To \"convey\" a work means any kind of propagation that enables other\n"
-"parties to make or receive copies. Mere interaction with a user through\n"
-"a computer network, with no transfer of a copy, is not conveying.\n"
-"\n"
-" An interactive user interface displays \"Appropriate Legal Notices\"\n"
-"to the extent that it includes a convenient and prominently visible\n"
-"feature that (1) displays an appropriate copyright notice, and (2)\n"
-"tells the user that there is no warranty for the work (except to the\n"
-"extent that warranties are provided), that licensees may convey the\n"
-"work under this License, and how to view a copy of this License. If\n"
-"the interface presents a list of user commands or options, such as a\n"
-"menu, a prominent item in the list meets this criterion.\n"
-"\n"
-" 1. Source Code.\n"
-"\n"
-" The \"source code\" for a work means the preferred form of the work\n"
-"for making modifications to it. \"Object code\" means any non-source\n"
-"form of a work.\n"
-"\n"
-" A \"Standard Interface\" means an interface that either is an official\n"
-"standard defined by a recognized standards body, or, in the case of\n"
-"interfaces specified for a particular programming language, one that\n"
-"is widely used among developers working in that language.\n"
-"\n"
-" The \"System Libraries\" of an executable work include anything, other\n"
-"than the work as a whole, that (a) is included in the normal form of\n"
-"packaging a Major Component, but which is not part of that Major\n"
-"Component, and (b) serves only to enable use of the work with that\n"
-"Major Component, or to implement a Standard Interface for which an\n"
-"implementation is available to the public in source code form. A\n"
-"\"Major Component\", in this context, means a major essential component\n"
-"(kernel, window system, and so on) of the specific operating system\n"
-"(if any) on which the executable work runs, or a compiler used to\n"
-"produce the work, or an object code interpreter used to run it.\n"
-"\n"
-" The \"Corresponding Source\" for a work in object code form means all\n"
-"the source code needed to generate, install, and (for an executable\n"
-"work) run the object code and to modify the work, including scripts to\n"
-"control those activities. However, it does not include the work\'s\n"
-"System Libraries, or general-purpose tools or generally available free\n"
-"programs which are used unmodified in performing those activities but\n"
-"which are not part of the work. For example, Corresponding Source\n"
-"includes interface definition files associated with source files for\n"
-"the work, and the source code for shared libraries and dynamically\n"
-"linked subprograms that the work is specifically designed to require,\n"
-"such as by intimate data communication or control flow between those\n"
-"subprograms and other parts of the work.\n"
-"\n"
-" The Corresponding Source need not include anything that users\n"
-"can regenerate automatically from other parts of the Corresponding\n"
-"Source.\n"
-"\n"
-" The Corresponding Source for a work in source code form is that\n"
-"same work.\n"
-"\n"
-" 2. Basic Permissions.\n"
-"\n"
-" All rights granted under this License are granted for the term of\n"
-"copyright on the Program, and are irrevocable provided the stated\n"
-"conditions are met. This License explicitly affirms your unlimited\n"
-"permission to run the unmodified Program. The output from running a\n"
-"covered work is covered by this License only if the output, given its\n"
-"content, constitutes a covered work. This License acknowledges your\n"
-"rights of fair use or other equivalent, as provided by copyright law.\n"
-"\n"
-" You may make, run and propagate covered works that you do not\n"
-"convey, without conditions so long as your license otherwise remains\n"
-"in force. You may convey covered works to others for the sole purpose\n"
-"of having them make modifications exclusively for you, or provide you\n"
-"with facilities for running those works, provided that you comply with\n"
-"the terms of this License in conveying all material for which you do\n"
-"not control copyright. Those thus making or running the covered works\n"
-"for you must do so exclusively on your behalf, under your direction\n"
-"and control, on terms that prohibit them from making any copies of\n"
-"your copyrighted material outside their relationship with you.\n"
-"\n"
-" Conveying under any other circumstances is permitted solely under\n"
-"the conditions stated below. Sublicensing is not allowed; section 10\n"
-"makes it unnecessary.\n"
-"\n"
-" 3. Protecting Users\' Legal Rights From Anti-Circumvention Law.\n"
-"\n"
-" No covered work shall be deemed part of an effective technological\n"
-"measure under any applicable law fulfilling obligations under article\n"
-"11 of the WIPO copyright treaty adopted on 20 December 1996, or\n"
-"similar laws prohibiting or restricting circumvention of such\n"
-"measures.\n"
-"\n"
-" When you convey a covered work, you waive any legal power to forbid\n"
-"circumvention of technological measures to the extent such circumvention\n"
-"is effected by exercising rights under this License with respect to\n"
-"the covered work, and you disclaim any intention to limit operation or\n"
-"modification of the work as a means of enforcing, against the work\'s\n"
-"users, your or third parties\' legal rights to forbid circumvention of\n"
-"technological measures.\n"
-"\n"
-" 4. Conveying Verbatim Copies.\n"
-"\n"
-" You may convey verbatim copies of the Program\'s source code as you\n"
-"receive it, in any medium, provided that you conspicuously and\n"
-"appropriately publish on each copy an appropriate copyright notice;\n"
-"keep intact all notices stating that this License and any\n"
-"non-permissive terms added in accord with section 7 apply to the code;\n"
-"keep intact all notices of the absence of any warranty; and give all\n"
-"recipients a copy of this License along with the Program.\n"
-"\n"
-" You may charge any price or no price for each copy that you convey,\n"
-"and you may offer support or warranty protection for a fee.\n"
-"\n"
-" 5. Conveying Modified Source Versions.\n"
-"\n"
-" You may convey a work based on the Program, or the modifications to\n"
-"produce it from the Program, in the form of source code under the\n"
-"terms of section 4, provided that you also meet all of these conditions:\n"
-"\n"
-" a) The work must carry prominent notices stating that you modified\n"
-" it, and giving a relevant date.\n"
-"\n"
-" b) The work must carry prominent notices stating that it is\n"
-" released under this License and any conditions added under section\n"
-" 7. This requirement modifies the requirement in section 4 to\n"
-" \"keep intact all notices\".\n"
-"\n"
-" c) You must license the entire work, as a whole, under this\n"
-" License to anyone who comes into possession of a copy. This\n"
-" License will therefore apply, along with any applicable section 7\n"
-" additional terms, to the whole of the work, and all its parts,\n"
-" regardless of how they are packaged. This License gives no\n"
-" permission to license the work in any other way, but it does not\n"
-" invalidate such permission if you have separately received it.\n"
-"\n"
-" d) If the work has interactive user interfaces, each must display\n"
-" Appropriate Legal Notices; however, if the Program has interactive\n"
-" interfaces that do not display Appropriate Legal Notices, your\n"
-" work need not make them do so.\n"
-"\n"
-" A compilation of a covered work with other separate and independent\n"
-"works, which are not by their nature extensions of the covered work,\n"
-"and which are not combined with it such as to form a larger program,\n"
-"in or on a volume of a storage or distribution medium, is called an\n"
-"\"aggregate\" if the compilation and its resulting copyright are not\n"
-"used to limit the access or legal rights of the compilation\'s users\n"
-"beyond what the individual works permit. Inclusion of a covered work\n"
-"in an aggregate does not cause this License to apply to the other\n"
-"parts of the aggregate.\n"
-"\n"
-" 6. Conveying Non-Source Forms.\n"
-"\n"
-" You may convey a covered work in object code form under the terms\n"
-"of sections 4 and 5, provided that you also convey the\n"
-"machine-readable Corresponding Source under the terms of this License,\n"
-"in one of these ways:\n"
-"\n"
-" a) Convey the object code in, or embodied in, a physical product\n"
-" (including a physical distribution medium), accompanied by the\n"
-" Corresponding Source fixed on a durable physical medium\n"
-" customarily used for software interchange.\n"
-"\n"
-" b) Convey the object code in, or embodied in, a physical product\n"
-" (including a physical distribution medium), accompanied by a\n"
-" written offer, valid for at least three years and valid for as\n"
-" long as you offer spare parts or customer support for that product\n"
-" model, to give anyone who possesses the object code either (1) a\n"
-" copy of the Corresponding Source for all the software in the\n"
-" product that is covered by this License, on a durable physical\n"
-" medium customarily used for software interchange, for a price no\n"
-" more than your reasonable cost of physically performing this\n"
-" conveying of source, or (2) access to copy the\n"
-" Corresponding Source from a network server at no charge.\n"
-"\n"
-" c) Convey individual copies of the object code with a copy of the\n"
-" written offer to provide the Corresponding Source. This\n"
-" alternative is allowed only occasionally and noncommercially, and\n"
-" only if you received the object code with such an offer, in accord\n"
-" with subsection 6b.\n"
-"\n"
-" d) Convey the object code by offering access from a designated\n"
-" place (gratis or for a charge), and offer equivalent access to the\n"
-" Corresponding Source in the same way through the same place at no\n"
-" further charge. You need not require recipients to copy the\n"
-" Corresponding Source along with the object code. If the place to\n"
-" copy the object code is a network server, the Corresponding Source\n"
-" may be on a different server (operated by you or a third party)\n"
-" that supports equivalent copying facilities, provided you maintain\n"
-" clear directions next to the object code saying where to find the\n"
-" Corresponding Source. Regardless of what server hosts the\n"
-" Corresponding Source, you remain obligated to ensure that it is\n"
-" available for as long as needed to satisfy these requirements.\n"
-"\n"
-" e) Convey the object code using peer-to-peer transmission, provided\n"
-" you inform other peers where the object code and Corresponding\n"
-" Source of the work are being offered to the general public at no\n"
-" charge under subsection 6d.\n"
-"\n"
-" A separable portion of the object code, whose source code is excluded\n"
-"from the Corresponding Source as a System Library, need not be\n"
-"included in conveying the object code work.\n"
-"\n"
-" A \"User Product\" is either (1) a \"consumer product\", which means any\n"
-"tangible personal property which is normally used for personal, family,\n"
-"or household purposes, or (2) anything designed or sold for incorporation\n"
-"into a dwelling. In determining whether a product is a consumer product,\n"
-"doubtful cases shall be resolved in favor of coverage. For a particular\n"
-"product received by a particular user, \"normally used\" refers to a\n"
-"typical or common use of that class of product, regardless of the status\n"
-"of the particular user or of the way in which the particular user\n"
-"actually uses, or expects or is expected to use, the product. A product\n"
-"is a consumer product regardless of whether the product has substantial\n"
-"commercial, industrial or non-consumer uses, unless such uses represent\n"
-"the only significant mode of use of the product.\n"
-"\n"
-" \"Installation Information\" for a User Product means any methods,\n"
-"procedures, authorization keys, or other information required to install\n"
-"and execute modified versions of a covered work in that User Product from\n"
-"a modified version of its Corresponding Source. The information must\n"
-"suffice to ensure that the continued functioning of the modified object\n"
-"code is in no case prevented or interfered with solely because\n"
-"modification has been made.\n"
-"\n"
-" If you convey an object code work under this section in, or with, or\n"
-"specifically for use in, a User Product, and the conveying occurs as\n"
-"part of a transaction in which the right of possession and use of the\n"
-"User Product is transferred to the recipient in perpetuity or for a\n"
-"fixed term (regardless of how the transaction is characterized), the\n"
-"Corresponding Source conveyed under this section must be accompanied\n"
-"by the Installation Information. But this requirement does not apply\n"
-"if neither you nor any third party retains the ability to install\n"
-"modified object code on the User Product (for example, the work has\n"
-"been installed in ROM).\n"
-"\n"
-" The requirement to provide Installation Information does not include a\n"
-"requirement to continue to provide support service, warranty, or updates\n"
-"for a work that has been modified or installed by the recipient, or for\n"
-"the User Product in which it has been modified or installed. Access to a\n"
-"network may be denied when the modification itself materially and\n"
-"adversely affects the operation of the network or violates the rules and\n"
-"protocols for communication across the network.\n"
-"\n"
-" Corresponding Source conveyed, and Installation Information provided,\n"
-"in accord with this section must be in a format that is publicly\n"
-"documented (and with an implementation available to the public in\n"
-"source code form), and must require no special password or key for\n"
-"unpacking, reading or copying.\n"
-"\n"
-" 7. Additional Terms.\n"
-"\n"
-" \"Additional permissions\" are terms that supplement the terms of this\n"
-"License by making exceptions from one or more of its conditions.\n"
-"Additional permissions that are applicable to the entire Program shall\n"
-"be treated as though they were included in this License, to the extent\n"
-"that they are valid under applicable law. If additional permissions\n"
-"apply only to part of the Program, that part may be used separately\n"
-"under those permissions, but the entire Program remains governed by\n"
-"this License without regard to the additional permissions.\n"
-"\n"
-" When you convey a copy of a covered work, you may at your option\n"
-"remove any additional permissions from that copy, or from any part of\n"
-"it. (Additional permissions may be written to require their own\n"
-"removal in certain cases when you modify the work.) You may place\n"
-"additional permissions on material, added by you to a covered work,\n"
-"for which you have or can give appropriate copyright permission.\n"
-"\n"
-" Notwithstanding any other provision of this License, for material you\n"
-"add to a covered work, you may (if authorized by the copyright holders of\n"
-"that material) supplement the terms of this License with terms:\n"
-"\n"
-" a) Disclaiming warranty or limiting liability differently from the\n"
-" terms of sections 15 and 16 of this License; or\n"
-"\n"
-" b) Requiring preservation of specified reasonable legal notices or\n"
-" author attributions in that material or in the Appropriate Legal\n"
-" Notices displayed by works containing it; or\n"
-"\n"
-" c) Prohibiting misrepresentation of the origin of that material, or\n"
-" requiring that modified versions of such material be marked in\n"
-" reasonable ways as different from the original version; or\n"
-"\n"
-" d) Limiting the use for publicity purposes of names of licensors or\n"
-" authors of the material; or\n"
-"\n"
-" e) Declining to grant rights under trademark law for use of some\n"
-" trade names, trademarks, or service marks; or\n"
-"\n"
-" f) Requiring indemnification of licensors and authors of that\n"
-" material by anyone who conveys the material (or modified versions of\n"
-" it) with contractual assumptions of liability to the recipient, for\n"
-" any liability that these contractual assumptions directly impose on\n"
-" those licensors and authors.\n"
-"\n"
-" All other non-permissive additional terms are considered \"further\n"
-"restrictions\" within the meaning of section 10. If the Program as you\n"
-"received it, or any part of it, contains a notice stating that it is\n"
-"governed by this License along with a term that is a further\n"
-"restriction, you may remove that term. If a license document contains\n"
-"a further restriction but permits relicensing or conveying under this\n"
-"License, you may add to a covered work material governed by the terms\n"
-"of that license document, provided that the further restriction does\n"
-"not survive such relicensing or conveying.\n"
-"\n"
-" If you add terms to a covered work in accord with this section, you\n"
-"must place, in the relevant source files, a statement of the\n"
-"additional terms that apply to those files, or a notice indicating\n"
-"where to find the applicable terms.\n"
-"\n"
-" Additional terms, permissive or non-permissive, may be stated in the\n"
-"form of a separately written license, or stated as exceptions;\n"
-"the above requirements apply either way.\n"
-"\n"
-" 8. Termination.\n"
-"\n"
-" You may not propagate or modify a covered work except as expressly\n"
-"provided under this License. Any attempt otherwise to propagate or\n"
-"modify it is void, and will automatically terminate your rights under\n"
-"this License (including any patent licenses granted under the third\n"
-"paragraph of section 11).\n"
-"\n"
-" However, if you cease all violation of this License, then your\n"
-"license from a particular copyright holder is reinstated (a)\n"
-"provisionally, unless and until the copyright holder explicitly and\n"
-"finally terminates your license, and (b) permanently, if the copyright\n"
-"holder fails to notify you of the violation by some reasonable means\n"
-"prior to 60 days after the cessation.\n"
-"\n"
-" Moreover, your license from a particular copyright holder is\n"
-"reinstated permanently if the copyright holder notifies you of the\n"
-"violation by some reasonable means, this is the first time you have\n"
-"received notice of violation of this License (for any work) from that\n"
-"copyright holder, and you cure the violation prior to 30 days after\n"
-"your receipt of the notice.\n"
-"\n"
-" Termination of your rights under this section does not terminate the\n"
-"licenses of parties who have received copies or rights from you under\n"
-"this License. If your rights have been terminated and not permanently\n"
-"reinstated, you do not qualify to receive new licenses for the same\n"
-"material under section 10.\n"
-"\n"
-" 9. Acceptance Not Required for Having Copies.\n"
-"\n"
-" You are not required to accept this License in order to receive or\n"
-"run a copy of the Program. Ancillary propagation of a covered work\n"
-"occurring solely as a consequence of using peer-to-peer transmission\n"
-"to receive a copy likewise does not require acceptance. However,\n"
-"nothing other than this License grants you permission to propagate or\n"
-"modify any covered work. These actions infringe copyright if you do\n"
-"not accept this License. Therefore, by modifying or propagating a\n"
-"covered work, you indicate your acceptance of this License to do so.\n"
-"\n"
-" 10. Automatic Licensing of Downstream Recipients.\n"
-"\n"
-" Each time you convey a covered work, the recipient automatically\n"
-"receives a license from the original licensors, to run, modify and\n"
-"propagate that work, subject to this License. You are not responsible\n"
-"for enforcing compliance by third parties with this License.\n"
-"\n"
-" An \"entity transaction\" is a transaction transferring control of an\n"
-"organization, or substantially all assets of one, or subdividing an\n"
-"organization, or merging organizations. If propagation of a covered\n"
-"work results from an entity transaction, each party to that\n"
-"transaction who receives a copy of the work also receives whatever\n"
-"licenses to the work the party\'s predecessor in interest had or could\n"
-"give under the previous paragraph, plus a right to possession of the\n"
-"Corresponding Source of the work from the predecessor in interest, if\n"
-"the predecessor has it or can get it with reasonable efforts.\n"
-"\n"
-" You may not impose any further restrictions on the exercise of the\n"
-"rights granted or affirmed under this License. For example, you may\n"
-"not impose a license fee, royalty, or other charge for exercise of\n"
-"rights granted under this License, and you may not initiate litigation\n"
-"(including a cross-claim or counterclaim in a lawsuit) alleging that\n"
-"any patent claim is infringed by making, using, selling, offering for\n"
-"sale, or importing the Program or any portion of it.\n"
-"\n"
-" 11. Patents.\n"
-"\n"
-" A \"contributor\" is a copyright holder who authorizes use under this\n"
-"License of the Program or a work on which the Program is based. The\n"
-"work thus licensed is called the contributor\'s \"contributor version\".\n"
-"\n"
-" A contributor\'s \"essential patent claims\" are all patent claims\n"
-"owned or controlled by the contributor, whether already acquired or\n"
-"hereafter acquired, that would be infringed by some manner, permitted\n"
-"by this License, of making, using, or selling its contributor version,\n"
-"but do not include claims that would be infringed only as a\n"
-"consequence of further modification of the contributor version. For\n"
-"purposes of this definition, \"control\" includes the right to grant\n"
-"patent sublicenses in a manner consistent with the requirements of\n"
-"this License.\n"
-"\n"
-" Each contributor grants you a non-exclusive, worldwide, royalty-free\n"
-"patent license under the contributor\'s essential patent claims, to\n"
-"make, use, sell, offer for sale, import and otherwise run, modify and\n"
-"propagate the contents of its contributor version.\n"
-"\n"
-" In the following three paragraphs, a \"patent license\" is any express\n"
-"agreement or commitment, however denominated, not to enforce a patent\n"
-"(such as an express permission to practice a patent or covenant not to\n"
-"sue for patent infringement). To \"grant\" such a patent license to a\n"
-"party means to make such an agreement or commitment not to enforce a\n"
-"patent against the party.\n"
-"\n"
-" If you convey a covered work, knowingly relying on a patent license,\n"
-"and the Corresponding Source of the work is not available for anyone\n"
-"to copy, free of charge and under the terms of this License, through a\n"
-"publicly available network server or other readily accessible means,\n"
-"then you must either (1) cause the Corresponding Source to be so\n"
-"available, or (2) arrange to deprive yourself of the benefit of the\n"
-"patent license for this particular work, or (3) arrange, in a manner\n"
-"consistent with the requirements of this License, to extend the patent\n"
-"license to downstream recipients. \"Knowingly relying\" means you have\n"
-"actual knowledge that, but for the patent license, your conveying the\n"
-"covered work in a country, or your recipient\'s use of the covered work\n"
-"in a country, would infringe one or more identifiable patents in that\n"
-"country that you have reason to believe are valid.\n"
-"\n"
-" If, pursuant to or in connection with a single transaction or\n"
-"arrangement, you convey, or propagate by procuring conveyance of, a\n"
-"covered work, and grant a patent license to some of the parties\n"
-"receiving the covered work authorizing them to use, propagate, modify\n"
-"or convey a specific copy of the covered work, then the patent license\n"
-"you grant is automatically extended to all recipients of the covered\n"
-"work and works based on it.\n"
-"\n"
-" A patent license is \"discriminatory\" if it does not include within\n"
-"the scope of its coverage, prohibits the exercise of, or is\n"
-"conditioned on the non-exercise of one or more of the rights that are\n"
-"specifically granted under this License. You may not convey a covered\n"
-"work if you are a party to an arrangement with a third party that is\n"
-"in the business of distributing software, under which you make payment\n"
-"to the third party based on the extent of your activity of conveying\n"
-"the work, and under which the third party grants, to any of the\n"
-"parties who would receive the covered work from you, a discriminatory\n"
-"patent license (a) in connection with copies of the covered work\n"
-"conveyed by you (or copies made from those copies), or (b) primarily\n"
-"for and in connection with specific products or compilations that\n"
-"contain the covered work, unless you entered into that arrangement,\n"
-"or that patent license was granted, prior to 28 March 2007.\n"
-"\n"
-" Nothing in this License shall be construed as excluding or limiting\n"
-"any implied license or other defenses to infringement that may\n"
-"otherwise be available to you under applicable patent law.\n"
-"\n"
-" 12. No Surrender of Others\' Freedom.\n"
-"\n"
-" If conditions are imposed on you (whether by court order, agreement or\n"
-"otherwise) that contradict the conditions of this License, they do not\n"
-"excuse you from the conditions of this License. If you cannot convey a\n"
-"covered work so as to satisfy simultaneously your obligations under this\n"
-"License and any other pertinent obligations, then as a consequence you may\n"
-"not convey it at all. For example, if you agree to terms that obligate you\n"
-"to collect a royalty for further conveying from those to whom you convey\n"
-"the Program, the only way you could satisfy both those terms and this\n"
-"License would be to refrain entirely from conveying the Program.\n"
-"\n"
-" 13. Use with the GNU Affero General Public License.\n"
-"\n"
-" Notwithstanding any other provision of this License, you have\n"
-"permission to link or combine any covered work with a work licensed\n"
-"under version 3 of the GNU Affero General Public License into a single\n"
-"combined work, and to convey the resulting work. The terms of this\n"
-"License will continue to apply to the part which is the covered work,\n"
-"but the special requirements of the GNU Affero General Public License,\n"
-"section 13, concerning interaction through a network will apply to the\n"
-"combination as such.\n"
-"\n"
-" 14. Revised Versions of this License.\n"
-"\n"
-" The Free Software Foundation may publish revised and/or new versions of\n"
-"the GNU General Public License from time to time. Such new versions will\n"
-"be similar in spirit to the present version, but may differ in detail to\n"
-"address new problems or concerns.\n"
-"\n"
-" Each version is given a distinguishing version number. If the\n"
-"Program specifies that a certain numbered version of the GNU General\n"
-"Public License \"or any later version\" applies to it, you have the\n"
-"option of following the terms and conditions either of that numbered\n"
-"version or of any later version published by the Free Software\n"
-"Foundation. If the Program does not specify a version number of the\n"
-"GNU General Public License, you may choose any version ever published\n"
-"by the Free Software Foundation.\n"
-"\n"
-" If the Program specifies that a proxy can decide which future\n"
-"versions of the GNU General Public License can be used, that proxy\'s\n"
-"public statement of acceptance of a version permanently authorizes you\n"
-"to choose that version for the Program.\n"
-"\n"
-" Later license versions may give you additional or different\n"
-"permissions. However, no additional obligations are imposed on any\n"
-"author or copyright holder as a result of your choosing to follow a\n"
-"later version.\n"
-"\n"
-" 15. Disclaimer of Warranty.\n"
-"\n"
-" THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\n"
-"APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\n"
-"HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\n"
-"OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\n"
-"THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n"
-"PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\n"
-"IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\n"
-"ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n"
-"\n"
-" 16. Limitation of Liability.\n"
-"\n"
-" IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n"
-"WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\n"
-"THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\n"
-"GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\n"
-"USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\n"
-"DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\n"
-"PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\n"
-"EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\n"
-"SUCH DAMAGES.\n"
-"\n"
-" 17. Interpretation of Sections 15 and 16.\n"
-"\n"
-" If the disclaimer of warranty and limitation of liability provided\n"
-"above cannot be given local legal effect according to their terms,\n"
-"reviewing courts shall apply local law that most closely approximates\n"
-"an absolute waiver of all civil liability in connection with the\n"
-"Program, unless a warranty or assumption of liability accompanies a\n"
-"copy of the Program in return for a fee.\n"
-"\n"
-" END OF TERMS AND CONDITIONS\n"
-"\n"
-" How to Apply These Terms to Your New Programs\n"
-"\n"
-" If you develop a new program, and you want it to be of the greatest\n"
-"possible use to the public, the best way to achieve this is to make it\n"
-"free software which everyone can redistribute and change under these terms.\n"
-"\n"
-" To do so, attach the following notices to the program. It is safest\n"
-"to attach them to the start of each source file to most effectively\n"
-"state the exclusion of warranty; and each file should have at least\n"
-"the \"copyright\" line and a pointer to where the full notice is found.\n"
-"\n"
-" \n"
-" Copyright (C) \n"
-"\n"
-" This program is free software: you can redistribute it and/or modify\n"
-" it under the terms of the GNU General Public License as published by\n"
-" the Free Software Foundation, either version 3 of the License, or\n"
-" (at your option) any later version.\n"
-"\n"
-" This program is distributed in the hope that it will be useful,\n"
-" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-" GNU General Public License for more details.\n"
-"\n"
-" You should have received a copy of the GNU General Public License\n"
-" along with this program. If not, see .\n"
-"\n"
-"Also add information on how to contact you by electronic and paper mail.\n"
-"\n"
-" If the program does terminal interaction, make it output a short\n"
-"notice like this when it starts in an interactive mode:\n"
-"\n"
-" Copyright (C) \n"
-" This program comes with ABSOLUTELY NO WARRANTY; for details type `show w\'.\n"
-" This is free software, and you are welcome to redistribute it\n"
-" under certain conditions; type `show c\' for details.\n"
-"\n"
-"The hypothetical commands `show w\' and `show c\' should show the appropriate\n"
-"parts of the General Public License. Of course, your program\'s commands\n"
-"might be different; for a GUI interface, you would use an \"about box\".\n"
-"\n"
-" You should also get your employer (if you work as a programmer) or school,\n"
-"if any, to sign a \"copyright disclaimer\" for the program, if necessary.\n"
-"For more information on this, and how to apply and follow the GNU GPL, see\n"
-".\n"
-"\n"
-" The GNU General Public License does not permit incorporating your program\n"
-"into proprietary programs. If your program is a subroutine library, you\n"
-"may consider it more useful to permit linking proprietary applications with\n"
-"the library. If this is what you want to do, use the GNU Lesser General\n"
-"Public License instead of this License. But first, please read\n"
-".\n"
-"", None))
+ " Version 3, 29 June 2007\n"
+ "\n"
+ " Copyright (C) 2007 Free Software Foundation, Inc. \n"
+ " Everyone is permitted to copy and distribute verbatim copies\n"
+ " of this license document, but changing it is not allowed.\n"
+ "\n"
+ " Preamble\n"
+ "\n"
+ " The GNU General Public License is a free, copyleft license for\n"
+ "software and other kinds of works.\n"
+ "\n"
+ " The licenses for most software and other practical works are designed\n"
+ "to take away your freedom to share and change the works. By contrast,\n"
+ "the GNU General Public License is intended to guarantee your freedom to\n"
+ "share and change all versions of a program--to make sure it remains free\n"
+ "software for all its users. We, the Free Software Foundation, use the\n"
+ "GNU General Public License for most of our software; it applies also to\n"
+ "any other work released this way by its authors. You can apply it to\n"
+ "your programs, too.\n"
+ "\n"
+ " When we speak of free software, we are referring to freedom, not\n"
+ "price. Our General Public Licenses are designed to make sure that you\n"
+ "have the freedom to distribute copies of free software (and charge for\n"
+ "them if you wish), that you receive source code or can get it if you\n"
+ "want it, that you can change the software or use pieces of it in new\n"
+ "free programs, and that you know you can do these things.\n"
+ "\n"
+ " To protect your rights, we need to prevent others from denying you\n"
+ "these rights or asking you to surrender the rights. Therefore, you have\n"
+ "certain responsibilities if you distribute copies of the software, or if\n"
+ "you modify it: responsibilities to respect the freedom of others.\n"
+ "\n"
+ " For example, if you distribute copies of such a program, whether\n"
+ "gratis or for a fee, you must pass on to the recipients the same\n"
+ "freedoms that you received. You must make sure that they, too, receive\n"
+ "or can get the source code. And you must show them these terms so they\n"
+ "know their rights.\n"
+ "\n"
+ " Developers that use the GNU GPL protect your rights with two steps:\n"
+ "(1) assert copyright on the software, and (2) offer you this License\n"
+ "giving you legal permission to copy, distribute and/or modify it.\n"
+ "\n"
+ " For the developers\' and authors\' protection, the GPL clearly explains\n"
+ "that there is no warranty for this free software. For both users\' and\n"
+ "authors\' sake, the GPL requires that modified versions be marked as\n"
+ "changed, so that their problems will not be attributed erroneously to\n"
+ "authors of previous versions.\n"
+ "\n"
+ " Some devices are designed to deny users access to install or run\n"
+ "modified versions of the software inside them, although the manufacturer\n"
+ "can do so. This is fundamentally incompatible with the aim of\n"
+ "protecting users\' freedom to change the software. The systematic\n"
+ "pattern of such abuse occurs in the area of products for individuals to\n"
+ "use, which is precisely where it is most unacceptable. Therefore, we\n"
+ "have designed this version of the GPL to prohibit the practice for those\n"
+ "products. If such problems arise substantially in other domains, we\n"
+ "stand ready to extend this provision to those domains in future versions\n"
+ "of the GPL, as needed to protect the freedom of users.\n"
+ "\n"
+ " Finally, every program is threatened constantly by software patents.\n"
+ "States should not allow patents to restrict development and use of\n"
+ "software on general-purpose computers, but in those that do, we wish to\n"
+ "avoid the special danger that patents applied to a free program could\n"
+ "make it effectively proprietary. To prevent this, the GPL assures that\n"
+ "patents cannot be used to render the program non-free.\n"
+ "\n"
+ " The precise terms and conditions for copying, distribution and\n"
+ "modification follow.\n"
+ "\n"
+ " TERMS AND CONDITIONS\n"
+ "\n"
+ " 0. Definitions.\n"
+ "\n"
+ " \"This License\" refers to version 3 of the GNU General Public License.\n"
+ "\n"
+ " \"Copyright\" also means copyright-like laws that apply to other kinds of\n"
+ "works, such as semiconductor masks.\n"
+ "\n"
+ " \"The Program\" refers to any copyrightable work licensed under this\n"
+ "License. Each licensee is addressed as \"you\". \"Licensees\" and\n"
+ "\"recipients\" may be individuals or organizations.\n"
+ "\n"
+ " To \"modify\" a work means to copy from or adapt all or part of the work\n"
+ "in a fashion requiring copyright permission, other than the making of an\n"
+ "exact copy. The resulting work is called a \"modified version\" of the\n"
+ "earlier work or a work \"based on\" the earlier work.\n"
+ "\n"
+ " A \"covered work\" means either the unmodified Program or a work based\n"
+ "on the Program.\n"
+ "\n"
+ " To \"propagate\" a work means to do anything with it that, without\n"
+ "permission, would make you directly or secondarily liable for\n"
+ "infringement under applicable copyright law, except executing it on a\n"
+ "computer or modifying a private copy. Propagation includes copying,\n"
+ "distribution (with or without modification), making available to the\n"
+ "public, and in some countries other activities as well.\n"
+ "\n"
+ " To \"convey\" a work means any kind of propagation that enables other\n"
+ "parties to make or receive copies. Mere interaction with a user through\n"
+ "a computer network, with no transfer of a copy, is not conveying.\n"
+ "\n"
+ " An interactive user interface displays \"Appropriate Legal Notices\"\n"
+ "to the extent that it includes a convenient and prominently visible\n"
+ "feature that (1) displays an appropriate copyright notice, and (2)\n"
+ "tells the user that there is no warranty for the work (except to the\n"
+ "extent that warranties are provided), that licensees may convey the\n"
+ "work under this License, and how to view a copy of this License. If\n"
+ "the interface presents a list of user commands or options, such as a\n"
+ "menu, a prominent item in the list meets this criterion.\n"
+ "\n"
+ " 1. Source Code.\n"
+ "\n"
+ " The \"source code\" for a work means the preferred form of the work\n"
+ "for making modifications to it. \"Object code\" means any non-source\n"
+ "form of a work.\n"
+ "\n"
+ " A \"Standard Interface\" means an interface that either is an official\n"
+ "standard defined by a recognized standards body, or, in the case of\n"
+ "interfaces specified for a particular programming language, one that\n"
+ "is widely used among developers working in that language.\n"
+ "\n"
+ " The \"System Libraries\" of an executable work include anything, other\n"
+ "than the work as a whole, that (a) is included in the normal form of\n"
+ "packaging a Major Component, but which is not part of that Major\n"
+ "Component, and (b) serves only to enable use of the work with that\n"
+ "Major Component, or to implement a Standard Interface for which an\n"
+ "implementation is available to the public in source code form. A\n"
+ "\"Major Component\", in this context, means a major essential component\n"
+ "(kernel, window system, and so on) of the specific operating system\n"
+ "(if any) on which the executable work runs, or a compiler used to\n"
+ "produce the work, or an object code interpreter used to run it.\n"
+ "\n"
+ " The \"Corresponding Source\" for a work in object code form means all\n"
+ "the source code needed to generate, install, and (for an executable\n"
+ "work) run the object code and to modify the work, including scripts to\n"
+ "control those activities. However, it does not include the work\'s\n"
+ "System Libraries, or general-purpose tools or generally available free\n"
+ "programs which are used unmodified in performing those activities but\n"
+ "which are not part of the work. For example, Corresponding Source\n"
+ "includes interface definition files associated with source files for\n"
+ "the work, and the source code for shared libraries and dynamically\n"
+ "linked subprograms that the work is specifically designed to require,\n"
+ "such as by intimate data communication or control flow between those\n"
+ "subprograms and other parts of the work.\n"
+ "\n"
+ " The Corresponding Source need not include anything that users\n"
+ "can regenerate automatically from other parts of the Corresponding\n"
+ "Source.\n"
+ "\n"
+ " The Corresponding Source for a work in source code form is that\n"
+ "same work.\n"
+ "\n"
+ " 2. Basic Permissions.\n"
+ "\n"
+ " All rights granted under this License are granted for the term of\n"
+ "copyright on the Program, and are irrevocable provided the stated\n"
+ "conditions are met. This License explicitly affirms your unlimited\n"
+ "permission to run the unmodified Program. The output from running a\n"
+ "covered work is covered by this License only if the output, given its\n"
+ "content, constitutes a covered work. This License acknowledges your\n"
+ "rights of fair use or other equivalent, as provided by copyright law.\n"
+ "\n"
+ " You may make, run and propagate covered works that you do not\n"
+ "convey, without conditions so long as your license otherwise remains\n"
+ "in force. You may convey covered works to others for the sole purpose\n"
+ "of having them make modifications exclusively for you, or provide you\n"
+ "with facilities for running those works, provided that you comply with\n"
+ "the terms of this License in conveying all material for which you do\n"
+ "not control copyright. Those thus making or running the covered works\n"
+ "for you must do so exclusively on your behalf, under your direction\n"
+ "and control, on terms that prohibit them from making any copies of\n"
+ "your copyrighted material outside their relationship with you.\n"
+ "\n"
+ " Conveying under any other circumstances is permitted solely under\n"
+ "the conditions stated below. Sublicensing is not allowed; section 10\n"
+ "makes it unnecessary.\n"
+ "\n"
+ " 3. Protecting Users\' Legal Rights From Anti-Circumvention Law.\n"
+ "\n"
+ " No covered work shall be deemed part of an effective technological\n"
+ "measure under any applicable law fulfilling obligations under article\n"
+ "11 of the WIPO copyright treaty adopted on 20 December 1996, or\n"
+ "similar laws prohibiting or restricting circumvention of such\n"
+ "measures.\n"
+ "\n"
+ " When you convey a covered work, you waive any legal power to forbid\n"
+ "circumvention of technological measures to the extent such circumvention\n"
+ "is effected by exercising rights under this License with respect to\n"
+ "the covered work, and you disclaim any intention to limit operation or\n"
+ "modification of the work as a means of enforcing, against the work\'s\n"
+ "users, your or third parties\' legal rights to forbid circumvention of\n"
+ "technological measures.\n"
+ "\n"
+ " 4. Conveying Verbatim Copies.\n"
+ "\n"
+ " You may convey verbatim copies of the Program\'s source code as you\n"
+ "receive it, in any medium, provided that you conspicuously and\n"
+ "appropriately publish on each copy an appropriate copyright notice;\n"
+ "keep intact all notices stating that this License and any\n"
+ "non-permissive terms added in accord with section 7 apply to the code;\n"
+ "keep intact all notices of the absence of any warranty; and give all\n"
+ "recipients a copy of this License along with the Program.\n"
+ "\n"
+ " You may charge any price or no price for each copy that you convey,\n"
+ "and you may offer support or warranty protection for a fee.\n"
+ "\n"
+ " 5. Conveying Modified Source Versions.\n"
+ "\n"
+ " You may convey a work based on the Program, or the modifications to\n"
+ "produce it from the Program, in the form of source code under the\n"
+ "terms of section 4, provided that you also meet all of these conditions:\n"
+ "\n"
+ " a) The work must carry prominent notices stating that you modified\n"
+ " it, and giving a relevant date.\n"
+ "\n"
+ " b) The work must carry prominent notices stating that it is\n"
+ " released under this License and any conditions added under section\n"
+ " 7. This requirement modifies the requirement in section 4 to\n"
+ " \"keep intact all notices\".\n"
+ "\n"
+ " c) You must license the entire work, as a whole, under this\n"
+ " License to anyone who comes into possession of a copy. This\n"
+ " License will therefore apply, along with any applicable section 7\n"
+ " additional terms, to the whole of the work, and all its parts,\n"
+ " regardless of how they are packaged. This License gives no\n"
+ " permission to license the work in any other way, but it does not\n"
+ " invalidate such permission if you have separately received it.\n"
+ "\n"
+ " d) If the work has interactive user interfaces, each must display\n"
+ " Appropriate Legal Notices; however, if the Program has interactive\n"
+ " interfaces that do not display Appropriate Legal Notices, your\n"
+ " work need not make them do so.\n"
+ "\n"
+ " A compilation of a covered work with other separate and independent\n"
+ "works, which are not by their nature extensions of the covered work,\n"
+ "and which are not combined with it such as to form a larger program,\n"
+ "in or on a volume of a storage or distribution medium, is called an\n"
+ "\"aggregate\" if the compilation and its resulting copyright are not\n"
+ "used to limit the access or legal rights of the compilation\'s users\n"
+ "beyond what the individual works permit. Inclusion of a covered work\n"
+ "in an aggregate does not cause this License to apply to the other\n"
+ "parts of the aggregate.\n"
+ "\n"
+ " 6. Conveying Non-Source Forms.\n"
+ "\n"
+ " You may convey a covered work in object code form under the terms\n"
+ "of sections 4 and 5, provided that you also convey the\n"
+ "machine-readable Corresponding Source under the terms of this License,\n"
+ "in one of these ways:\n"
+ "\n"
+ " a) Convey the object code in, or embodied in, a physical product\n"
+ " (including a physical distribution medium), accompanied by the\n"
+ " Corresponding Source fixed on a durable physical medium\n"
+ " customarily used for software interchange.\n"
+ "\n"
+ " b) Convey the object code in, or embodied in, a physical product\n"
+ " (including a physical distribution medium), accompanied by a\n"
+ " written offer, valid for at least three years and valid for as\n"
+ " long as you offer spare parts or customer support for that product\n"
+ " model, to give anyone who possesses the object code either (1) a\n"
+ " copy of the Corresponding Source for all the software in the\n"
+ " product that is covered by this License, on a durable physical\n"
+ " medium customarily used for software interchange, for a price no\n"
+ " more than your reasonable cost of physically performing this\n"
+ " conveying of source, or (2) access to copy the\n"
+ " Corresponding Source from a network server at no charge.\n"
+ "\n"
+ " c) Convey individual copies of the object code with a copy of the\n"
+ " written offer to provide the Corresponding Source. This\n"
+ " alternative is allowed only occasionally and noncommercially, and\n"
+ " only if you received the object code with such an offer, in accord\n"
+ " with subsection 6b.\n"
+ "\n"
+ " d) Convey the object code by offering access from a designated\n"
+ " place (gratis or for a charge), and offer equivalent access to the\n"
+ " Corresponding Source in the same way through the same place at no\n"
+ " further charge. You need not require recipients to copy the\n"
+ " Corresponding Source along with the object code. If the place to\n"
+ " copy the object code is a network server, the Corresponding Source\n"
+ " may be on a different server (operated by you or a third party)\n"
+ " that supports equivalent copying facilities, provided you maintain\n"
+ " clear directions next to the object code saying where to find the\n"
+ " Corresponding Source. Regardless of what server hosts the\n"
+ " Corresponding Source, you remain obligated to ensure that it is\n"
+ " available for as long as needed to satisfy these requirements.\n"
+ "\n"
+ " e) Convey the object code using peer-to-peer transmission, provided\n"
+ " you inform other peers where the object code and Corresponding\n"
+ " Source of the work are being offered to the general public at no\n"
+ " charge under subsection 6d.\n"
+ "\n"
+ " A separable portion of the object code, whose source code is excluded\n"
+ "from the Corresponding Source as a System Library, need not be\n"
+ "included in conveying the object code work.\n"
+ "\n"
+ " A \"User Product\" is either (1) a \"consumer product\", which means any\n"
+ "tangible personal property which is normally used for personal, family,\n"
+ "or household purposes, or (2) anything designed or sold for incorporation\n"
+ "into a dwelling. In determining whether a product is a consumer product,\n"
+ "doubtful cases shall be resolved in favor of coverage. For a particular\n"
+ "product received by a particular user, \"normally used\" refers to a\n"
+ "typical or common use of that class of product, regardless of the status\n"
+ "of the particular user or of the way in which the particular user\n"
+ "actually uses, or expects or is expected to use, the product. A product\n"
+ "is a consumer product regardless of whether the product has substantial\n"
+ "commercial, industrial or non-consumer uses, unless such uses represent\n"
+ "the only significant mode of use of the product.\n"
+ "\n"
+ " \"Installation Information\" for a User Product means any methods,\n"
+ "procedures, authorization keys, or other information required to install\n"
+ "and execute modified versions of a covered work in that User Product from\n"
+ "a modified version of its Corresponding Source. The information must\n"
+ "suffice to ensure that the continued functioning of the modified object\n"
+ "code is in no case prevented or interfered with solely because\n"
+ "modification has been made.\n"
+ "\n"
+ " If you convey an object code work under this section in, or with, or\n"
+ "specifically for use in, a User Product, and the conveying occurs as\n"
+ "part of a transaction in which the right of possession and use of the\n"
+ "User Product is transferred to the recipient in perpetuity or for a\n"
+ "fixed term (regardless of how the transaction is characterized), the\n"
+ "Corresponding Source conveyed under this section must be accompanied\n"
+ "by the Installation Information. But this requirement does not apply\n"
+ "if neither you nor any third party retains the ability to install\n"
+ "modified object code on the User Product (for example, the work has\n"
+ "been installed in ROM).\n"
+ "\n"
+ " The requirement to provide Installation Information does not include a\n"
+ "requirement to continue to provide support service, warranty, or updates\n"
+ "for a work that has been modified or installed by the recipient, or for\n"
+ "the User Product in which it has been modified or installed. Access to a\n"
+ "network may be denied when the modification itself materially and\n"
+ "adversely affects the operation of the network or violates the rules and\n"
+ "protocols for communication across the network.\n"
+ "\n"
+ " Corresponding Source conveyed, and Installation Information provided,\n"
+ "in accord with this section must be in a format that is publicly\n"
+ "documented (and with an implementation available to the public in\n"
+ "source code form), and must require no special password or key for\n"
+ "unpacking, reading or copying.\n"
+ "\n"
+ " 7. Additional Terms.\n"
+ "\n"
+ " \"Additional permissions\" are terms that supplement the terms of this\n"
+ "License by making exceptions from one or more of its conditions.\n"
+ "Additional permissions that are applicable to the entire Program shall\n"
+ "be treated as though they were included in this License, to the extent\n"
+ "that they are valid under applicable law. If additional permissions\n"
+ "apply only to part of the Program, that part may be used separately\n"
+ "under those permissions, but the entire Program remains governed by\n"
+ "this License without regard to the additional permissions.\n"
+ "\n"
+ " When you convey a copy of a covered work, you may at your option\n"
+ "remove any additional permissions from that copy, or from any part of\n"
+ "it. (Additional permissions may be written to require their own\n"
+ "removal in certain cases when you modify the work.) You may place\n"
+ "additional permissions on material, added by you to a covered work,\n"
+ "for which you have or can give appropriate copyright permission.\n"
+ "\n"
+ " Notwithstanding any other provision of this License, for material you\n"
+ "add to a covered work, you may (if authorized by the copyright holders of\n"
+ "that material) supplement the terms of this License with terms:\n"
+ "\n"
+ " a) Disclaiming warranty or limiting liability differently from the\n"
+ " terms of sections 15 and 16 of this License; or\n"
+ "\n"
+ " b) Requiring preservation of specified reasonable legal notices or\n"
+ " author attributions in that material or in the Appropriate Legal\n"
+ " Notices displayed by works containing it; or\n"
+ "\n"
+ " c) Prohibiting misrepresentation of the origin of that material, or\n"
+ " requiring that modified versions of such material be marked in\n"
+ " reasonable ways as different from the original version; or\n"
+ "\n"
+ " d) Limiting the use for publicity purposes of names of licensors or\n"
+ " authors of the material; or\n"
+ "\n"
+ " e) Declining to grant rights under trademark law for use of some\n"
+ " trade names, trademarks, or service marks; or\n"
+ "\n"
+ " f) Requiring indemnification of licensors and authors of that\n"
+ " material by anyone who conveys the material (or modified versions of\n"
+ " it) with contractual assumptions of liability to the recipient, for\n"
+ " any liability that these contractual assumptions directly impose on\n"
+ " those licensors and authors.\n"
+ "\n"
+ " All other non-permissive additional terms are considered \"further\n"
+ "restrictions\" within the meaning of section 10. If the Program as you\n"
+ "received it, or any part of it, contains a notice stating that it is\n"
+ "governed by this License along with a term that is a further\n"
+ "restriction, you may remove that term. If a license document contains\n"
+ "a further restriction but permits relicensing or conveying under this\n"
+ "License, you may add to a covered work material governed by the terms\n"
+ "of that license document, provided that the further restriction does\n"
+ "not survive such relicensing or conveying.\n"
+ "\n"
+ " If you add terms to a covered work in accord with this section, you\n"
+ "must place, in the relevant source files, a statement of the\n"
+ "additional terms that apply to those files, or a notice indicating\n"
+ "where to find the applicable terms.\n"
+ "\n"
+ " Additional terms, permissive or non-permissive, may be stated in the\n"
+ "form of a separately written license, or stated as exceptions;\n"
+ "the above requirements apply either way.\n"
+ "\n"
+ " 8. Termination.\n"
+ "\n"
+ " You may not propagate or modify a covered work except as expressly\n"
+ "provided under this License. Any attempt otherwise to propagate or\n"
+ "modify it is void, and will automatically terminate your rights under\n"
+ "this License (including any patent licenses granted under the third\n"
+ "paragraph of section 11).\n"
+ "\n"
+ " However, if you cease all violation of this License, then your\n"
+ "license from a particular copyright holder is reinstated (a)\n"
+ "provisionally, unless and until the copyright holder explicitly and\n"
+ "finally terminates your license, and (b) permanently, if the copyright\n"
+ "holder fails to notify you of the violation by some reasonable means\n"
+ "prior to 60 days after the cessation.\n"
+ "\n"
+ " Moreover, your license from a particular copyright holder is\n"
+ "reinstated permanently if the copyright holder notifies you of the\n"
+ "violation by some reasonable means, this is the first time you have\n"
+ "received notice of violation of this License (for any work) from that\n"
+ "copyright holder, and you cure the violation prior to 30 days after\n"
+ "your receipt of the notice.\n"
+ "\n"
+ " Termination of your rights under this section does not terminate the\n"
+ "licenses of parties who have received copies or rights from you under\n"
+ "this License. If your rights have been terminated and not permanently\n"
+ "reinstated, you do not qualify to receive new licenses for the same\n"
+ "material under section 10.\n"
+ "\n"
+ " 9. Acceptance Not Required for Having Copies.\n"
+ "\n"
+ " You are not required to accept this License in order to receive or\n"
+ "run a copy of the Program. Ancillary propagation of a covered work\n"
+ "occurring solely as a consequence of using peer-to-peer transmission\n"
+ "to receive a copy likewise does not require acceptance. However,\n"
+ "nothing other than this License grants you permission to propagate or\n"
+ "modify any covered work. These actions infringe copyright if you do\n"
+ "not accept this License. Therefore, by modifying or propagating a\n"
+ "covered work, you indicate your acceptance of this License to do so.\n"
+ "\n"
+ " 10. Automatic Licensing of Downstream Recipients.\n"
+ "\n"
+ " Each time you convey a covered work, the recipient automatically\n"
+ "receives a license from the original licensors, to run, modify and\n"
+ "propagate that work, subject to this License. You are not responsible\n"
+ "for enforcing compliance by third parties with this License.\n"
+ "\n"
+ " An \"entity transaction\" is a transaction transferring control of an\n"
+ "organization, or substantially all assets of one, or subdividing an\n"
+ "organization, or merging organizations. If propagation of a covered\n"
+ "work results from an entity transaction, each party to that\n"
+ "transaction who receives a copy of the work also receives whatever\n"
+ "licenses to the work the party\'s predecessor in interest had or could\n"
+ "give under the previous paragraph, plus a right to possession of the\n"
+ "Corresponding Source of the work from the predecessor in interest, if\n"
+ "the predecessor has it or can get it with reasonable efforts.\n"
+ "\n"
+ " You may not impose any further restrictions on the exercise of the\n"
+ "rights granted or affirmed under this License. For example, you may\n"
+ "not impose a license fee, royalty, or other charge for exercise of\n"
+ "rights granted under this License, and you may not initiate litigation\n"
+ "(including a cross-claim or counterclaim in a lawsuit) alleging that\n"
+ "any patent claim is infringed by making, using, selling, offering for\n"
+ "sale, or importing the Program or any portion of it.\n"
+ "\n"
+ " 11. Patents.\n"
+ "\n"
+ " A \"contributor\" is a copyright holder who authorizes use under this\n"
+ "License of the Program or a work on which the Program is based. The\n"
+ "work thus licensed is called the contributor\'s \"contributor version\".\n"
+ "\n"
+ " A contributor\'s \"essential patent claims\" are all patent claims\n"
+ "owned or controlled by the contributor, whether already acquired or\n"
+ "hereafter acquired, that would be infringed by some manner, permitted\n"
+ "by this License, of making, using, or selling its contributor version,\n"
+ "but do not include claims that would be infringed only as a\n"
+ "consequence of further modification of the contributor version. For\n"
+ "purposes of this definition, \"control\" includes the right to grant\n"
+ "patent sublicenses in a manner consistent with the requirements of\n"
+ "this License.\n"
+ "\n"
+ " Each contributor grants you a non-exclusive, worldwide, royalty-free\n"
+ "patent license under the contributor\'s essential patent claims, to\n"
+ "make, use, sell, offer for sale, import and otherwise run, modify and\n"
+ "propagate the contents of its contributor version.\n"
+ "\n"
+ " In the following three paragraphs, a \"patent license\" is any express\n"
+ "agreement or commitment, however denominated, not to enforce a patent\n"
+ "(such as an express permission to practice a patent or covenant not to\n"
+ "sue for patent infringement). To \"grant\" such a patent license to a\n"
+ "party means to make such an agreement or commitment not to enforce a\n"
+ "patent against the party.\n"
+ "\n"
+ " If you convey a covered work, knowingly relying on a patent license,\n"
+ "and the Corresponding Source of the work is not available for anyone\n"
+ "to copy, free of charge and under the terms of this License, through a\n"
+ "publicly available network server or other readily accessible means,\n"
+ "then you must either (1) cause the Corresponding Source to be so\n"
+ "available, or (2) arrange to deprive yourself of the benefit of the\n"
+ "patent license for this particular work, or (3) arrange, in a manner\n"
+ "consistent with the requirements of this License, to extend the patent\n"
+ "license to downstream recipients. \"Knowingly relying\" means you have\n"
+ "actual knowledge that, but for the patent license, your conveying the\n"
+ "covered work in a country, or your recipient\'s use of the covered work\n"
+ "in a country, would infringe one or more identifiable patents in that\n"
+ "country that you have reason to believe are valid.\n"
+ "\n"
+ " If, pursuant to or in connection with a single transaction or\n"
+ "arrangement, you convey, or propagate by procuring conveyance of, a\n"
+ "covered work, and grant a patent license to some of the parties\n"
+ "receiving the covered work authorizing them to use, propagate, modify\n"
+ "or convey a specific copy of the covered work, then the patent license\n"
+ "you grant is automatically extended to all recipients of the covered\n"
+ "work and works based on it.\n"
+ "\n"
+ " A patent license is \"discriminatory\" if it does not include within\n"
+ "the scope of its coverage, prohibits the exercise of, or is\n"
+ "conditioned on the non-exercise of one or more of the rights that are\n"
+ "specifically granted under this License. You may not convey a covered\n"
+ "work if you are a party to an arrangement with a third party that is\n"
+ "in the business of distributing software, under which you make payment\n"
+ "to the third party based on the extent of your activity of conveying\n"
+ "the work, and under which the third party grants, to any of the\n"
+ "parties who would receive the covered work from you, a discriminatory\n"
+ "patent license (a) in connection with copies of the covered work\n"
+ "conveyed by you (or copies made from those copies), or (b) primarily\n"
+ "for and in connection with specific products or compilations that\n"
+ "contain the covered work, unless you entered into that arrangement,\n"
+ "or that patent license was granted, prior to 28 March 2007.\n"
+ "\n"
+ " Nothing in this License shall be construed as excluding or limiting\n"
+ "any implied license or other defenses to infringement that may\n"
+ "otherwise be available to you under applicable patent law.\n"
+ "\n"
+ " 12. No Surrender of Others\' Freedom.\n"
+ "\n"
+ " If conditions are imposed on you (whether by court order, agreement or\n"
+ "otherwise) that contradict the conditions of this License, they do not\n"
+ "excuse you from the conditions of this License. If you cannot convey a\n"
+ "covered work so as to satisfy simultaneously your obligations under this\n"
+ "License and any other pertinent obligations, then as a consequence you may\n"
+ "not convey it at all. For example, if you agree to terms that obligate you\n"
+ "to collect a royalty for further conveying from those to whom you convey\n"
+ "the Program, the only way you could satisfy both those terms and this\n"
+ "License would be to refrain entirely from conveying the Program.\n"
+ "\n"
+ " 13. Use with the GNU Affero General Public License.\n"
+ "\n"
+ " Notwithstanding any other provision of this License, you have\n"
+ "permission to link or combine any covered work with a work licensed\n"
+ "under version 3 of the GNU Affero General Public License into a single\n"
+ "combined work, and to convey the resulting work. The terms of this\n"
+ "License will continue to apply to the part which is the covered work,\n"
+ "but the special requirements of the GNU Affero General Public License,\n"
+ "section 13, concerning interaction through a network will apply to the\n"
+ "combination as such.\n"
+ "\n"
+ " 14. Revised Versions of this License.\n"
+ "\n"
+ " The Free Software Foundation may publish revised and/or new versions of\n"
+ "the GNU General Public License from time to time. Such new versions will\n"
+ "be similar in spirit to the present version, but may differ in detail to\n"
+ "address new problems or concerns.\n"
+ "\n"
+ " Each version is given a distinguishing version number. If the\n"
+ "Program specifies that a certain numbered version of the GNU General\n"
+ "Public License \"or any later version\" applies to it, you have the\n"
+ "option of following the terms and conditions either of that numbered\n"
+ "version or of any later version published by the Free Software\n"
+ "Foundation. If the Program does not specify a version number of the\n"
+ "GNU General Public License, you may choose any version ever published\n"
+ "by the Free Software Foundation.\n"
+ "\n"
+ " If the Program specifies that a proxy can decide which future\n"
+ "versions of the GNU General Public License can be used, that proxy\'s\n"
+ "public statement of acceptance of a version permanently authorizes you\n"
+ "to choose that version for the Program.\n"
+ "\n"
+ " Later license versions may give you additional or different\n"
+ "permissions. However, no additional obligations are imposed on any\n"
+ "author or copyright holder as a result of your choosing to follow a\n"
+ "later version.\n"
+ "\n"
+ " 15. Disclaimer of Warranty.\n"
+ "\n"
+ " THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\n"
+ "APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\n"
+ "HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\n"
+ "OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\n"
+ "THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n"
+ "PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\n"
+ "IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\n"
+ "ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n"
+ "\n"
+ " 16. Limitation of Liability.\n"
+ "\n"
+ " IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\n"
+ "WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\n"
+ "THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\n"
+ "GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\n"
+ "USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\n"
+ "DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\n"
+ "PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\n"
+ "EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\n"
+ "SUCH DAMAGES.\n"
+ "\n"
+ " 17. Interpretation of Sections 15 and 16.\n"
+ "\n"
+ " If the disclaimer of warranty and limitation of liability provided\n"
+ "above cannot be given local legal effect according to their terms,\n"
+ "reviewing courts shall apply local law that most closely approximates\n"
+ "an absolute waiver of all civil liability in connection with the\n"
+ "Program, unless a warranty or assumption of liability accompanies a\n"
+ "copy of the Program in return for a fee.\n"
+ "\n"
+ " END OF TERMS AND CONDITIONS\n"
+ "\n"
+ " How to Apply These Terms to Your New Programs\n"
+ "\n"
+ " If you develop a new program, and you want it to be of the greatest\n"
+ "possible use to the public, the best way to achieve this is to make it\n"
+ "free software which everyone can redistribute and change under these terms.\n"
+ "\n"
+ " To do so, attach the following notices to the program. It is safest\n"
+ "to attach them to the start of each source file to most effectively\n"
+ "state the exclusion of warranty; and each file should have at least\n"
+ "the \"copyright\" line and a pointer to where the full notice is found.\n"
+ "\n"
+ " \n"
+ " Copyright (C) \n"
+ "\n"
+ " This program is free software: you can redistribute it and/or modify\n"
+ " it under the terms of the GNU General Public License as published by\n"
+ " the Free Software Foundation, either version 3 of the License, or\n"
+ " (at your option) any later version.\n"
+ "\n"
+ " This program is distributed in the hope that it will be useful,\n"
+ " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+ " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+ " GNU General Public License for more details.\n"
+ "\n"
+ " You should have received a copy of the GNU General Public License\n"
+ " along with this program. If not, see .\n"
+ "\n"
+ "Also add information on how to contact you by electronic and paper mail.\n"
+ "\n"
+ " If the program does terminal interaction, make it output a short\n"
+ "notice like this when it starts in an interactive mode:\n"
+ "\n"
+ " Copyright (C) \n"
+ " This program comes with ABSOLUTELY NO WARRANTY; for details type `show w\'.\n"
+ " This is free software, and you are welcome to redistribute it\n"
+ " under certain conditions; type `show c\' for details.\n"
+ "\n"
+ "The hypothetical commands `show w\' and `show c\' should show the appropriate\n"
+ "parts of the General Public License. Of course, your program\'s commands\n"
+ "might be different; for a GUI interface, you would use an \"about box\".\n"
+ "\n"
+ " You should also get your employer (if you work as a programmer) or school,\n"
+ "if any, to sign a \"copyright disclaimer\" for the program, if necessary.\n"
+ "For more information on this, and how to apply and follow the GNU GPL, see\n"
+ ".\n"
+ "\n"
+ " The GNU General Public License does not permit incorporating your program\n"
+ "into proprietary programs. If your program is a subroutine library, you\n"
+ "may consider it more useful to permit linking proprietary applications with\n"
+ "the library. If this is what you want to do, use the GNU Lesser General\n"
+ "Public License instead of this License. But first, please read\n"
+ ".\n"
+ "", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("AboutDialog", "&License Agreement", None))
from . import resources_rc
diff --git a/gns3/ui/cloud_inspector_view_ui.py b/gns3/ui/cloud_inspector_view_ui.py
index 8b8b4b8d..7c056c1f 100644
--- a/gns3/ui/cloud_inspector_view_ui.py
+++ b/gns3/ui/cloud_inspector_view_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_CloudInspectorView(object):
+
def setupUi(self, CloudInspectorView):
CloudInspectorView.setObjectName(_fromUtf8("CloudInspectorView"))
CloudInspectorView.resize(359, 283)
@@ -61,4 +64,3 @@ class Ui_CloudInspectorView(object):
CloudInspectorView.setWindowTitle(_translate("CloudInspectorView", "Form", None))
self.uiCreateInstanceGroupBox.setTitle(_translate("CloudInspectorView", "Create new Instance", None))
self.uiCreateInstanceButton.setText(_translate("CloudInspectorView", "Create", None))
-
diff --git a/gns3/ui/cloud_preferences_page_ui.py b/gns3/ui/cloud_preferences_page_ui.py
index 4e8e2d60..3768e9ce 100644
--- a/gns3/ui/cloud_preferences_page_ui.py
+++ b/gns3/ui/cloud_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_CloudPreferencesPageWidget(object):
+
def setupUi(self, CloudPreferencesPageWidget):
CloudPreferencesPageWidget.setObjectName(_fromUtf8("CloudPreferencesPageWidget"))
CloudPreferencesPageWidget.resize(482, 485)
@@ -144,11 +147,10 @@ class Ui_CloudPreferencesPageWidget(object):
self.uiUserNameLabel.setText(_translate("CloudPreferencesPageWidget", "User Name:", None))
self.uiAPIKeyLabel.setText(_translate("CloudPreferencesPageWidget", "API Key", None))
self.uiRememberAPIKeyRadioButton.setText(_translate("CloudPreferencesPageWidget", "Remeber these settings\n"
-"(Suggested for private computers)", None))
+ "(Suggested for private computers)", None))
self.uiStartNewProjectsLabel.setText(_translate("CloudPreferencesPageWidget", "Start new projects with:", None))
self.uiCloudProviderLabel.setText(_translate("CloudPreferencesPageWidget", "Cloud provider", None))
self.uiRegionLabel.setText(_translate("CloudPreferencesPageWidget", "Region (optional)", None))
self.uiForgetAPIKeyRadioButton.setText(_translate("CloudPreferencesPageWidget", "Forget these settings on exit\n"
-"(Suggested for public computers)", None))
+ "(Suggested for public computers)", None))
self.uiTimeoutLabel2.setText(_translate("CloudPreferencesPageWidget", "minutes of lost communication", None))
-
diff --git a/gns3/ui/configuration_dialog_ui.py b/gns3/ui/configuration_dialog_ui.py
index 21df75f9..910b1cc4 100644
--- a/gns3/ui/configuration_dialog_ui.py
+++ b/gns3/ui/configuration_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_configurationDialog(object):
+
def setupUi(self, configurationDialog):
configurationDialog.setObjectName(_fromUtf8("configurationDialog"))
configurationDialog.resize(585, 454)
@@ -68,7 +71,7 @@ class Ui_configurationDialog(object):
self.gridlayout.addWidget(self.splitter, 0, 0, 1, 1)
self.uiButtonBox = QtGui.QDialogButtonBox(configurationDialog)
self.uiButtonBox.setOrientation(QtCore.Qt.Horizontal)
- self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok)
self.uiButtonBox.setObjectName(_fromUtf8("uiButtonBox"))
self.gridlayout.addWidget(self.uiButtonBox, 1, 0, 1, 1)
diff --git a/gns3/ui/exec_command_dialog_ui.py b/gns3/ui/exec_command_dialog_ui.py
index cecdf96f..b83f4264 100644
--- a/gns3/ui/exec_command_dialog_ui.py
+++ b/gns3/ui/exec_command_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_ExecCommandDialog(object):
+
def setupUi(self, ExecCommandDialog):
ExecCommandDialog.setObjectName(_fromUtf8("ExecCommandDialog"))
ExecCommandDialog.resize(651, 343)
diff --git a/gns3/ui/general_preferences_page_ui.py b/gns3/ui/general_preferences_page_ui.py
index 87f3b8f7..f7ce5664 100644
--- a/gns3/ui/general_preferences_page_ui.py
+++ b/gns3/ui/general_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_GeneralPreferencesPageWidget(object):
+
def setupUi(self, GeneralPreferencesPageWidget):
GeneralPreferencesPageWidget.setObjectName(_fromUtf8("GeneralPreferencesPageWidget"))
GeneralPreferencesPageWidget.resize(467, 639)
@@ -332,4 +335,3 @@ class Ui_GeneralPreferencesPageWidget(object):
self.uiDefaultLabelColorPushButton.setText(_translate("GeneralPreferencesPageWidget", "&Select default color", None))
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiSceneTab), _translate("GeneralPreferencesPageWidget", "Topology view", None))
self.uiRestoreDefaultsPushButton.setText(_translate("GeneralPreferencesPageWidget", "Restore defaults", None))
-
diff --git a/gns3/ui/getting_started_dialog_ui.py b/gns3/ui/getting_started_dialog_ui.py
index e5982e04..34cd0fd6 100644
--- a/gns3/ui/getting_started_dialog_ui.py
+++ b/gns3/ui/getting_started_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_GettingStartedDialog(object):
+
def setupUi(self, GettingStartedDialog):
GettingStartedDialog.setObjectName(_fromUtf8("GettingStartedDialog"))
GettingStartedDialog.resize(778, 593)
diff --git a/gns3/ui/idlepc_dialog_ui.py b/gns3/ui/idlepc_dialog_ui.py
index 6db64a31..3544ea02 100644
--- a/gns3/ui/idlepc_dialog_ui.py
+++ b/gns3/ui/idlepc_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_IdlePCDialog(object):
+
def setupUi(self, IdlePCDialog):
IdlePCDialog.setObjectName(_fromUtf8("IdlePCDialog"))
IdlePCDialog.setModal(True)
@@ -38,7 +41,7 @@ class Ui_IdlePCDialog(object):
self.gridLayout.addWidget(self.uiComboBox, 1, 0, 1, 1)
self.uiButtonBox = QtGui.QDialogButtonBox(IdlePCDialog)
self.uiButtonBox.setOrientation(QtCore.Qt.Horizontal)
- self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Help|QtGui.QDialogButtonBox.Ok)
+ self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Help | QtGui.QDialogButtonBox.Ok)
self.uiButtonBox.setObjectName(_fromUtf8("uiButtonBox"))
self.gridLayout.addWidget(self.uiButtonBox, 2, 0, 1, 1)
@@ -50,4 +53,3 @@ class Ui_IdlePCDialog(object):
def retranslateUi(self, IdlePCDialog):
IdlePCDialog.setWindowTitle(_translate("IdlePCDialog", "Idle-PC values", None))
self.uiLabel.setText(_translate("IdlePCDialog", "Potentially better Idle-PC values are marked with \'*\'", None))
-
diff --git a/gns3/ui/import_cloud_project_dialog_ui.py b/gns3/ui/import_cloud_project_dialog_ui.py
index 209ffa31..96f2e79b 100644
--- a/gns3/ui/import_cloud_project_dialog_ui.py
+++ b/gns3/ui/import_cloud_project_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_ImportCloudProjectDialog(object):
+
def setupUi(self, ImportCloudProjectDialog):
ImportCloudProjectDialog.setObjectName(_fromUtf8("ImportCloudProjectDialog"))
ImportCloudProjectDialog.resize(471, 402)
@@ -49,4 +52,3 @@ class Ui_ImportCloudProjectDialog(object):
ImportCloudProjectDialog.setWindowTitle(_translate("ImportCloudProjectDialog", "Dialog", None))
self.uiImportProjectAction.setText(_translate("ImportCloudProjectDialog", "Import", None))
self.uiDeleteProjectAction.setText(_translate("ImportCloudProjectDialog", "Delete", None))
-
diff --git a/gns3/ui/main_window_ui.py b/gns3/ui/main_window_ui.py
index 9a174e1a..2cb69be5 100644
--- a/gns3/ui/main_window_ui.py
+++ b/gns3/ui/main_window_ui.py
@@ -17,34 +17,37 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_MainWindow(object):
+
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.setWindowModality(QtCore.Qt.NonModal)
MainWindow.resize(984, 715)
MainWindow.setContextMenuPolicy(QtCore.Qt.PreventContextMenu)
MainWindow.setStyleSheet(_fromUtf8("#toolBar_Devices QToolButton {\n"
-"width: 50px;\n"
-"height: 55px;\n"
-"border:solid 1px black opacity 0.4;\n"
-"background-none;\n"
-"}\n"
-"\n"
-"#toolBar_General QToolButton {\n"
-"width: 36px;\n"
-"height: 36px;\n"
-"border:solid 1px black opacity 0.4;\n"
-"background-none;\n"
-"}\n"
-"\n"
-""))
- MainWindow.setDockOptions(QtGui.QMainWindow.AllowTabbedDocks|QtGui.QMainWindow.AnimatedDocks)
+ "width: 50px;\n"
+ "height: 55px;\n"
+ "border:solid 1px black opacity 0.4;\n"
+ "background-none;\n"
+ "}\n"
+ "\n"
+ "#toolBar_General QToolButton {\n"
+ "width: 36px;\n"
+ "height: 36px;\n"
+ "border:solid 1px black opacity 0.4;\n"
+ "background-none;\n"
+ "}\n"
+ "\n"
+ ""))
+ MainWindow.setDockOptions(QtGui.QMainWindow.AllowTabbedDocks | QtGui.QMainWindow.AnimatedDocks)
MainWindow.setUnifiedTitleAndToolBarOnMac(False)
self.uiCentralWidget = QtGui.QWidget(MainWindow)
self.uiCentralWidget.setObjectName(_fromUtf8("uiCentralWidget"))
@@ -97,7 +100,7 @@ class Ui_MainWindow(object):
self.uiNodesDockWidget.setEnabled(True)
self.uiNodesDockWidget.setVisible(True)
self.uiNodesDockWidget.setFloating(False)
- self.uiNodesDockWidget.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea)
+ self.uiNodesDockWidget.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea | QtCore.Qt.RightDockWidgetArea)
self.uiNodesDockWidget.setObjectName(_fromUtf8("uiNodesDockWidget"))
self.uiNodesDockWidgetContents = QtGui.QWidget()
self.uiNodesDockWidgetContents.setObjectName(_fromUtf8("uiNodesDockWidgetContents"))
@@ -159,7 +162,7 @@ class Ui_MainWindow(object):
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.uiTopologySummaryDockWidget.sizePolicy().hasHeightForWidth())
self.uiTopologySummaryDockWidget.setSizePolicy(sizePolicy)
- self.uiTopologySummaryDockWidget.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea)
+ self.uiTopologySummaryDockWidget.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea | QtCore.Qt.RightDockWidgetArea)
self.uiTopologySummaryDockWidget.setObjectName(_fromUtf8("uiTopologySummaryDockWidget"))
self.uiTopologySummaryDockWidgetContents = QtGui.QWidget()
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
diff --git a/gns3/ui/new_project_dialog_ui.py b/gns3/ui/new_project_dialog_ui.py
index 423cd0a0..e32e76cd 100644
--- a/gns3/ui/new_project_dialog_ui.py
+++ b/gns3/ui/new_project_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_NewProjectDialog(object):
+
def setupUi(self, NewProjectDialog):
NewProjectDialog.setObjectName(_fromUtf8("NewProjectDialog"))
NewProjectDialog.setWindowModality(QtCore.Qt.ApplicationModal)
@@ -92,7 +95,7 @@ class Ui_NewProjectDialog(object):
self.gridLayout_2.addWidget(self.uiRecentProjectsPushButton, 1, 1, 1, 1)
self.uiButtonBox = QtGui.QDialogButtonBox(NewProjectDialog)
self.uiButtonBox.setOrientation(QtCore.Qt.Horizontal)
- self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok)
self.uiButtonBox.setObjectName(_fromUtf8("uiButtonBox"))
self.gridLayout_2.addWidget(self.uiButtonBox, 1, 2, 1, 1)
@@ -112,4 +115,3 @@ class Ui_NewProjectDialog(object):
self.uiCloudRadioButton.setText(_translate("NewProjectDialog", "Cloud", None))
self.uiOpenProjectPushButton.setText(_translate("NewProjectDialog", "&Open a project", None))
self.uiRecentProjectsPushButton.setText(_translate("NewProjectDialog", "&Recent projects...", None))
-
diff --git a/gns3/ui/news_dock_widget_ui.py b/gns3/ui/news_dock_widget_ui.py
index 9ed62224..a00f7110 100644
--- a/gns3/ui/news_dock_widget_ui.py
+++ b/gns3/ui/news_dock_widget_ui.py
@@ -17,18 +17,21 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_NewsDockWidget(object):
+
def setupUi(self, NewsDockWidget):
NewsDockWidget.setObjectName(_fromUtf8("NewsDockWidget"))
NewsDockWidget.resize(203, 225)
NewsDockWidget.setFloating(False)
- NewsDockWidget.setFeatures(QtGui.QDockWidget.DockWidgetFloatable|QtGui.QDockWidget.DockWidgetMovable)
+ NewsDockWidget.setFeatures(QtGui.QDockWidget.DockWidgetFloatable | QtGui.QDockWidget.DockWidgetMovable)
NewsDockWidget.setAllowedAreas(QtCore.Qt.AllDockWidgetAreas)
self.dockWidgetContents = QtGui.QWidget()
self.dockWidgetContents.setObjectName(_fromUtf8("dockWidgetContents"))
diff --git a/gns3/ui/node_configurator_dialog_ui.py b/gns3/ui/node_configurator_dialog_ui.py
index 93696201..d1986629 100644
--- a/gns3/ui/node_configurator_dialog_ui.py
+++ b/gns3/ui/node_configurator_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_NodeConfiguratorDialog(object):
+
def setupUi(self, NodeConfiguratorDialog):
NodeConfiguratorDialog.setObjectName(_fromUtf8("NodeConfiguratorDialog"))
NodeConfiguratorDialog.resize(689, 454)
@@ -83,7 +86,7 @@ class Ui_NodeConfiguratorDialog(object):
self.gridlayout.addWidget(self.splitter, 0, 0, 1, 1)
self.uiButtonBox = QtGui.QDialogButtonBox(NodeConfiguratorDialog)
self.uiButtonBox.setOrientation(QtCore.Qt.Horizontal)
- self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok|QtGui.QDialogButtonBox.Reset)
+ self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok | QtGui.QDialogButtonBox.Reset)
self.uiButtonBox.setObjectName(_fromUtf8("uiButtonBox"))
self.gridlayout.addWidget(self.uiButtonBox, 1, 0, 1, 1)
@@ -96,6 +99,6 @@ class Ui_NodeConfiguratorDialog(object):
self.uiNodesTreeWidget.headerItem().setText(0, _translate("NodeConfiguratorDialog", "Nodes", None))
self.uiTitleLabel.setText(_translate("NodeConfiguratorDialog", "Node Configuration", None))
self.textLabel.setText(_translate("NodeConfiguratorDialog", "Please select a node in the list \n"
-"to display the configuration page.", None))
+ "to display the configuration page.", None))
from . import resources_rc
diff --git a/gns3/ui/packet_capture_preferences_page_ui.py b/gns3/ui/packet_capture_preferences_page_ui.py
index 67e48e42..a34c60a4 100644
--- a/gns3/ui/packet_capture_preferences_page_ui.py
+++ b/gns3/ui/packet_capture_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_PacketCapturePreferencesPageWidget(object):
+
def setupUi(self, PacketCapturePreferencesPageWidget):
PacketCapturePreferencesPageWidget.setObjectName(_fromUtf8("PacketCapturePreferencesPageWidget"))
PacketCapturePreferencesPageWidget.resize(409, 290)
@@ -87,4 +90,3 @@ class Ui_PacketCapturePreferencesPageWidget(object):
self.uiPreconfiguredCaptureReaderCommandLabel.setText(_translate("PacketCapturePreferencesPageWidget", "Preconfigured packet capture reader commands:", None))
self.uiPreconfiguredCaptureReaderCommandPushButton.setText(_translate("PacketCapturePreferencesPageWidget", "&Set", None))
self.uiRestoreDefaultsPushButton.setText(_translate("PacketCapturePreferencesPageWidget", "Restore defaults", None))
-
diff --git a/gns3/ui/preferences_dialog_ui.py b/gns3/ui/preferences_dialog_ui.py
index 8aa23e6a..d9a09fdd 100644
--- a/gns3/ui/preferences_dialog_ui.py
+++ b/gns3/ui/preferences_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_PreferencesDialog(object):
+
def setupUi(self, PreferencesDialog):
PreferencesDialog.setObjectName(_fromUtf8("PreferencesDialog"))
PreferencesDialog.resize(652, 585)
@@ -37,7 +40,7 @@ class Ui_PreferencesDialog(object):
self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
self.uiButtonBox = QtGui.QDialogButtonBox(PreferencesDialog)
self.uiButtonBox.setOrientation(QtCore.Qt.Horizontal)
- self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok)
self.uiButtonBox.setCenterButtons(False)
self.uiButtonBox.setObjectName(_fromUtf8("uiButtonBox"))
self.gridlayout.addWidget(self.uiButtonBox, 2, 1, 1, 2)
diff --git a/gns3/ui/resources_rc.py b/gns3/ui/resources_rc.py
index dde72161..b40f07f5 100644
--- a/gns3/ui/resources_rc.py
+++ b/gns3/ui/resources_rc.py
@@ -243319,9 +243319,11 @@ qt_resource_struct = b"\
\x00\x00\x10\x62\x00\x01\x00\x00\x00\x01\x00\x1a\x49\x89\
"
+
def qInitResources():
QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
+
def qCleanupResources():
QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
diff --git a/gns3/ui/server_preferences_page_ui.py b/gns3/ui/server_preferences_page_ui.py
index 43ef5882..59bb23f8 100644
--- a/gns3/ui/server_preferences_page_ui.py
+++ b/gns3/ui/server_preferences_page_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_ServerPreferencesPageWidget(object):
+
def setupUi(self, ServerPreferencesPageWidget):
ServerPreferencesPageWidget.setObjectName(_fromUtf8("ServerPreferencesPageWidget"))
ServerPreferencesPageWidget.resize(433, 508)
@@ -149,4 +152,3 @@ class Ui_ServerPreferencesPageWidget(object):
self.uiTabWidget.setTabText(self.uiTabWidget.indexOf(self.uiRemoteTabWidget), _translate("ServerPreferencesPageWidget", "Remote servers", None))
self.uiTestSettingsPushButton.setText(_translate("ServerPreferencesPageWidget", "Test settings", None))
self.uiRestoreDefaultsPushButton.setText(_translate("ServerPreferencesPageWidget", "Restore defaults", None))
-
diff --git a/gns3/ui/snapshots_dialog_ui.py b/gns3/ui/snapshots_dialog_ui.py
index 1e316caa..eb633625 100644
--- a/gns3/ui/snapshots_dialog_ui.py
+++ b/gns3/ui/snapshots_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_SnapshotsDialog(object):
+
def setupUi(self, SnapshotsDialog):
SnapshotsDialog.setObjectName(_fromUtf8("SnapshotsDialog"))
SnapshotsDialog.setWindowModality(QtCore.Qt.WindowModal)
@@ -60,4 +63,3 @@ class Ui_SnapshotsDialog(object):
self.uiCreatePushButton.setText(_translate("SnapshotsDialog", "&Create", None))
self.uiRestorePushButton.setText(_translate("SnapshotsDialog", "&Restore", None))
self.uiDeletePushButton.setText(_translate("SnapshotsDialog", "&Delete", None))
-
diff --git a/gns3/ui/style_editor_dialog_ui.py b/gns3/ui/style_editor_dialog_ui.py
index 538832f9..0541467a 100644
--- a/gns3/ui/style_editor_dialog_ui.py
+++ b/gns3/ui/style_editor_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_StyleEditorDialog(object):
+
def setupUi(self, StyleEditorDialog):
StyleEditorDialog.setObjectName(_fromUtf8("StyleEditorDialog"))
StyleEditorDialog.resize(328, 252)
@@ -79,7 +82,7 @@ class Ui_StyleEditorDialog(object):
self.verticalLayout.addWidget(self.uiStyleSettingsGroupBox)
self.uiButtonBox = QtGui.QDialogButtonBox(StyleEditorDialog)
self.uiButtonBox.setOrientation(QtCore.Qt.Horizontal)
- self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok)
self.uiButtonBox.setObjectName(_fromUtf8("uiButtonBox"))
self.verticalLayout.addWidget(self.uiButtonBox)
spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
@@ -100,7 +103,7 @@ class Ui_StyleEditorDialog(object):
self.uiBorderStyleLabel.setText(_translate("StyleEditorDialog", "Border style:", None))
self.uiRotationLabel.setText(_translate("StyleEditorDialog", "Rotation:", None))
self.uiRotationSpinBox.setToolTip(_translate("StyleEditorDialog", "Rotation can be ajusted on the scene for a selected item while\n"
-"editing (notes only) with ALT and \'+\' (or P) / ALT and \'-\' (or M)", None))
+ "editing (notes only) with ALT and \'+\' (or P) / ALT and \'-\' (or M)", None))
self.uiRotationSpinBox.setSuffix(_translate("StyleEditorDialog", "°", None))
from . import resources_rc
diff --git a/gns3/ui/symbol_selection_dialog_ui.py b/gns3/ui/symbol_selection_dialog_ui.py
index 9d51943d..7a81c603 100644
--- a/gns3/ui/symbol_selection_dialog_ui.py
+++ b/gns3/ui/symbol_selection_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_SymbolSelectionDialog(object):
+
def setupUi(self, SymbolSelectionDialog):
SymbolSelectionDialog.setObjectName(_fromUtf8("SymbolSelectionDialog"))
SymbolSelectionDialog.resize(319, 389)
@@ -51,7 +54,7 @@ class Ui_SymbolSelectionDialog(object):
self.horizontalLayout.addItem(spacerItem)
self.uiButtonBox = QtGui.QDialogButtonBox(SymbolSelectionDialog)
self.uiButtonBox.setOrientation(QtCore.Qt.Horizontal)
- self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok)
self.uiButtonBox.setObjectName(_fromUtf8("uiButtonBox"))
self.horizontalLayout.addWidget(self.uiButtonBox)
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 2)
diff --git a/gns3/ui/text_editor_dialog_ui.py b/gns3/ui/text_editor_dialog_ui.py
index fe066269..aba10d99 100644
--- a/gns3/ui/text_editor_dialog_ui.py
+++ b/gns3/ui/text_editor_dialog_ui.py
@@ -17,13 +17,16 @@ except AttributeError:
try:
_encoding = QtGui.QApplication.UnicodeUTF8
+
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
+
class Ui_TextEditorDialog(object):
+
def setupUi(self, TextEditorDialog):
TextEditorDialog.setObjectName(_fromUtf8("TextEditorDialog"))
TextEditorDialog.resize(457, 333)
@@ -70,7 +73,7 @@ class Ui_TextEditorDialog(object):
self.horizontalLayout.addItem(spacerItem)
self.uiButtonBox = QtGui.QDialogButtonBox(TextEditorDialog)
self.uiButtonBox.setOrientation(QtCore.Qt.Horizontal)
- self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.uiButtonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply | QtGui.QDialogButtonBox.Cancel | QtGui.QDialogButtonBox.Ok)
self.uiButtonBox.setObjectName(_fromUtf8("uiButtonBox"))
self.horizontalLayout.addWidget(self.uiButtonBox)
self.verticalLayout.addLayout(self.horizontalLayout)
@@ -88,7 +91,7 @@ class Ui_TextEditorDialog(object):
self.uiColorLabel.setText(_translate("TextEditorDialog", "Color:", None))
self.uiRotationLabel.setText(_translate("TextEditorDialog", "Rotation:", None))
self.uiRotationSpinBox.setToolTip(_translate("TextEditorDialog", "Rotation can be ajusted on the scene for a selected item while\n"
-"editing (notes only) with ALT and \'+\' (or P) / ALT and \'-\' (or M)", None))
+ "editing (notes only) with ALT and \'+\' (or P) / ALT and \'-\' (or M)", None))
self.uiRotationSpinBox.setSuffix(_translate("TextEditorDialog", "°", None))
self.uiApplyTextToAllItemsCheckBox.setText(_translate("TextEditorDialog", "Apply the text below to all selected items", None))
self.uiFontPushButton.setText(_translate("TextEditorDialog", "&Select font", None))
diff --git a/gns3/utils/analytics.py b/gns3/utils/analytics.py
index 7adc290f..f2606b3d 100644
--- a/gns3/utils/analytics.py
+++ b/gns3/utils/analytics.py
@@ -27,6 +27,7 @@ from ..version import __version__
class AnalyticsClient(object):
+
"""
Google analytics client to send events.
"""
@@ -47,12 +48,12 @@ class AnalyticsClient(object):
self._visitor_id = self._generate_visitor_id()
url = "http://www.google-analytics.com/__utm.gif?utmwv=5.3.6&utmac={property}" \
- "&utmcc=__utma%3D999.999.999.999.999.1%3B&utmvid={visitor}&utmt=event&" \
- "utme=5%28{category}*{action}*{label}%29".format(property=self._property_id,
- visitor=self._visitor_id,
- category=quote(category),
- action=quote(action),
- label=quote(label))
+ "&utmcc=__utma%3D999.999.999.999.999.1%3B&utmvid={visitor}&utmt=event&" \
+ "utme=5%28{category}*{action}*{label}%29".format(property=self._property_id,
+ visitor=self._visitor_id,
+ category=quote(category),
+ action=quote(action),
+ label=quote(label))
if value is not None:
url += "%28{value}%29".format(value=value)
@@ -69,5 +70,3 @@ class AnalyticsClient(object):
if __name__ == '__main__':
client = AnalyticsClient()
client.send_event("Windows installer", "Install", __version__)
-
-
diff --git a/gns3/utils/choices_spinbox.py b/gns3/utils/choices_spinbox.py
index bbb33355..9bb5460e 100644
--- a/gns3/utils/choices_spinbox.py
+++ b/gns3/utils/choices_spinbox.py
@@ -3,9 +3,11 @@ from ..qt import QtGui
class ChoicesSpinBox(QtGui.QSpinBox):
+
"""
A custom QSpinBox that shows only values contained in `choices` iterable
"""
+
def __init__(self, choices, parent=None):
super(ChoicesSpinBox, self).__init__(parent)
@@ -18,7 +20,7 @@ class ChoicesSpinBox(QtGui.QSpinBox):
if idx < 0:
idx = 0
elif idx >= len(self._choices):
- idx = len(self._choices)-1
+ idx = len(self._choices) - 1
self._current_idx = idx
self.setValue(self._choices[idx])
@@ -29,11 +31,9 @@ class ChoicesSpinBox(QtGui.QSpinBox):
except ValueError:
if p_int > self.maximum():
p_int = self.maximum()
- self._current_idx = len(self._choices)-1
+ self._current_idx = len(self._choices) - 1
elif p_int < self.minimum():
p_int = self.minimum()
self._current_idx = 0
super(ChoicesSpinBox, self).setValue(p_int)
-
-
diff --git a/gns3/utils/file_copy_thread.py b/gns3/utils/file_copy_thread.py
index ec1ec245..94b84b3b 100644
--- a/gns3/utils/file_copy_thread.py
+++ b/gns3/utils/file_copy_thread.py
@@ -27,6 +27,7 @@ log = logging.getLogger(__name__)
class FileCopyThread(QtCore.QThread):
+
"""
Thread to copy a file.
diff --git a/gns3/utils/get_default_base_config.py b/gns3/utils/get_default_base_config.py
index 77d8a14b..5610d0cd 100644
--- a/gns3/utils/get_default_base_config.py
+++ b/gns3/utils/get_default_base_config.py
@@ -48,4 +48,4 @@ def get_default_base_config(base_config_template_path):
return base_config_path
except OSError as e:
log.error("could not copy {} to {}: {}".format(base_config_template_path, base_config_path, e))
- return ""
\ No newline at end of file
+ return ""
diff --git a/gns3/utils/process_files_thread.py b/gns3/utils/process_files_thread.py
index 511bb55e..c476b52b 100644
--- a/gns3/utils/process_files_thread.py
+++ b/gns3/utils/process_files_thread.py
@@ -28,6 +28,7 @@ log = logging.getLogger(__name__)
class ProcessFilesThread(QtCore.QThread):
+
"""
Thread to process files (copy or move).
diff --git a/gns3/utils/progress_dialog.py b/gns3/utils/progress_dialog.py
index 522534dc..4223c253 100644
--- a/gns3/utils/progress_dialog.py
+++ b/gns3/utils/progress_dialog.py
@@ -23,6 +23,7 @@ from ..qt import QtGui
class ProgressDialog(QtGui.QProgressDialog):
+
"""
Progress dialog implementation with thread support.
diff --git a/gns3/utils/run_in_terminal.py b/gns3/utils/run_in_terminal.py
index 613005de..f1b32da9 100644
--- a/gns3/utils/run_in_terminal.py
+++ b/gns3/utils/run_in_terminal.py
@@ -25,12 +25,12 @@ import tempfile
def RunInTerminal(command):
if sys.platform.startswith("win"):
- if not "ComSpec" in os.environ:
+ if "ComSpec" not in os.environ:
raise OSError("ComSpec environment variable is not set")
terminal_cmd = "{} /K cd %TEMP% && {}".format(os.environ['ComSpec'], command)
elif sys.platform.startswith('darwin'):
- terminal_cmd = "/usr/bin/osascript -e 'tell application \"terminal\" to do script with command \"{}; exit\"'".format(command)
- terminal_cmd = shlex.split(terminal_cmd)
+ terminal_cmd = "/usr/bin/osascript -e 'tell application \"terminal\" to do script with command \"{}; exit\"'".format(command)
+ terminal_cmd = shlex.split(terminal_cmd)
else:
terminal_cmd = None
for path in os.environ["PATH"].split(os.pathsep):
diff --git a/gns3/utils/wait_for_connection_thread.py b/gns3/utils/wait_for_connection_thread.py
index b8c1bb16..0aca36f0 100644
--- a/gns3/utils/wait_for_connection_thread.py
+++ b/gns3/utils/wait_for_connection_thread.py
@@ -25,6 +25,7 @@ from ..qt import QtCore
class WaitForConnectionThread(QtCore.QThread):
+
"""
Thread to wait for a connection.
diff --git a/old_tests/test_cloud_inspector.py b/old_tests/test_cloud_inspector.py
index 89bf8210..5129f318 100644
--- a/old_tests/test_cloud_inspector.py
+++ b/old_tests/test_cloud_inspector.py
@@ -30,6 +30,7 @@ def gen_fake_nodes(how_many):
class TestInstanceModel(BaseTest):
+
def setUp(self):
super(TestInstanceModel, self).setUp()
self.model = InstanceTableModel()
@@ -102,6 +103,7 @@ class TestInstanceModel(BaseTest):
class TestCloudInspectorView(GUIBaseTest):
+
def setUp(self):
super(TestCloudInspectorView, self).setUp()
self.view = CloudInspectorView(None)
@@ -154,7 +156,8 @@ class TestCloudInspectorView(GUIBaseTest):
qmenu.assert_called_with(self.view.uiInstancesTableView)
self.assertEqual(len(actions), 1)
- # TODO: Commented because the test create an infinite loop
+ #
+ # TODO: Commented because the test create an infinite loop
# def test_delete_instance(self):
# self.view._provider = mock.MagicMock()
# self.view._main_window = mock.MagicMock()
diff --git a/old_tests/test_cloud_integration.py b/old_tests/test_cloud_integration.py
index fb13aa15..2939d89b 100644
--- a/old_tests/test_cloud_integration.py
+++ b/old_tests/test_cloud_integration.py
@@ -32,7 +32,6 @@ from gns3.cloud.rackspace_ctrl import RackspaceCtrl
from gns3.cloud.exceptions import ItemNotFound, KeyPairExists
-
# custom flag to skip tests if rackspace credentials was not provided
rackspace_authentication = pytest.mark.rackspace_authentication
@@ -48,6 +47,7 @@ class StubObject(object):
@rackspace_authentication
@pytest.mark.usefixtures("username", "api_key", "run_instances")
class TestRackspaceCtrl(unittest.TestCase):
+
def setUp(self):
# prefix to identify created objects
self.object_prefix = "int_test_"
@@ -289,7 +289,6 @@ class TestRackspaceCtrl(unittest.TestCase):
self.ctrl.driver.wait_until_running([instance])
print("Instance up and running.")
-
print("Creating an image...")
gns3_image1 = self.ctrl.driver.ex_save_image(instance, 'gns3_3.0a', metadata=None)
# wait until image is active or gns3-ias will ignore it
diff --git a/old_tests/test_cloud_unit.py b/old_tests/test_cloud_unit.py
index 641cb6e3..a0619bf0 100644
--- a/old_tests/test_cloud_unit.py
+++ b/old_tests/test_cloud_unit.py
@@ -171,12 +171,13 @@ class MockLibCloudDriver(object):
class MockStorageObject(object):
- def __init__(self, name, data=None):
- self.name = name
- self.stream = [data].__iter__() if data else None
- def as_stream(self):
- return self.stream
+ def __init__(self, name, data=None):
+ self.name = name
+ self.stream = [data].__iter__() if data else None
+
+ def as_stream(self):
+ return self.stream
class TestRackspaceCtrl(unittest.TestCase):
diff --git a/old_tests/test_mainwindow.py b/old_tests/test_mainwindow.py
index a93a21b9..46a1f0c8 100644
--- a/old_tests/test_mainwindow.py
+++ b/old_tests/test_mainwindow.py
@@ -11,6 +11,7 @@ from gns3.main_window import CLOUD_SETTINGS_GROUP
class TestCloudPreferencesPage(TestCase):
+
def setUp(self):
self.app = QApplication(sys.argv)
self.app.setOrganizationName("GNS3")
diff --git a/old_tests/test_preferences_dlg.py b/old_tests/test_preferences_dlg.py
index 447ac602..08bb22d6 100644
--- a/old_tests/test_preferences_dlg.py
+++ b/old_tests/test_preferences_dlg.py
@@ -32,6 +32,7 @@ def make_setitem(container):
class TestPreferencesPage(TestCase):
+
def setUp(self):
self.app = QApplication(sys.argv)
self.dialog = PreferencesDialog(None)
@@ -52,6 +53,7 @@ class TestPreferencesPage(TestCase):
@mock.patch('gns3.pages.cloud_preferences_page.import_from_string')
class TestCloudPreferencesPage(TestCase):
+
def setUp(self):
self.app = QApplication(sys.argv)
self.app.setOrganizationName("GNS3")
@@ -89,6 +91,7 @@ class TestCloudPreferencesPage(TestCase):
self.assertFalse(self.page.uiForgetAPIKeyRadioButton.isChecked())
self.assertFalse(self.page.uiRememberAPIKeyRadioButton.isChecked())
# saving preferences without setting "store or not" radio button triggers a message box
+
def closeMsgBox():
self.assertIsInstance(self.app.activeModalWidget(), QtGui.QMessageBox)
self.app.activeModalWidget().close()
@@ -222,6 +225,7 @@ class TestCloudPreferencesPage(TestCase):
@pytest.mark.skipif(not pytest.config.getvalue("apikey"),
reason="--apikey was not specified")
class TestCloudPreferencesPageIntegration(TestCase):
+
def setUp(self):
self.app = QApplication(sys.argv)
self.page = CloudPreferencesPage()
@@ -240,4 +244,3 @@ class TestCloudPreferencesPageIntegration(TestCase):
region_labels.append(self.page.uiRegionComboBox.model().item(i, 0).text())
self.assertTrue(len(region_labels) > 1)
self.assertIn('ORD', region_labels)
-
diff --git a/old_tests/test_topology.py b/old_tests/test_topology.py
index 363d2a5c..94f6571a 100644
--- a/old_tests/test_topology.py
+++ b/old_tests/test_topology.py
@@ -6,6 +6,7 @@ from gns3.main_window import MainWindow
class TestTopology(TestCase):
+
def setUp(self):
self.t = Topology.instance()
diff --git a/scripts/pep8.sh b/scripts/pep8.sh
new file mode 100755
index 00000000..ea0694f5
--- /dev/null
+++ b/scripts/pep8.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+echo '
+ _______ ________ _______ ______
+| \ | \| \ / \
+| $$$$$$$\| $$$$$$$$| $$$$$$$\| $$$$$$\
+| $$__/ $$| $$__ | $$__/ $$| $$__/ $$
+| $$ $$| $$ \ | $$ $$ >$$ $$
+| $$$$$$$ | $$$$$ | $$$$$$$ | $$$$$$
+| $$ | $$_____ | $$ | $$__/ $$
+| $$ | $$ \| $$ \$$ $$
+ \$$ \$$$$$$$$ \$$ \$$$$$$
+
+'
+
+
+find . -name '*.py' -exec autopep8 --in-place -v --aggressive --aggressive \{\} \;
+
+echo "Its 'clean"
diff --git a/scripts/ssh_to_server.py b/scripts/ssh_to_server.py
index 4053e7e0..594c58e8 100644
--- a/scripts/ssh_to_server.py
+++ b/scripts/ssh_to_server.py
@@ -24,7 +24,6 @@ def parse_cmd_line(argv):
argv: Passed in sys.argv
"""
-
usage = """
USAGE: %s [-l] [-s ]
@@ -41,7 +40,7 @@ def parse_cmd_line(argv):
try:
opts, extra_opts = getopt.getopt(argv[1:], short_args, long_args)
except getopt.GetoptError as e:
- print("Unrecognized command line option or missing required argument: %s" %(e))
+ print("Unrecognized command line option or missing required argument: %s" % (e))
print(usage)
sys.exit(2)
@@ -104,7 +103,7 @@ def main():
instances = read_cloud_settings()
if options['action'] == 'ssh':
- name, host, private_key, public_key, uid = instances[int(options['server'])-1]
+ name, host, private_key, public_key, uid = instances[int(options['server']) - 1]
print('Instance name: {}'.format(name))
print('Host ip: {}'.format(host))
@@ -123,7 +122,7 @@ def main():
print('ID Name IP UID')
for idx, info in enumerate(instances):
name, host, private_key, public_key, uid = info
- print('{:2d} {} {} {}'.format(idx+1, name, host, uid))
+ print('{:2d} {} {} {}'.format(idx + 1, name, host, uid))
return 0
diff --git a/setup.py b/setup.py
index a414ac6e..f6a322eb 100644
--- a/setup.py
+++ b/setup.py
@@ -28,7 +28,7 @@ class Tox(TestCommand):
self.test_suite = True
def run_tests(self):
- #import here, cause outside the eggs aren't loaded
+ # import here, cause outside the eggs aren't loaded
import tox
errcode = tox.cmdline(self.test_args)
sys.exit(errcode)
@@ -54,8 +54,8 @@ setup(
entry_points={
"gui_scripts": [
"gns3 = gns3.main:main",
- ]
- },
+ ]
+ },
packages=find_packages(),
include_package_data=True,
package_data={"gns3": ["configs/*.txt"]},
@@ -73,5 +73,5 @@ setup(
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: Implementation :: CPython",
- ],
+ ],
)
diff --git a/tests/__init__.py b/tests/__init__.py
index dfbabe78..01eec652 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -19,6 +19,7 @@ def make_setitem(container):
class BaseTest(TestCase):
+
"""
Base class for all the tests
"""
@@ -26,9 +27,11 @@ class BaseTest(TestCase):
class GUIBaseTest(BaseTest):
+
"""
Base class implementing GUI boilerplates
"""
+
def setUp(self):
self.app = QApplication(sys.argv)
diff --git a/tests/modules/vpcs/test_vpcs_device.py b/tests/modules/vpcs/test_vpcs_device.py
index 8af366a4..121a1705 100644
--- a/tests/modules/vpcs/test_vpcs_device.py
+++ b/tests/modules/vpcs/test_vpcs_device.py
@@ -24,6 +24,7 @@ from gns3.modules.vpcs import VPCS
from gns3.ports.port import Port
from gns3.nios.nio_udp import NIOUDP
+
@pytest.fixture
def vpcs(local_server, project):
vpcs = VPCSDevice(VPCS(), local_server, project)
@@ -57,6 +58,7 @@ def test_vpcs_device_setup(vpcs):
assert vpcs.uuid == "aec7a00c-e71c-45a6-8c04-29e40732883c"
+
def test_vpcs_device_start(vpcs):
with patch('gns3.http_client.HTTPClient.post') as mock:
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 665ee360..47e426e8 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -9,6 +9,7 @@ import sys
class TestChoicesSpinBox(TestCase):
+
def setUp(self):
self.app = QApplication(sys.argv)
self.choices = [-1, 0, 1, 2, 3, 5, 8, 13]
diff --git a/tox.ini b/tox.ini
index 4aa5bed8..fb8d47e0 100644
--- a/tox.ini
+++ b/tox.ini
@@ -6,6 +6,9 @@ sitepackages=True
setenv = PYTHONPATH={toxinidir}
commands = py.test
+[pep8]
+ignore = E501
+
[pytest]
addopts = -s
python_paths = {toxinidir}