{"action":"created","comment":{"url":"https://api.github.com/repos/ros2/rosidl/pulls/comments/233139785","pull_request_review_id":174484790,"id":233139785,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMzEzOTc4NQ==","diff_hunk":"@@ -0,0 +1,149 @@\n+# Copyright 2018 Open Source Robotics Foundation, Inc.\n+#\n+# Licensed under the Apache License, Version 2.0 (the \"License\");\n+# you may not use this file except in compliance with the License.\n+# You may obtain a copy of the License at\n+#\n+#     http://www.apache.org/licenses/LICENSE-2.0\n+#\n+# Unless required by applicable law or agreed to in writing, software\n+# distributed under the License is distributed on an \"AS IS\" BASIS,\n+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+# See the License for the specific language governing permissions and\n+# limitations under the License.\n+\n+set(_output_path\n+  \"${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_c/${PROJECT_NAME}\")\n+set(_generated_files \"\")\n+\n+foreach(_idl_file ${rosidl_generate_action_interfaces_IDL_FILES})\n+  get_filename_component(_extension \"${_idl_file}\" EXT)\n+  get_filename_component(_parent_folder \"${_idl_file}\" DIRECTORY)\n+  get_filename_component(_parent_folder \"${_parent_folder}\" NAME)\n+  if(_extension STREQUAL \".action\")\n+    set(_allowed_parent_folders \"action\")\n+    if(NOT _parent_folder IN_LIST _allowed_parent_folders)\n+      message(FATAL_ERROR \"Interface file with unknown parent folder: ${_idl_file}\")\n+    endif()\n+  else()\n+    message(FATAL_ERROR \"Interface file with unknown extension: ${_idl_file}\")\n+  endif()\n+  get_filename_component(_msg_name \"${_idl_file}\" NAME_WE)\n+  string_camel_case_to_lower_case_underscore(\"${_msg_name}\" _header_name)\n+  list(APPEND _generated_files\n+    \"${_output_path}/${_parent_folder}/${_header_name}.h\"\n+    \"${_output_path}/${_parent_folder}/${_header_name}__type_support.h\"\n+  )\n+endforeach()\n+\n+set(_dependency_files \"\")\n+set(_dependencies \"\")\n+foreach(_pkg_name ${rosidl_generate_action_interfaces_DEPENDENCY_PACKAGE_NAMES})\n+  foreach(_idl_file ${${_pkg_name}_INTERFACE_FILES})\n+  get_filename_component(_extension \"${_idl_file}\" EXT)\n+  if(_extension STREQUAL \".msg\")\n+    set(_abs_idl_file \"${${_pkg_name}_DIR}/../${_idl_file}\")\n+    normalize_path(_abs_idl_file \"${_abs_idl_file}\")\n+    list(APPEND _dependency_files \"${_abs_idl_file}\")\n+    list(APPEND _dependencies \"${_pkg_name}:${_abs_idl_file}\")\n+  endif()\n+  endforeach()\n+endforeach()\n+\n+set(target_dependencies\n+  \"${rosidl_generator_c_BIN}\"\n+  ${rosidl_generator_c_GENERATOR_FILES}\n+  \"${rosidl_generator_c_TEMPLATE_DIR}/action.h.em\"\n+  \"${rosidl_generator_c_TEMPLATE_DIR}/action__type_support.h.em\"\n+  ${rosidl_generate_action_interfaces_IDL_FILES}\n+  ${_dependency_files})\n+foreach(dep ${target_dependencies})\n+  if(NOT EXISTS \"${dep}\")\n+    get_property(is_generated SOURCE \"${dep}\" PROPERTY GENERATED)\n+    if(NOT ${_is_generated})\n+      message(FATAL_ERROR \"Target dependency '${dep}' does not exist\")\n+    endif()\n+  endif()\n+endforeach()\n+\n+set(generator_arguments_file \"${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_c__generate_action_interfaces__arguments.json\")\n+rosidl_write_generator_arguments(\n+  \"${generator_arguments_file}\"\n+  PACKAGE_NAME \"${PROJECT_NAME}\"\n+  ROS_INTERFACE_FILES \"${rosidl_generate_action_interfaces_IDL_FILES}\"\n+  ROS_INTERFACE_DEPENDENCIES \"${_dependencies}\"\n+  OUTPUT_DIR \"${_output_path}\"\n+  TEMPLATE_DIR \"${rosidl_generator_c_TEMPLATE_DIR}\"\n+  TARGET_DEPENDENCIES ${target_dependencies}\n+)\n+\n+add_custom_command(\n+  OUTPUT ${_generated_files}\n+  COMMAND ${PYTHON_EXECUTABLE} ${rosidl_generator_c_BIN}\n+  --generator-arguments-file \"${generator_arguments_file}\"\n+  DEPENDS ${target_dependencies}\n+  COMMENT \"Generating C++ type support dispatch for ROS interfaces\"\n+  VERBATIM\n+)\n+\n+# generate header to switch between export and import for a specific package\n+set(_visibility_control_file\n+  \"${_output_path}/action/rosidl_generator_c__visibility_control.h\")\n+string(TOUPPER \"${PROJECT_NAME}\" PROJECT_NAME_UPPER)\n+configure_file(\n+  \"${rosidl_generator_c_TEMPLATE_DIR}/rosidl_generator_c__action_visibility_control.h.in\"\n+  \"${_visibility_control_file}\"\n+  @ONLY\n+)","path":"rosidl_generator_c/cmake/rosidl_generator_c_generate_action_interfaces.cmake","position":97,"original_position":97,"commit_id":"2467acf62fe967bf1688a3c5c95f6737833de3c6","original_commit_id":"cc60f0e317ef245264761e370e182404a45d8b17","user":{"login":"sloretz","id":4175662,"node_id":"MDQ6VXNlcjQxNzU2NjI=","avatar_url":"https://avatars1.githubusercontent.com/u/4175662?v=4","gravatar_id":"","url":"https://api.github.com/users/sloretz","html_url":"https://github.com/sloretz","followers_url":"https://api.github.com/users/sloretz/followers","following_url":"https://api.github.com/users/sloretz/following{/other_user}","gists_url":"https://api.github.com/users/sloretz/gists{/gist_id}","starred_url":"https://api.github.com/users/sloretz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sloretz/subscriptions","organizations_url":"https://api.github.com/users/sloretz/orgs","repos_url":"https://api.github.com/users/sloretz/repos","events_url":"https://api.github.com/users/sloretz/events{/privacy}","received_events_url":"https://api.github.com/users/sloretz/received_events","type":"User","site_admin":false},"body":"Installed visibility file in db68926c78de370b35d322c25197f551fbc7a21a","created_at":"2018-11-13T17:13:01Z","updated_at":"2018-11-13T17:13:01Z","html_url":"https://github.com/ros2/rosidl/pull/312#discussion_r233139785","pull_request_url":"https://api.github.com/repos/ros2/rosidl/pulls/312","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/ros2/rosidl/pulls/comments/233139785"},"html":{"href":"https://github.com/ros2/rosidl/pull/312#discussion_r233139785"},"pull_request":{"href":"https://api.github.com/repos/ros2/rosidl/pulls/312"}},"in_reply_to_id":233079548},"pull_request":{"url":"https://api.github.com/repos/ros2/rosidl/pulls/312","id":227969641,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI3OTY5NjQx","html_url":"https://github.com/ros2/rosidl/pull/312","diff_url":"https://github.com/ros2/rosidl/pull/312.diff","patch_url":"https://github.com/ros2/rosidl/pull/312.patch","issue_url":"https://api.github.com/repos/ros2/rosidl/issues/312","number":312,"state":"open","locked":false,"title":"Add rosidl_generator_cpp templates for actions","user":{"login":"apojomovsky","id":5348967,"node_id":"MDQ6VXNlcjUzNDg5Njc=","avatar_url":"https://avatars1.githubusercontent.com/u/5348967?v=4","gravatar_id":"","url":"https://api.github.com/users/apojomovsky","html_url":"https://github.com/apojomovsky","followers_url":"https://api.github.com/users/apojomovsky/followers","following_url":"https://api.github.com/users/apojomovsky/following{/other_user}","gists_url":"https://api.github.com/users/apojomovsky/gists{/gist_id}","starred_url":"https://api.github.com/users/apojomovsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apojomovsky/subscriptions","organizations_url":"https://api.github.com/users/apojomovsky/orgs","repos_url":"https://api.github.com/users/apojomovsky/repos","events_url":"https://api.github.com/users/apojomovsky/events{/privacy}","received_events_url":"https://api.github.com/users/apojomovsky/received_events","type":"User","site_admin":false},"body":"Addresses parts of #303 \r\nBuilt on top of [sloretz/speficication-to-str](https://github.com/ros2/rosidl/tree/sloretz/speficication-to-str) which is in turn based on [sservulo/305-parse_action_file](https://github.com/ros2/rosidl/tree/sservulo/305-parse_action_file)\r\nThis PR:\r\n- Defines the `action__struct.hpp.em` and `action.hpp.em` in the `rosidl_generator_cpp`'s resource directory.\r\n- Defines the `action__struct.h.em` and `action.h.em` in the `rosidl_generator_c`'s resource directory.\r\n- Extends the `rosidl_generator_cpp` and `rosidl_generator_c` logic to process `.action` files.\r\n- Adds and `ActionSpecification` class to the `rosidl_parser`.\r\n\r\nEDIT:\r\nIt wasn't possible to add a `test_action_initialization` test because of an implicit dependency to `builtin_interfaces` package in the generated c++ code which ended up in a circular dependency with the package.\r\n\r\n\r\nSince this can't be tested in the generation pipeline yet, I've extended some of my notes in [this gist](https://gist.github.com/apojomovsky/4899b0fbeb87748abece10b1be12d730) with some instructions on how to run the generator by hand against an example package.\r\n\r\n\r\nconnects to ros2/rcl_interfaces#48","created_at":"2018-11-02T15:16:36Z","updated_at":"2018-11-13T17:13:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"10fec3b17db138531aaa4b9d47971161253b03a2","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":180241103,"node_id":"MDU6TGFiZWwxODAyNDExMDM=","url":"https://api.github.com/repos/ros2/rosidl/labels/in%20progress","name":"in progress","color":"fad8c7","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/ros2/rosidl/pulls/312/commits","review_comments_url":"https://api.github.com/repos/ros2/rosidl/pulls/312/comments","review_comment_url":"https://api.github.com/repos/ros2/rosidl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ros2/rosidl/issues/312/comments","statuses_url":"https://api.github.com/repos/ros2/rosidl/statuses/2467acf62fe967bf1688a3c5c95f6737833de3c6","head":{"label":"ros2:apojomovsky/cpp_typesupport_for_actions","ref":"apojomovsky/cpp_typesupport_for_actions","sha":"2467acf62fe967bf1688a3c5c95f6737833de3c6","user":{"login":"ros2","id":3979232,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5NzkyMzI=","avatar_url":"https://avatars1.githubusercontent.com/u/3979232?v=4","gravatar_id":"","url":"https://api.github.com/users/ros2","html_url":"https://github.com/ros2","followers_url":"https://api.github.com/users/ros2/followers","following_url":"https://api.github.com/users/ros2/following{/other_user}","gists_url":"https://api.github.com/users/ros2/gists{/gist_id}","starred_url":"https://api.github.com/users/ros2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ros2/subscriptions","organizations_url":"https://api.github.com/users/ros2/orgs","repos_url":"https://api.github.com/users/ros2/repos","events_url":"https://api.github.com/users/ros2/events{/privacy}","received_events_url":"https://api.github.com/users/ros2/received_events","type":"Organization","site_admin":false},"repo":{"id":21748344,"node_id":"MDEwOlJlcG9zaXRvcnkyMTc0ODM0NA==","name":"rosidl","full_name":"ros2/rosidl","private":false,"owner":{"login":"ros2","id":3979232,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5NzkyMzI=","avatar_url":"https://avatars1.githubusercontent.com/u/3979232?v=4","gravatar_id":"","url":"https://api.github.com/users/ros2","html_url":"https://github.com/ros2","followers_url":"https://api.github.com/users/ros2/followers","following_url":"https://api.github.com/users/ros2/following{/other_user}","gists_url":"https://api.github.com/users/ros2/gists{/gist_id}","starred_url":"https://api.github.com/users/ros2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ros2/subscriptions","organizations_url":"https://api.github.com/users/ros2/orgs","repos_url":"https://api.github.com/users/ros2/repos","events_url":"https://api.github.com/users/ros2/events{/privacy}","received_events_url":"https://api.github.com/users/ros2/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/ros2/rosidl","description":"Packages which provide the ROS IDL (.msg) definition and code generation.","fork":false,"url":"https://api.github.com/repos/ros2/rosidl","forks_url":"https://api.github.com/repos/ros2/rosidl/forks","keys_url":"https://api.github.com/repos/ros2/rosidl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ros2/rosidl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ros2/rosidl/teams","hooks_url":"https://api.github.com/repos/ros2/rosidl/hooks","issue_events_url":"https://api.github.com/repos/ros2/rosidl/issues/events{/number}","events_url":"https://api.github.com/repos/ros2/rosidl/events","assignees_url":"https://api.github.com/repos/ros2/rosidl/assignees{/user}","branches_url":"https://api.github.com/repos/ros2/rosidl/branches{/branch}","tags_url":"https://api.github.com/repos/ros2/rosidl/tags","blobs_url":"https://api.github.com/repos/ros2/rosidl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ros2/rosidl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ros2/rosidl/git/refs{/sha}","trees_url":"https://api.github.com/repos/ros2/rosidl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ros2/rosidl/statuses/{sha}","languages_url":"https://api.github.com/repos/ros2/rosidl/languages","stargazers_url":"https://api.github.com/repos/ros2/rosidl/stargazers","contributors_url":"https://api.github.com/repos/ros2/rosidl/contributors","subscribers_url":"https://api.github.com/repos/ros2/rosidl/subscribers","subscription_url":"https://api.github.com/repos/ros2/rosidl/subscription","commits_url":"https://api.github.com/repos/ros2/rosidl/commits{/sha}","git_commits_url":"https://api.github.com/repos/ros2/rosidl/git/commits{/sha}","comments_url":"https://api.github.com/repos/ros2/rosidl/comments{/number}","issue_comment_url":"https://api.github.com/repos/ros2/rosidl/issues/comments{/number}","contents_url":"https://api.github.com/repos/ros2/rosidl/contents/{+path}","compare_url":"https://api.github.com/repos/ros2/rosidl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ros2/rosidl/merges","archive_url":"https://api.github.com/repos/ros2/rosidl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ros2/rosidl/downloads","issues_url":"https://api.github.com/repos/ros2/rosidl/issues{/number}","pulls_url":"https://api.github.com/repos/ros2/rosidl/pulls{/number}","milestones_url":"https://api.github.com/repos/ros2/rosidl/milestones{/number}","notifications_url":"https://api.github.com/repos/ros2/rosidl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ros2/rosidl/labels{/name}","releases_url":"https://api.github.com/repos/ros2/rosidl/releases{/id}","deployments_url":"https://api.github.com/repos/ros2/rosidl/deployments","created_at":"2014-07-11T19:19:18Z","updated_at":"2018-11-09T22:06:10Z","pushed_at":"2018-11-13T17:11:49Z","git_url":"git://github.com/ros2/rosidl.git","ssh_url":"git@github.com:ros2/rosidl.git","clone_url":"https://github.com/ros2/rosidl.git","svn_url":"https://github.com/ros2/rosidl","homepage":"","size":978,"stargazers_count":7,"watchers_count":7,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":24,"mirror_url":null,"archived":false,"open_issues_count":28,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":24,"open_issues":28,"watchers":7,"default_branch":"master"}},"base":{"label":"ros2:master","ref":"master","sha":"29c4a9f85fac44042ef1a875a35bb9764973efda","user":{"login":"ros2","id":3979232,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5NzkyMzI=","avatar_url":"https://avatars1.githubusercontent.com/u/3979232?v=4","gravatar_id":"","url":"https://api.github.com/users/ros2","html_url":"https://github.com/ros2","followers_url":"https://api.github.com/users/ros2/followers","following_url":"https://api.github.com/users/ros2/following{/other_user}","gists_url":"https://api.github.com/users/ros2/gists{/gist_id}","starred_url":"https://api.github.com/users/ros2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ros2/subscriptions","organizations_url":"https://api.github.com/users/ros2/orgs","repos_url":"https://api.github.com/users/ros2/repos","events_url":"https://api.github.com/users/ros2/events{/privacy}","received_events_url":"https://api.github.com/users/ros2/received_events","type":"Organization","site_admin":false},"repo":{"id":21748344,"node_id":"MDEwOlJlcG9zaXRvcnkyMTc0ODM0NA==","name":"rosidl","full_name":"ros2/rosidl","private":false,"owner":{"login":"ros2","id":3979232,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5NzkyMzI=","avatar_url":"https://avatars1.githubusercontent.com/u/3979232?v=4","gravatar_id":"","url":"https://api.github.com/users/ros2","html_url":"https://github.com/ros2","followers_url":"https://api.github.com/users/ros2/followers","following_url":"https://api.github.com/users/ros2/following{/other_user}","gists_url":"https://api.github.com/users/ros2/gists{/gist_id}","starred_url":"https://api.github.com/users/ros2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ros2/subscriptions","organizations_url":"https://api.github.com/users/ros2/orgs","repos_url":"https://api.github.com/users/ros2/repos","events_url":"https://api.github.com/users/ros2/events{/privacy}","received_events_url":"https://api.github.com/users/ros2/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/ros2/rosidl","description":"Packages which provide the ROS IDL (.msg) definition and code generation.","fork":false,"url":"https://api.github.com/repos/ros2/rosidl","forks_url":"https://api.github.com/repos/ros2/rosidl/forks","keys_url":"https://api.github.com/repos/ros2/rosidl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ros2/rosidl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ros2/rosidl/teams","hooks_url":"https://api.github.com/repos/ros2/rosidl/hooks","issue_events_url":"https://api.github.com/repos/ros2/rosidl/issues/events{/number}","events_url":"https://api.github.com/repos/ros2/rosidl/events","assignees_url":"https://api.github.com/repos/ros2/rosidl/assignees{/user}","branches_url":"https://api.github.com/repos/ros2/rosidl/branches{/branch}","tags_url":"https://api.github.com/repos/ros2/rosidl/tags","blobs_url":"https://api.github.com/repos/ros2/rosidl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ros2/rosidl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ros2/rosidl/git/refs{/sha}","trees_url":"https://api.github.com/repos/ros2/rosidl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ros2/rosidl/statuses/{sha}","languages_url":"https://api.github.com/repos/ros2/rosidl/languages","stargazers_url":"https://api.github.com/repos/ros2/rosidl/stargazers","contributors_url":"https://api.github.com/repos/ros2/rosidl/contributors","subscribers_url":"https://api.github.com/repos/ros2/rosidl/subscribers","subscription_url":"https://api.github.com/repos/ros2/rosidl/subscription","commits_url":"https://api.github.com/repos/ros2/rosidl/commits{/sha}","git_commits_url":"https://api.github.com/repos/ros2/rosidl/git/commits{/sha}","comments_url":"https://api.github.com/repos/ros2/rosidl/comments{/number}","issue_comment_url":"https://api.github.com/repos/ros2/rosidl/issues/comments{/number}","contents_url":"https://api.github.com/repos/ros2/rosidl/contents/{+path}","compare_url":"https://api.github.com/repos/ros2/rosidl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ros2/rosidl/merges","archive_url":"https://api.github.com/repos/ros2/rosidl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ros2/rosidl/downloads","issues_url":"https://api.github.com/repos/ros2/rosidl/issues{/number}","pulls_url":"https://api.github.com/repos/ros2/rosidl/pulls{/number}","milestones_url":"https://api.github.com/repos/ros2/rosidl/milestones{/number}","notifications_url":"https://api.github.com/repos/ros2/rosidl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ros2/rosidl/labels{/name}","releases_url":"https://api.github.com/repos/ros2/rosidl/releases{/id}","deployments_url":"https://api.github.com/repos/ros2/rosidl/deployments","created_at":"2014-07-11T19:19:18Z","updated_at":"2018-11-09T22:06:10Z","pushed_at":"2018-11-13T17:11:49Z","git_url":"git://github.com/ros2/rosidl.git","ssh_url":"git@github.com:ros2/rosidl.git","clone_url":"https://github.com/ros2/rosidl.git","svn_url":"https://github.com/ros2/rosidl","homepage":"","size":978,"stargazers_count":7,"watchers_count":7,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":24,"mirror_url":null,"archived":false,"open_issues_count":28,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":24,"open_issues":28,"watchers":7,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ros2/rosidl/pulls/312"},"html":{"href":"https://github.com/ros2/rosidl/pull/312"},"issue":{"href":"https://api.github.com/repos/ros2/rosidl/issues/312"},"comments":{"href":"https://api.github.com/repos/ros2/rosidl/issues/312/comments"},"review_comments":{"href":"https://api.github.com/repos/ros2/rosidl/pulls/312/comments"},"review_comment":{"href":"https://api.github.com/repos/ros2/rosidl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ros2/rosidl/pulls/312/commits"},"statuses":{"href":"https://api.github.com/repos/ros2/rosidl/statuses/2467acf62fe967bf1688a3c5c95f6737833de3c6"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"sloretz"}}