File size: 13,463 Bytes
bf3c3db
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
{
    "policy_class": {
        ":type:": "<class 'abc.ABCMeta'>",
        ":serialized:": "gAWVIwAAAAAAAACMCWFsZ29yaXRobZSMEUFjdG9yQ3JpdGljUG9saWN5lJOULg==",
        "__module__": "algorithm",
        "__init__": "<function ActorCriticPolicy.__init__ at 0x7fca1428e320>",
        "_get_constructor_parameters": "<function ActorCriticPolicy._get_constructor_parameters at 0x7fca1428e3b0>",
        "reset_noise": "<function ActorCriticPolicy.reset_noise at 0x7fca1428e440>",
        "_build": "<function ActorCriticPolicy._build at 0x7fca1428e4d0>",
        "forward": "<function ActorCriticPolicy.forward at 0x7fca1428e560>",
        "extract_features": "<function ActorCriticPolicy.extract_features at 0x7fca1428e5f0>",
        "_get_action_dist_from_latent": "<function ActorCriticPolicy._get_action_dist_from_latent at 0x7fca1428e680>",
        "_predict": "<function ActorCriticPolicy._predict at 0x7fca1428e710>",
        "evaluate_actions": "<function ActorCriticPolicy.evaluate_actions at 0x7fca1428e7a0>",
        "get_distribution": "<function ActorCriticPolicy.get_distribution at 0x7fca1428e830>",
        "predict_values": "<function ActorCriticPolicy.predict_values at 0x7fca1428e8c0>",
        "__doc__": null,
        "__abstractmethods__": "frozenset()",
        "_abc_impl": "<_abc._abc_data object at 0x7fca14295dc0>"
    },
    "verbose": 1,
    "policy_kwargs": {},
    "num_timesteps": 2015232,
    "_total_timesteps": 2000000,
    "_num_timesteps_at_start": 0,
    "seed": null,
    "action_noise": null,
    "start_time": 1700966632732650000,
    "learning_rate": 0.0003,
    "tensorboard_log": "./tensorboard",
    "_last_obs": null,
    "_last_episode_starts": {
        ":type:": "<class 'numpy.ndarray'>",
        ":serialized:": "gAWVgwAAAAAAAACMEm51bXB5LmNvcmUubnVtZXJpY5SMC19mcm9tYnVmZmVylJOUKJYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUjAVudW1weZSMBWR0eXBllJOUjAJiMZSJiIeUUpQoSwOMAXyUTk5OSv////9K/////0sAdJRiSxCFlIwBQ5R0lFKULg=="
    },
    "_last_original_obs": null,
    "_episode_num": 0,
    "use_sde": false,
    "sde_sample_freq": -1,
    "_current_progress_remaining": -0.007616000000000067,
    "_stats_window_size": 100,
    "ep_info_buffer": {
        ":type:": "<class 'collections.deque'>",
        ":serialized:": "gAWV4QsAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKUKH2UKIwBcpRHQHFBa7dznzSMAWyUS66MAXSUR0CKWBmvnr6ddX2UKGgGR0BwfBKDkELZaAdLomgIR0CKWH05lvqDdX2UKGgGR0BxGP9ZRsMzaAdLq2gIR0CKWPNCZ4OddX2UKGgGR0Bx/CPluFYdaAdLqmgIR0CKWYo9cKPXdX2UKGgGR0BzHLvphWo4aAdLwWgIR0CKWaEi+tbLdX2UKGgGR0Bzz9j6N2kjaAdLw2gIR0CKWiM+eOGTdX2UKGgGR0Bw3tUT+NtJaAdLuGgIR0CKWi9lmOENdX2UKGgGR0BwhrynUDuCaAdLm2gIR0CKWmOktVaPdX2UKGgGR0ByzdcgQpWnaAdLs2gIR0CKWoQ9RrJsdX2UKGgGR0Bv52xMWXTmaAdLnWgIR0CKWpyc0+C9dX2UKGgGR0BzNSjua4MGaAdLyGgIR0CKWpqptJnQdX2UKGgGR0ByDwl4TsY3aAdLzWgIR0CKa/4fwI+odX2UKGgGR0Bym5SeiBXkaAdLxmgIR0CKbDcYZVGTdX2UKGgGR0BxRwouwosqaAdLuGgIR0CKbE9Mbm2cdX2UKGgGR0BzIUlF+d9VaAdLvGgIR0CKbHFS88LbdX2UKGgGR0By4vyVfNRnaAdL7WgIR0CKbLvXK8tgdX2UKGgGR0Bz9ec3EQ5FaAdLw2gIR0CKbTKSxJNCdX2UKGgGR0Bz/if/WDpUaAdL4WgIR0CKbVVd5Y5ldX2UKGgGR0BxvqNJe3QVaAdLsWgIR0CKbd2EkB0ZdX2UKGgGR0BwT++/QBxQaAdLtGgIR0CKbgLR8c+8dX2UKGgGR0Bz1xie/YapaAdL2GgIR0CKbhXjENvwdX2UKGgGR0BwH+rHU+cIaAdLrGgIR0CKbl+85CF9dX2UKGgGR0ByD1m4AjptaAdLmWgIR0CKbmGmDUVjdX2UKGgGR0BzMLKfWcz7aAdLxGgIR0CKbw3QUpNLdX2UKGgGR0BzjtLteD3/aAdL0mgIR0CKbxnFHavidX2UKGgGR0ByUhOJtSAIaAdLwGgIR0CKby1n/T9bdX2UKGgGR0ByavxFy7wsaAdLy2gIR0CKb0pgkTpQdX2UKGgGR0Bv3eE4//vOaAdLqWgIR0CKb6ScslLOdX2UKGgGR0BzNRLUTcqOaAdLtmgIR0CKb7sD4gzQdX2UKGgGR0Bv9G7xusLfaAdLqGgIR0CKcACsfaHsdX2UKGgGR0BykdOVPepGaAdLx2gIR0CKcEUWVNYbdX2UKGgGR0BycnHJcPe6aAdLw2gIR0CKcE1sLv1EdX2UKGgGR0Bx/XzwtrbhaAdLsWgIR0CKcJVAiV0LdX2UKGgGR0By+kOiFj/daAdLrmgIR0CKcKXZXdTHdX2UKGgGR0Bxeker+5vtaAdLn2gIR0CKcQnKnvUjdX2UKGgGR0Bxn57laKUFaAdLsWgIR0CKcSq9XcQAdX2UKGgGR0BxIypT/ACXaAdLmWgIR0CKcTOryUcGdX2UKGgGR0BwSkWepXIVaAdLoGgIR0CKcVIYm9g4dX2UKGgGR0BxWq+lCTllaAdLvGgIR0CKcXaHsTnJdX2UKGgGR0Byn6rLhaTwaAdLoGgIR0CKcesQumJndX2UKGgGR0Bw/ExTKkmAaAdLmGgIR0CKcfgssg+ydX2UKGgGR0ByAVydWhh6aAdLoWgIR0CKcgOd5IH1dX2UKGgGR0ByBTqlgtvoaAdLwWgIR0CKcnld1MdtdX2UKGgGR0BwG5QN0/4ZaAdLqmgIR0CKcqx20Re1dX2UKGgGR0ByJ1ooNNJwaAdLq2gIR0CKcsn3ta6jdX2UKGgGR0BxMyqp97WvaAdLn2gIR0CKc2fOlfqpdX2UKGgGR0BxP3PE87p3aAdLtGgIR0CKc36GgzxgdX2UKGgGR0BxWoMvysjnaAdLtmgIR0CKc5BAv+OwdX2UKGgGR0Bxt7GXHBDYaAdLv2gIR0CKdBrLyMDPdX2UKGgGR0Bw/HKp1ie/aAdLpmgIR0CKdGnGbTc7dX2UKGgGR0B0dwqBmPHUaAdLuWgIR0CKdKdbxEv1dX2UKGgGR0BznGAYpDu0aAdL+mgIR0CKdKfseGO/dX2UKGgGR0ByJIyGi5/caAdLuWgIR0CKdLLU1AJLdX2UKGgGR0Bw/Py/bj95aAdLsmgIR0CKdOQHzH0cdX2UKGgGR0B0BWosI3R5aAdL5GgIR0CKdXUzbeuWdX2UKGgGR0Byq8it7rs0aAdLxWgIR0CKdfd0q6OHdX2UKGgGR0BzdSqn3ta7aAdLwmgIR0CKdgT6BRQ8dX2UKGgGR0B0MsrI5o4/aAdL1WgIR0CKdmGKQ7tBdX2UKGgGR0BzA/Gff4yoaAdLyWgIR0CKdrh3qzJIdX2UKGgGR0By0jg62fCiaAdL0GgIR0CKdxcxCY1HdX2UKGgGR0BzmcmF8G9paAdL0mgIR0CKd0NBnjABdX2UKGgGR0BwvZ+az/p/aAdLrmgIR0CKd2QarFOxdX2UKGgGR0B0JHibUgB+aAdLuGgIR0CKd4zJp35fdX2UKGgGR0BxX0Ti83+/aAdLj2gIR0CKd6ghbGFSdX2UKGgGR0ByEJL9MsYmaAdLzWgIR0CKd9/FR51OdX2UKGgGR0B0R/o2XLNfaAdLwWgIR0CKeFocrAgxdX2UKGgGR0Bx0CUaAFxGaAdLsGgIR0CKeIClJpWWdX2UKGgGR0BzmiOXE61caAdLvWgIR0CKeMp0fYBedX2UKGgGR0ByhSWu5jH5aAdLwmgIR0CKeNq1PWQPdX2UKGgGR0BxEKhpQDV6aAdLumgIR0CKeWn2qT8pdX2UKGgGR0BzVpItlI3BaAdL1GgIR0CKeXFWGRFJdX2UKGgGR0Bvg7urp7kXaAdLwWgIR0CKegCJXQt0dX2UKGgGR0ByP5sk6cRUaAdLt2gIR0CKejitJWeZdX2UKGgGR0BwG+z0HyEtaAdLzGgIR0CKelKg7HQydX2UKGgGR0BxnsQkHD77aAdLt2gIR0CKepT+ee4DdX2UKGgGR0ByTrjYI0IkaAdLuWgIR0CKezDVpbljdX2UKGgGR0Bvc3xYq5LAaAdLn2gIR0CKez3PAwfydX2UKGgGR0BwcKHRCx/vaAdLumgIR0CKe4HLzPKMdX2UKGgGR0By2H8AJb+taAdLxGgIR0CKe5aB7NSqdX2UKGgGR0BzSDIwM6RyaAdL2GgIR0CKe79F4LThdX2UKGgGR0BxF2p97WupaAdLt2gIR0CKfISHM2WIdX2UKGgGR0BzvdXfZVXFaAdL1mgIR0CKfRh4MWoFdX2UKGgGR0ByuInSfDk3aAdLp2gIR0CKfVJEpiI+dX2UKGgGR0BzQb4/NZ/1aAdLzGgIR0CKfXPj4pMIdX2UKGgGR0Bzg96dDpkgaAdL0GgIR0CKfaIrOJLvdX2UKGgGR0BxzZNh3JPqaAdLyWgIR0CKfiUO/cnFdX2UKGgGR0BzqPJLdvbXaAdNLAFoCEdAin5fKhcqv3V9lChoBkdAcjDVCXyAhGgHS6doCEdAin6Mr/bTMXV9lChoBkdAcYL0Mw1zhmgHS7toCEdAin63GGVRk3V9lChoBkdAcpaZg5R0l2gHS8toCEdAin7GsNlRQHV9lChoBkdAc1PeJHiFTWgHS9loCEdAin82vB7/oHV9lChoBkdAcEh2TPjXF2gHS7toCEdAin97rC3w1HV9lChoBkdAcQGj/uLJjmgHS6xoCEdAin+nlfZ26nV9lChoBkdAcx41XNke62gHS7NoCEdAin+oDPnjhnV9lChoBkdAcjzC9ytFKGgHS8JoCEdAin+uAZsKs3V9lChoBkdAcqMnCO3lS2gHS5loCEdAin/yLQ5WBHV9lChoBkdAdEaaQFLWZ2gHS9poCEdAioBi5VfeDXV9lChoBkdAciOU8FINE2gHS51oCEdAioDJWNm16XV9lChoBkdAcUfi0v4/NmgHS7FoCEdAioDuWa+ev3V9lChoBkdAc6SiUPhAGGgHS6poCEdAioDyxiXpn3VlLg=="
    },
    "ep_success_buffer": {
        ":type:": "<class 'collections.deque'>",
        ":serialized:": "gAWVIAAAAAAAAACMC2NvbGxlY3Rpb25zlIwFZGVxdWWUk5QpS2SGlFKULg=="
    },
    "_n_updates": 492,
    "observation_space": {
        ":type:": "<class 'gymnasium.spaces.box.Box'>",
        ":serialized:": "gAWVZgIAAAAAAACMFGd5bW5hc2l1bS5zcGFjZXMuYm94lIwDQm94lJOUKYGUfZQojAVkdHlwZZSMBW51bXB5lIwFZHR5cGWUk5SMAmY0lImIh5RSlChLA4wBPJROTk5K/////0r/////SwB0lGKMDWJvdW5kZWRfYmVsb3eUjBJudW1weS5jb3JlLm51bWVyaWOUjAtfZnJvbWJ1ZmZlcpSTlCiWCAAAAAAAAAABAQEBAQEBAZRoCIwCYjGUiYiHlFKUKEsDjAF8lE5OTkr/////Sv////9LAHSUYksIhZSMAUOUdJRSlIwNYm91bmRlZF9hYm92ZZRoESiWCAAAAAAAAAABAQEBAQEBAZRoFUsIhZRoGXSUUpSMBl9zaGFwZZRLCIWUjANsb3eUaBEoliAAAAAAAAAAAADAvwAAwL8AAKDAAACgwNsPScAAAKDAAAAAgAAAAICUaAtLCIWUaBl0lFKUjARoaWdolGgRKJYgAAAAAAAAAAAAwD8AAMA/AACgQAAAoEDbD0lAAACgQAAAgD8AAIA/lGgLSwiFlGgZdJRSlIwIbG93X3JlcHKUjFNbLTEuNSAgICAgICAtMS41ICAgICAgIC01LiAgICAgICAgLTUuICAgICAgICAtMy4xNDE1OTI3IC01LgogLTAuICAgICAgICAtMC4gICAgICAgXZSMCWhpZ2hfcmVwcpSMS1sxLjUgICAgICAgMS41ICAgICAgIDUuICAgICAgICA1LiAgICAgICAgMy4xNDE1OTI3IDUuICAgICAgICAxLgogMS4gICAgICAgXZSMCl9ucF9yYW5kb22UTnViLg==",
        "dtype": "float32",
        "bounded_below": "[ True  True  True  True  True  True  True  True]",
        "bounded_above": "[ True  True  True  True  True  True  True  True]",
        "_shape": [
            8
        ],
        "low": "[-1.5       -1.5       -5.        -5.        -3.1415927 -5.\n -0.        -0.       ]",
        "high": "[1.5       1.5       5.        5.        3.1415927 5.        1.\n 1.       ]",
        "low_repr": "[-1.5       -1.5       -5.        -5.        -3.1415927 -5.\n -0.        -0.       ]",
        "high_repr": "[1.5       1.5       5.        5.        3.1415927 5.        1.\n 1.       ]",
        "_np_random": null
    },
    "action_space": {
        ":type:": "<class 'gymnasium.spaces.discrete.Discrete'>",
        ":serialized:": "gAWV/QAAAAAAAACMGWd5bW5hc2l1bS5zcGFjZXMuZGlzY3JldGWUjAhEaXNjcmV0ZZSTlCmBlH2UKIwBbpSMFW51bXB5LmNvcmUubXVsdGlhcnJheZSMBnNjYWxhcpSTlIwFbnVtcHmUjAVkdHlwZZSTlIwCaTiUiYiHlFKUKEsDjAE8lE5OTkr/////Sv////9LAHSUYkMIBAAAAAAAAACUhpRSlIwFc3RhcnSUaAhoDkMIAAAAAAAAAACUhpRSlIwGX3NoYXBllCmMBWR0eXBllGgLjAJpOJSJiIeUUpQoSwNoD05OTkr/////Sv////9LAHSUYowKX25wX3JhbmRvbZROdWIu",
        "n": "4",
        "start": "0",
        "_shape": [],
        "dtype": "int64",
        "_np_random": null
    },
    "n_envs": 1,
    "n_steps": 1024,
    "gamma": 0.999,
    "gae_lambda": 0.98,
    "ent_coef": 0.01,
    "vf_coef": 0.5,
    "max_grad_norm": 0.5,
    "rollout_buffer_class": {
        ":type:": "<class 'abc.ABCMeta'>",
        ":serialized:": "gAWVNgAAAAAAAACMIHN0YWJsZV9iYXNlbGluZXMzLmNvbW1vbi5idWZmZXJzlIwNUm9sbG91dEJ1ZmZlcpSTlC4=",
        "__module__": "stable_baselines3.common.buffers",
        "__annotations__": "{'observations': <class 'numpy.ndarray'>, 'actions': <class 'numpy.ndarray'>, 'rewards': <class 'numpy.ndarray'>, 'advantages': <class 'numpy.ndarray'>, 'returns': <class 'numpy.ndarray'>, 'episode_starts': <class 'numpy.ndarray'>, 'log_probs': <class 'numpy.ndarray'>, 'values': <class 'numpy.ndarray'>}",
        "__doc__": "\n    Rollout buffer used in on-policy algorithms like A2C/PPO.\n    It corresponds to ``buffer_size`` transitions collected\n    using the current policy.\n    This experience will be discarded after the policy update.\n    In order to use PPO objective, we also store the current value of each state\n    and the log probability of each taken action.\n\n    The term rollout here refers to the model-free notion and should not\n    be used with the concept of rollout used in model-based RL or planning.\n    Hence, it is only involved in policy and value function training but not action selection.\n\n    :param buffer_size: Max number of element in the buffer\n    :param observation_space: Observation space\n    :param action_space: Action space\n    :param device: PyTorch device\n    :param gae_lambda: Factor for trade-off of bias vs variance for Generalized Advantage Estimator\n        Equivalent to classic advantage when set to 1.\n    :param gamma: Discount factor\n    :param n_envs: Number of parallel environments\n    ",
        "__init__": "<function RolloutBuffer.__init__ at 0x7fca13d55990>",
        "reset": "<function RolloutBuffer.reset at 0x7fca13d55a20>",
        "compute_returns_and_advantage": "<function RolloutBuffer.compute_returns_and_advantage at 0x7fca13d55ab0>",
        "add": "<function RolloutBuffer.add at 0x7fca13d55b40>",
        "get": "<function RolloutBuffer.get at 0x7fca13d55bd0>",
        "_get_samples": "<function RolloutBuffer._get_samples at 0x7fca13d55c60>",
        "__abstractmethods__": "frozenset()",
        "_abc_impl": "<_abc._abc_data object at 0x7fca13d52740>"
    },
    "rollout_buffer_kwargs": {},
    "batch_size": 64,
    "n_epochs": 4,
    "clip_range": {
        ":type:": "<class 'function'>",
        ":serialized:": "gAWV4gIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMZi9Vc2Vycy9uaWNrdmFza28vb3B0L2FuYWNvbmRhMy9lbnZzL2d5bS9saWIvcHl0aG9uMy4xMC9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4NDAgQBlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMZi9Vc2Vycy9uaWNrdmFza28vb3B0L2FuYWNvbmRhMy9lbnZzL2d5bS9saWIvcHl0aG9uMy4xMC9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlGgAjBJfZnVuY3Rpb25fc2V0c3RhdGWUk5RoH32UfZQoaBZoDYwMX19xdWFsbmFtZV9flIwZY29uc3RhbnRfZm4uPGxvY2Fscz4uZnVuY5SMD19fYW5ub3RhdGlvbnNfX5R9lIwOX19rd2RlZmF1bHRzX1+UTowMX19kZWZhdWx0c19flE6MCl9fbW9kdWxlX1+UaBeMB19fZG9jX1+UTowLX19jbG9zdXJlX1+UaACMCl9tYWtlX2NlbGyUk5RHP8mZmZmZmZqFlFKUhZSMF19jbG91ZHBpY2tsZV9zdWJtb2R1bGVzlF2UjAtfX2dsb2JhbHNfX5R9lHWGlIZSMC4="
    },
    "clip_range_vf": null,
    "normalize_advantage": true,
    "target_kl": null,
    "lr_schedule": {
        ":type:": "<class 'function'>",
        ":serialized:": "gAWV4gIAAAAAAACMF2Nsb3VkcGlja2xlLmNsb3VkcGlja2xllIwOX21ha2VfZnVuY3Rpb26Uk5QoaACMDV9idWlsdGluX3R5cGWUk5SMCENvZGVUeXBllIWUUpQoSwFLAEsASwFLAUsTQwSIAFMAlE6FlCmMAV+UhZSMZi9Vc2Vycy9uaWNrdmFza28vb3B0L2FuYWNvbmRhMy9lbnZzL2d5bS9saWIvcHl0aG9uMy4xMC9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZSMBGZ1bmOUS4NDAgQBlIwDdmFslIWUKXSUUpR9lCiMC19fcGFja2FnZV9flIwYc3RhYmxlX2Jhc2VsaW5lczMuY29tbW9ulIwIX19uYW1lX1+UjB5zdGFibGVfYmFzZWxpbmVzMy5jb21tb24udXRpbHOUjAhfX2ZpbGVfX5SMZi9Vc2Vycy9uaWNrdmFza28vb3B0L2FuYWNvbmRhMy9lbnZzL2d5bS9saWIvcHl0aG9uMy4xMC9zaXRlLXBhY2thZ2VzL3N0YWJsZV9iYXNlbGluZXMzL2NvbW1vbi91dGlscy5weZR1Tk5oAIwQX21ha2VfZW1wdHlfY2VsbJSTlClSlIWUdJRSlGgAjBJfZnVuY3Rpb25fc2V0c3RhdGWUk5RoH32UfZQoaBZoDYwMX19xdWFsbmFtZV9flIwZY29uc3RhbnRfZm4uPGxvY2Fscz4uZnVuY5SMD19fYW5ub3RhdGlvbnNfX5R9lIwOX19rd2RlZmF1bHRzX1+UTowMX19kZWZhdWx0c19flE6MCl9fbW9kdWxlX1+UaBeMB19fZG9jX1+UTowLX19jbG9zdXJlX1+UaACMCl9tYWtlX2NlbGyUk5RHPzOpKjBVMmGFlFKUhZSMF19jbG91ZHBpY2tsZV9zdWJtb2R1bGVzlF2UjAtfX2dsb2JhbHNfX5R9lHWGlIZSMC4="
    }
}