Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ ADD . /app
RUN pip install -r requirements.txt
RUN git clone https://github.com/sdgtt/telemetry.git
RUN cd telemetry && pip install -r requirements.txt && pip install . && cd ..
# Copy SSL certificates
# COPY cos_analog_com.crt ./ssl/cos_analog_com.crt
# COPY cos_analog_com.key ./ssl/cos_analog_com.key
COPY cert.crt ./ssl/cert.crt
COPY cert.key ./ssl/cert.key
RUN chmod u+x ./entrypoint.sh
ENTRYPOINT ["./entrypoint.sh"]
EXPOSE 5000
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ virtual environment of constellation
7. Once installed, run the in development mode.
export FLASK_ENV=development
export ES=192.168.10.12
flask run --host=0.0.0.0 --port=5002
flask run --host=0.0.0.0 --port=5000 --cert=./ssl/cert.crt --key=./ssl/cert.key
2 changes: 1 addition & 1 deletion app/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from flask.helpers import get_root_path
from dash import Dash
import dash_bootstrap_components as dbc
from flask_cors import CORS
from flask_cors import CORS, cross_origin


def create_app():
Expand Down
6 changes: 5 additions & 1 deletion app/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,17 @@
render_template,
request,
send_from_directory,
url_for,
url_for
)
from flask.helpers import get_root_path
from flask_cors import cross_origin,CORS


# from junit2htmlreport import parser

# app = Flask(__name__)
server_bp = Blueprint("constellation", __name__)
CORS(server_bp)

JENKINS_SERVER = (
"jenkinsci" if "JENKINS_SERVER" not in os.environ else os.environ["JENKINS_SERVER"]
Expand Down Expand Up @@ -91,6 +94,7 @@ def api(param=None):

@server_bp.route("api/board/<board_name>/")
@server_bp.route("api/board/<board_name>/<param>")
@cross_origin()
def board_api(board_name, param=None):
boot_test_filtered = []
jenkins_project_name = "HW_tests/HW_test_multiconfig"
Expand Down
2 changes: 0 additions & 2 deletions app/models/artifacts.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ def __init__(self, raw_artifact_result=None):
self.__initialize_fields()

def __initialize_fields(self):

fields = [
"archive_date",
"url",
Expand Down Expand Up @@ -47,7 +46,6 @@ def display(self):

class Artifacts:
def __init__(self, **filters):

self.db = DB(index_name="artifacts", keywords=Artifact.KEYWORDS)
db_res = self.db.search(sort="archive_date", **filters)
# create boards object from raw db_res
Expand Down
3 changes: 0 additions & 3 deletions app/models/boot_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@


class BootTest:

KEYWORDS = [
"boot_folder_name",
"hdl_branch",
Expand All @@ -20,7 +19,6 @@ def __init__(self, raw_boot_test_result=None):
self.__initialize_fields()

def __initialize_fields(self):

fields = [
"boot_folder_name",
"hdl_hash",
Expand Down Expand Up @@ -143,7 +141,6 @@ def __init__(
source_adjacency_matrix=None,
filters=None,
):

# if not boot_folder_name:
# raise ValueError('boot_folder_name must not be null or empty')

Expand Down
8 changes: 4 additions & 4 deletions app/models/score.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ def get_test_results(self): # noqa: C901
"pytest_skipped",
]:
if not ar.payload_param == "NA":
entry += "(" + ar.payload_param + ")"
entry += "(" + str(ar.payload_param) + ")"
if entry in report[bn][test]["data"]:
report[bn][test]["data"][entry].append(
details
Expand All @@ -194,9 +194,9 @@ def get_test_results(self): # noqa: C901
"drivers_missing",
"dmesg_warnings_found",
"dmesg_errors_found",
"pytest_errors",
"pytest_failures",
"pytest_skipped",
# "pytest_errors",
# "pytest_failures",
# "pytest_skipped",
]:
if isinstance(report[bn][test]["data"], list):
try:
Expand Down
7 changes: 1 addition & 6 deletions app/score_card/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,6 @@ def generate_header(data):


def generate_options(data):

options_div = html.Div(
children=[
html.H5("Project"),
Expand Down Expand Up @@ -421,7 +420,6 @@ def generate_options(data):


def generate_dash_table(data, target, groupby="item"):

latest_build = list(data["builds"].keys())[0]
label = " ".join([ele.title() for ele in target.split("_")])

Expand Down Expand Up @@ -476,7 +474,6 @@ def generate_dash_table(data, target, groupby="item"):


def generate_top_boot_failing(data):

tabs = dbc.Tabs(
[
dbc.Tab(
Expand Down Expand Up @@ -547,7 +544,7 @@ def generate_dmesg_errors(data):
dbc.Tab(
generate_dash_table(data, "dmesg_errors_found"),
tab_id="tab-2",
label="Dmeg Errors",
label="Dmesg Errors",
),
],
active_tab="tab-1",
Expand All @@ -567,7 +564,6 @@ def generate_dmesg_errors(data):


def generate_pytest_results(data):

tabs = dbc.Tabs(
[
dbc.Tab(
Expand Down Expand Up @@ -648,7 +644,6 @@ def generate_panel(data):


def report_tabs(data, active_tab="t_summary"):

tabs = dbc.Tabs(
[
dbc.Tab(
Expand Down
5 changes: 3 additions & 2 deletions app/utility.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ def url_gen(
if trigger_dict[0] == "auto":
trigger_project_name = trigger_dict[1].split("/")[0]
trigger_build_number = trigger_dict[2]
url_trigger = "http://{}/job/{}/{}/".format(
jenkins_server, trigger_project_name, trigger_build_number
trigger_job_name = trigger_dict[1].split("/")[1]
url_trigger = "http://{}/view/all/job/Triggers/job/{}/{}/{}".format(
jenkins_server, trigger_project_name,trigger_job_name,trigger_build_number
)
else:
url_trigger = trigger
Expand Down
3 changes: 2 additions & 1 deletion entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
#!/usr/bin/env bash
flask run --host=0.0.0.0
flask run --host=0.0.0.0 --port=5000 --cert=./ssl/cert.crt --key=./ssl/cert.key
# flask run --host=0.0.0.0 --port=5000 --cert=./ssl/cos_analog_com.crt --key=./ssl/cos_analog_com.key
36 changes: 36 additions & 0 deletions ssl/cert.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
-----BEGIN CERTIFICATE-----
MIIGSDCCBDCgAwIBAgITYADM7k8s1bJFmzv3DQAAAMzuTzANBgkqhkiG9w0BAQsF
ADB4MRMwEQYKCZImiZPyLGQBGRYDY29tMRYwFAYKCZImiZPyLGQBGRYGYW5hbG9n
MRIwEAYKCZImiZPyLGQBGRYCYWQxNTAzBgNVBAMTLEFuYWxvZyBTSEEyIEVudGVy
cHJpc2UgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTI0MTIwNDEyMTIzMVoXDTI1
MTIwNDEyMTIzMVoweDELMAkGA1UEBhMCUEgxDzANBgNVBAgTBkNhdml0ZTEWMBQG
A1UEBxMNR2VuZXJhbCBUcmlhczEdMBsGA1UEChMUQW5hbG9nIERldmljZXMsIElu
Yy4xITAfBgNVBAMTGGFkZ3RzZWNhZDEuYWQuYW5hbG9nLmNvbTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBALEdB7Rs30zJwd+ywIGUV6V+M0xmMGHs2tXS
qoLfcPtuaddRGbQeVxHbEENkJh72NiDgx9h8JcYTaQ2LNcErtl+4BakFpkpVmdk7
uTGsg71acSvDQmPhaorsqjQv4NuhBapl+ng2nK8r4RuJy61asOCovHqQfxSfpZOr
Qr+6khdO8Gz7MjSHY37hvcoKogo5vnsEefLVxDg9ZxJRoa3Y6cFWp5ZL+bda0s5f
ldkPEuZt/4pEtfAICQjAYXZXrFbIMyJ90V41Ldq5XHSTuvqEXaKXYw+ZSo1BFcQX
zwweM3VnPn05O0VM/vlZFGMSrsLny1RYnPNAjZyZvjYlzQgg40cCAwEAAaOCAckw
ggHFMBwGA1UdEQQVMBOCEWNvcy5hZC5hbmFsb2cuY29tMB0GA1UdDgQWBBSQJJHy
Q67iCqSEsZEkVJqBgugvQzAfBgNVHSMEGDAWgBQ9WhDmqMRx2Ym0IuBzzmSfn8Ua
mzA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8vcGtpLmFkLmFuYWxvZy5jb20vcGtp
L0FOQUxPRy1FQ0EuY3JsMIGoBggrBgEFBQcBAQSBmzCBmDBrBggrBgEFBQcwAoZf
aHR0cDovL3BraS5hZC5hbmFsb2cuY29tL3BraS9BTkFMT0ctRUNBQW5hbG9nJTIw
U0hBMiUyMEVudGVycHJpc2UlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eS5jcnQw
KQYIKwYBBQUHMAGGHWh0dHA6Ly9wa2kuYWQuYW5hbG9nLmNvbS9vY3NwMAsGA1Ud
DwQEAwIFoDA9BgkrBgEEAYI3FQcEMDAuBiYrBgEEAYI3FQiBor5hhtuiNumdHobF
1xKBybIugQGEvMpthObkdgIBZAIBDjATBgNVHSUEDDAKBggrBgEFBQcDATAbBgkr
BgEEAYI3FQoEDjAMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4ICAQCNtPnP
Xf4liCjaEh/Opdj1qzG7371vSSFpVdX63Njj06qtZwG2mMOx9efkvYJC2GIDn3Yn
SbwnPZo/JDoviYjTqsE0MpJUbq9XFwpBTKD6iLNWelbrmlcUztmXOGrCvAUYhRmC
1RmVCqcThdj1+J1LdIEGUT1rq6MW0X90DQ0EngAxuEgPP+xebDY6aZu9tN82PD0k
jqox6yTDw5sZeKKH14QkQaZVx/qKw744v70lvwaTfkOXQveR2S2kbOSqW8GP8vrj
AsGL2ZHR4bOoRNS2tsu2mfcTGhjDXDFpAsG2oAgV7a87/QzAgD6oW4Af7l2i3xb5
zLcrsS7iqb7ASAtolHhyqrWPtaZCQDoR3bT0o5YJIdmip0BBQy4MBIdrsZmBjAd6
/R5Jc5t2YTDm0nSU7BYHYrthP+WIIgJtZyU0k53TCoQqjS1tSKwfUlRF2ZXLIeCU
3x+U4no5G9DVxWTMhnqLx7WzIkLkPCrxaGCumN5L69y6d60U0qtdPxurXJokT6d0
3HkUrMSi3SIbhLichSr8Q5XWlgvDSsykpvdHUNfrvAOOZINOZg+m33yiHcQ7u+OI
nE7u5uJ8AjkSoA2k/zXZtLHlG4oGmXcgjndbqcudo7o9LxodO3V/S3o4/m2LwAh8
rshBGgsCRVmAf5wSkWItcieRncM/3ABUu685gA==
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions ssl/cert.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxHQe0bN9MycHf
ssCBlFelfjNMZjBh7NrV0qqC33D7bmnXURm0HlcR2xBDZCYe9jYg4MfYfCXGE2kN
izXBK7ZfuAWpBaZKVZnZO7kxrIO9WnErw0Jj4WqK7Ko0L+DboQWqZfp4NpyvK+Eb
icutWrDgqLx6kH8Un6WTq0K/upIXTvBs+zI0h2N+4b3KCqIKOb57BHny1cQ4PWcS
UaGt2OnBVqeWS/m3WtLOX5XZDxLmbf+KRLXwCAkIwGF2V6xWyDMifdFeNS3auVx0
k7r6hF2il2MPmUqNQRXEF88MHjN1Zz59OTtFTP75WRRjEq7C58tUWJzzQI2cmb42
Jc0IIONHAgMBAAECggEATY9sbdcVjH93/rm9MqGfJjJXTZgcjO2XwXZhRDGMPRcT
k36I9oco0wFvJEvpo7pnZst4yLVJJ24dnZg+YIr/cPhZxjRap4fH+Uj9pyKoiFXg
ZG08GBhBO3g7auIioptnq0DASD+GKvHYwOH9hztFZQSPkU7Qz9u/uySO9P5Ddp/Y
PxQ1IFAxrb6IvruN2/ICzyr8IcWeiOv0Ass4+jEVGdrPU+lKQxBsIEFzTOd4zPBa
7DRGAiFHmNpRv4d3PmZXIwV6OsOVF6f6urYXOWMF3Rym8bQ5Jy33Z9Q6en4TEZS2
QbC6LTo7XvMnwCus13NJ7R2mcP6kWUD+vjCUqjJNvQKBgQDplAqydB3KHS5NoFxg
hYBNkaiynZwGzfAAmHpTIwGY1/a6fbEW0SI8dGHVHys7DtbP+opv30A850dyLelg
q14RNpJwuemV5XQFolWf4c2HMgNats0fdZot1gruM/qPOnrEx0k4IfngBIwPQcXm
94xRgkV4exPkGt+/ZzQ6eHg/FQKBgQDCHWs4AfsNr5IeFTlzs9UHRSyP9IV7QnPI
olFn8V8lv4uLHLq/QHMniV1f+fpXkG8okCrcOLQxkWftg39NuhLpihRIT26TIDKi
iFwWKx5TUHdPRW0dC1LNh0k7m6JgZqbPwi0LUEcmPgZo3cfQahjF6MDT+nbEPa+h
XFKwwwnP6wKBgAyhjNKJpPLBETfxbA1sKrwHHHBMRZu4lznxBOxqADQbuaPsGB97
v7Y1NPUpclUHQGaOzd2u3PJuL1blVLF9kuCras/dvdv1RIjpdmfm9g5RjgzhxcXl
viisYnrvJKWKLAloHXWDoNeUZ16L1//dcyEVQlx5i2HScjcPhauDyDzhAoGBAI1D
NXy7zESoaVBlJ7swuq2gxI46Z01NDc+LeGyJNjHVVCq3jJuTvnmeOIqY83r3zD0b
tWUwCsorxBMP5/vbltnHt3zr+U8uVkr7qvAjDt2YqErS/lXtoKObeUrctu0qpuh4
qakbEbwd1TJJe5kLLN4RxQo+smGbdo2aDz89oI1jAoGBAMsb9SKsS5gDfptkJ/bE
+40qkzGZC5C5Bza55hzgzJZZdgygCYBD5JhovwD/adFEDNUUyYqaRTvNP+/03QYr
AKlrySB7Fk79HlQf38McbmsJOd+9vytW1uwSPGQcqu0wrPQxmNLJMfZN8hkvJXQW
Oly/6TeqYav+EBmD+ECE8vMM
-----END PRIVATE KEY-----
36 changes: 36 additions & 0 deletions ssl/cos_analog_com.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
-----BEGIN CERTIFICATE-----
MIIGSDCCBDCgAwIBAgITYADM7k8s1bJFmzv3DQAAAMzuTzANBgkqhkiG9w0BAQsF
ADB4MRMwEQYKCZImiZPyLGQBGRYDY29tMRYwFAYKCZImiZPyLGQBGRYGYW5hbG9n
MRIwEAYKCZImiZPyLGQBGRYCYWQxNTAzBgNVBAMTLEFuYWxvZyBTSEEyIEVudGVy
cHJpc2UgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTI0MTIwNDEyMTIzMVoXDTI1
MTIwNDEyMTIzMVoweDELMAkGA1UEBhMCUEgxDzANBgNVBAgTBkNhdml0ZTEWMBQG
A1UEBxMNR2VuZXJhbCBUcmlhczEdMBsGA1UEChMUQW5hbG9nIERldmljZXMsIElu
Yy4xITAfBgNVBAMTGGFkZ3RzZWNhZDEuYWQuYW5hbG9nLmNvbTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBALEdB7Rs30zJwd+ywIGUV6V+M0xmMGHs2tXS
qoLfcPtuaddRGbQeVxHbEENkJh72NiDgx9h8JcYTaQ2LNcErtl+4BakFpkpVmdk7
uTGsg71acSvDQmPhaorsqjQv4NuhBapl+ng2nK8r4RuJy61asOCovHqQfxSfpZOr
Qr+6khdO8Gz7MjSHY37hvcoKogo5vnsEefLVxDg9ZxJRoa3Y6cFWp5ZL+bda0s5f
ldkPEuZt/4pEtfAICQjAYXZXrFbIMyJ90V41Ldq5XHSTuvqEXaKXYw+ZSo1BFcQX
zwweM3VnPn05O0VM/vlZFGMSrsLny1RYnPNAjZyZvjYlzQgg40cCAwEAAaOCAckw
ggHFMBwGA1UdEQQVMBOCEWNvcy5hZC5hbmFsb2cuY29tMB0GA1UdDgQWBBSQJJHy
Q67iCqSEsZEkVJqBgugvQzAfBgNVHSMEGDAWgBQ9WhDmqMRx2Ym0IuBzzmSfn8Ua
mzA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8vcGtpLmFkLmFuYWxvZy5jb20vcGtp
L0FOQUxPRy1FQ0EuY3JsMIGoBggrBgEFBQcBAQSBmzCBmDBrBggrBgEFBQcwAoZf
aHR0cDovL3BraS5hZC5hbmFsb2cuY29tL3BraS9BTkFMT0ctRUNBQW5hbG9nJTIw
U0hBMiUyMEVudGVycHJpc2UlMjBDZXJ0aWZpY2F0ZSUyMEF1dGhvcml0eS5jcnQw
KQYIKwYBBQUHMAGGHWh0dHA6Ly9wa2kuYWQuYW5hbG9nLmNvbS9vY3NwMAsGA1Ud
DwQEAwIFoDA9BgkrBgEEAYI3FQcEMDAuBiYrBgEEAYI3FQiBor5hhtuiNumdHobF
1xKBybIugQGEvMpthObkdgIBZAIBDjATBgNVHSUEDDAKBggrBgEFBQcDATAbBgkr
BgEEAYI3FQoEDjAMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4ICAQCNtPnP
Xf4liCjaEh/Opdj1qzG7371vSSFpVdX63Njj06qtZwG2mMOx9efkvYJC2GIDn3Yn
SbwnPZo/JDoviYjTqsE0MpJUbq9XFwpBTKD6iLNWelbrmlcUztmXOGrCvAUYhRmC
1RmVCqcThdj1+J1LdIEGUT1rq6MW0X90DQ0EngAxuEgPP+xebDY6aZu9tN82PD0k
jqox6yTDw5sZeKKH14QkQaZVx/qKw744v70lvwaTfkOXQveR2S2kbOSqW8GP8vrj
AsGL2ZHR4bOoRNS2tsu2mfcTGhjDXDFpAsG2oAgV7a87/QzAgD6oW4Af7l2i3xb5
zLcrsS7iqb7ASAtolHhyqrWPtaZCQDoR3bT0o5YJIdmip0BBQy4MBIdrsZmBjAd6
/R5Jc5t2YTDm0nSU7BYHYrthP+WIIgJtZyU0k53TCoQqjS1tSKwfUlRF2ZXLIeCU
3x+U4no5G9DVxWTMhnqLx7WzIkLkPCrxaGCumN5L69y6d60U0qtdPxurXJokT6d0
3HkUrMSi3SIbhLichSr8Q5XWlgvDSsykpvdHUNfrvAOOZINOZg+m33yiHcQ7u+OI
nE7u5uJ8AjkSoA2k/zXZtLHlG4oGmXcgjndbqcudo7o9LxodO3V/S3o4/m2LwAh8
rshBGgsCRVmAf5wSkWItcieRncM/3ABUu685gA==
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions ssl/cos_analog_com.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxHQe0bN9MycHf
ssCBlFelfjNMZjBh7NrV0qqC33D7bmnXURm0HlcR2xBDZCYe9jYg4MfYfCXGE2kN
izXBK7ZfuAWpBaZKVZnZO7kxrIO9WnErw0Jj4WqK7Ko0L+DboQWqZfp4NpyvK+Eb
icutWrDgqLx6kH8Un6WTq0K/upIXTvBs+zI0h2N+4b3KCqIKOb57BHny1cQ4PWcS
UaGt2OnBVqeWS/m3WtLOX5XZDxLmbf+KRLXwCAkIwGF2V6xWyDMifdFeNS3auVx0
k7r6hF2il2MPmUqNQRXEF88MHjN1Zz59OTtFTP75WRRjEq7C58tUWJzzQI2cmb42
Jc0IIONHAgMBAAECggEATY9sbdcVjH93/rm9MqGfJjJXTZgcjO2XwXZhRDGMPRcT
k36I9oco0wFvJEvpo7pnZst4yLVJJ24dnZg+YIr/cPhZxjRap4fH+Uj9pyKoiFXg
ZG08GBhBO3g7auIioptnq0DASD+GKvHYwOH9hztFZQSPkU7Qz9u/uySO9P5Ddp/Y
PxQ1IFAxrb6IvruN2/ICzyr8IcWeiOv0Ass4+jEVGdrPU+lKQxBsIEFzTOd4zPBa
7DRGAiFHmNpRv4d3PmZXIwV6OsOVF6f6urYXOWMF3Rym8bQ5Jy33Z9Q6en4TEZS2
QbC6LTo7XvMnwCus13NJ7R2mcP6kWUD+vjCUqjJNvQKBgQDplAqydB3KHS5NoFxg
hYBNkaiynZwGzfAAmHpTIwGY1/a6fbEW0SI8dGHVHys7DtbP+opv30A850dyLelg
q14RNpJwuemV5XQFolWf4c2HMgNats0fdZot1gruM/qPOnrEx0k4IfngBIwPQcXm
94xRgkV4exPkGt+/ZzQ6eHg/FQKBgQDCHWs4AfsNr5IeFTlzs9UHRSyP9IV7QnPI
olFn8V8lv4uLHLq/QHMniV1f+fpXkG8okCrcOLQxkWftg39NuhLpihRIT26TIDKi
iFwWKx5TUHdPRW0dC1LNh0k7m6JgZqbPwi0LUEcmPgZo3cfQahjF6MDT+nbEPa+h
XFKwwwnP6wKBgAyhjNKJpPLBETfxbA1sKrwHHHBMRZu4lznxBOxqADQbuaPsGB97
v7Y1NPUpclUHQGaOzd2u3PJuL1blVLF9kuCras/dvdv1RIjpdmfm9g5RjgzhxcXl
viisYnrvJKWKLAloHXWDoNeUZ16L1//dcyEVQlx5i2HScjcPhauDyDzhAoGBAI1D
NXy7zESoaVBlJ7swuq2gxI46Z01NDc+LeGyJNjHVVCq3jJuTvnmeOIqY83r3zD0b
tWUwCsorxBMP5/vbltnHt3zr+U8uVkr7qvAjDt2YqErS/lXtoKObeUrctu0qpuh4
qakbEbwd1TJJe5kLLN4RxQo+smGbdo2aDz89oI1jAoGBAMsb9SKsS5gDfptkJ/bE
+40qkzGZC5C5Bza55hzgzJZZdgygCYBD5JhovwD/adFEDNUUyYqaRTvNP+/03QYr
AKlrySB7Fk79HlQf38McbmsJOd+9vytW1uwSPGQcqu0wrPQxmNLJMfZN8hkvJXQW
Oly/6TeqYav+EBmD+ECE8vMM
-----END PRIVATE KEY-----
Loading