)]}'
{"doc/source/glanceapi.rst":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"53c3d46f082f198489dd1308233ef6376aa5fbdc","unresolved":false,"context_lines":[{"line_number":688,"context_line":"must contain the following fields:"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"* ``type``: a string specified by the enumeration defined in the Task schema"},{"line_number":691,"context_line":"  "},{"line_number":692,"context_line":"* ``input``: a JSON object.  The content is defined by the cloud provider who"},{"line_number":693,"context_line":"  has exposed the endpoint being contacted"},{"line_number":694,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_7704597d","line":691,"updated":"2015-09-03 16:14:38.000000000","message":"Looks like this should be deleted.","commit_id":"7d941deea43c1631aec67cd5941625c4498876f3"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"bd6e875e82c00c74ec46ea8eced5d0b77ef24cdd","unresolved":false,"context_lines":[{"line_number":688,"context_line":"must contain the following fields:"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"* ``type``: a string specified by the enumeration defined in the Task schema"},{"line_number":691,"context_line":"  "},{"line_number":692,"context_line":"* ``input``: a JSON object.  The content is defined by the cloud provider who"},{"line_number":693,"context_line":"  has exposed the endpoint being contacted"},{"line_number":694,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da20952f_0ac61049","line":691,"in_reply_to":"da20952f_7704597d","updated":"2015-09-03 16:32:51.000000000","message":"Don\u0027t know how that snuck in there!  I\u0027ll get it.","commit_id":"7d941deea43c1631aec67cd5941625c4498876f3"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"0cc73fec5176749d439015597b6bccce774f6fb0","unresolved":false,"context_lines":[{"line_number":674,"context_line":"-------------------"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"Version 2 of the OpenStack Images API introduces a Task resource that is used"},{"line_number":677,"context_line":"to create and monitor long-running asynchonous image-related processes.  See"},{"line_number":678,"context_line":"the :doc:`Tasks \u003ctasks\u003e` section of the Glance documentation for more"},{"line_number":679,"context_line":"information."},{"line_number":680,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_75ef6387","line":677,"updated":"2015-09-03 22:29:04.000000000","message":"asynchronous","commit_id":"7fdc606f7559b4c8d145f8844cb6226f134da6b5"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"46547bce04cb072703ceac58d93648e025ead150","unresolved":false,"context_lines":[{"line_number":674,"context_line":"-------------------"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"Version 2 of the OpenStack Images API introduces a Task resource that is used"},{"line_number":677,"context_line":"to create and monitor long-running asynchonous image-related processes.  See"},{"line_number":678,"context_line":"the :doc:`Tasks \u003ctasks\u003e` section of the Glance documentation for more"},{"line_number":679,"context_line":"information."},{"line_number":680,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_38cf092b","line":677,"in_reply_to":"da20952f_75ef6387","updated":"2015-09-08 21:49:08.000000000","message":"good catch, will fix in next patch set","commit_id":"7fdc606f7559b4c8d145f8844cb6226f134da6b5"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"0cc73fec5176749d439015597b6bccce774f6fb0","unresolved":false,"context_lines":[{"line_number":720,"context_line":"sparse format.  To see more information about a particular task in the list,"},{"line_number":721,"context_line":"the user would use the show task call described above."},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"Filtering the Tasks List"},{"line_number":724,"context_line":"************************"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"The ``GET /v2/tasks`` request takes query parameters that server to filter the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_88a1bafa","line":723,"updated":"2015-09-03 22:29:04.000000000","message":"It would useful to add \"and sorting\" here.","commit_id":"7fdc606f7559b4c8d145f8844cb6226f134da6b5"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"46547bce04cb072703ceac58d93648e025ead150","unresolved":false,"context_lines":[{"line_number":720,"context_line":"sparse format.  To see more information about a particular task in the list,"},{"line_number":721,"context_line":"the user would use the show task call described above."},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"Filtering the Tasks List"},{"line_number":724,"context_line":"************************"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"The ``GET /v2/tasks`` request takes query parameters that server to filter the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da20952f_d88e0dd0","line":723,"in_reply_to":"da20952f_88a1bafa","updated":"2015-09-08 21:49:08.000000000","message":"Good suggestion, will put into next patch set.","commit_id":"7fdc606f7559b4c8d145f8844cb6226f134da6b5"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"72c07dac9fdcc2223b09d3a755501e1bcf4b1117","unresolved":false,"context_lines":[{"line_number":748,"context_line":""},{"line_number":749,"context_line":"  Sorts the list of tasks according to ``updated_at`` datetime.  Legal values"},{"line_number":750,"context_line":"  are ``asc`` (ascending) and ``desc`` (descending).  By default, the task list"},{"line_number":751,"context_line":"  is sorted by ``updated_at`` time in descending chronological order."},{"line_number":752,"context_line":""},{"line_number":753,"context_line":""},{"line_number":754,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_d3103c51","line":751,"updated":"2015-09-14 07:03:37.000000000","message":"it should be \u0027created_at\u0027, not \u0027updated_at\u0027\nhttps://github.com/openstack/glance/blob/master/glance/api/v2/tasks.py#L220","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"76b737cdd09b20af2268b84f6610149fac825b94","unresolved":false,"context_lines":[{"line_number":748,"context_line":""},{"line_number":749,"context_line":"  Sorts the list of tasks according to ``updated_at`` datetime.  Legal values"},{"line_number":750,"context_line":"  are ``asc`` (ascending) and ``desc`` (descending).  By default, the task list"},{"line_number":751,"context_line":"  is sorted by ``updated_at`` time in descending chronological order."},{"line_number":752,"context_line":""},{"line_number":753,"context_line":""},{"line_number":754,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_92cfd77e","line":751,"in_reply_to":"ba15a1d1_d3103c51","updated":"2015-09-15 15:49:05.000000000","message":"good catch, thanks!","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"}],"doc/source/tasks.rst":[{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"41db204d4d46cb7800eabecad6878b4d006010bc","unresolved":false,"context_lines":[{"line_number":31,"context_line":"waste of resources."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"To address this situation, Glance contains *tasks*.  Tasks are intended to"},{"line_number":34,"context_line":"offer end users a front end to long running asynchronous operations (the type"},{"line_number":35,"context_line":"of operation you kick off and don\u0027t expect to finish until you\u0027ve gone to the"},{"line_number":36,"context_line":"coffee shop, had a pleasant chat with your barista, had a coffee, had a"},{"line_number":37,"context_line":"pleasant walk home, etc.).  The asynchronous nature of tasks is emphasized up"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_7bf33474","line":34,"updated":"2015-09-14 15:51:18.000000000","message":"a few dashes might make this sentence more clear, i.e.:\n\noffer end-users a front-end to long-running asynchronous operations","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"76b737cdd09b20af2268b84f6610149fac825b94","unresolved":false,"context_lines":[{"line_number":31,"context_line":"waste of resources."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"To address this situation, Glance contains *tasks*.  Tasks are intended to"},{"line_number":34,"context_line":"offer end users a front end to long running asynchronous operations (the type"},{"line_number":35,"context_line":"of operation you kick off and don\u0027t expect to finish until you\u0027ve gone to the"},{"line_number":36,"context_line":"coffee shop, had a pleasant chat with your barista, had a coffee, had a"},{"line_number":37,"context_line":"pleasant walk home, etc.).  The asynchronous nature of tasks is emphasized up"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_3264cb47","line":34,"in_reply_to":"ba15a1d1_7bf33474","updated":"2015-09-15 15:49:05.000000000","message":"good suggestion","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"72268346d0bc6d89c74d07af241a0af30b83be98","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Images API, it\u0027s easier for deployers to allocate resources and route requests."},{"line_number":57,"context_line":"At the same time this separation avoids confusion for end users.  Responses to"},{"line_number":58,"context_line":"requests to ``/v2/images`` should return fairly quickly, while requests to"},{"line_number":59,"context_line":"``/v2/tasks`` may take a while."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In short, tasks provide a common API across OpenStack installations for end"},{"line_number":62,"context_line":"users to request image-related operations, yet at the same time are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_00573103","line":59,"updated":"2015-09-14 11:57:38.000000000","message":"This paragraph is not really clear for me. As I read it, it says that one of the goals for tasks is for nova to have a separate, asynchronous, endpoint that can import the snapshots created in the compute nodes. However, this doesn\u0027t seem to align with the task goals.\n\nExpecting nova to just use tasks to import images doesn\u0027t sound like an ideal scenario, especially when we have locations that can be used to point to shared storage.\n\nCould you elaborate more? I\u0027m sure I\u0027m missing the context of what you meant here.","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"d28a9e35663f02eee007bb5a72cd7318f871afa8","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Images API, it\u0027s easier for deployers to allocate resources and route requests."},{"line_number":57,"context_line":"At the same time this separation avoids confusion for end users.  Responses to"},{"line_number":58,"context_line":"requests to ``/v2/images`` should return fairly quickly, while requests to"},{"line_number":59,"context_line":"``/v2/tasks`` may take a while."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In short, tasks provide a common API across OpenStack installations for end"},{"line_number":62,"context_line":"users to request image-related operations, yet at the same time are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_3a3b7ded","line":59,"in_reply_to":"ba15a1d1_00573103","updated":"2015-09-14 14:04:59.000000000","message":"I think what\u0027s probably meant is just that other OpenStack services (eg nova) will use the synchronous interface. Having /tasks allows kind of a splitting between \u0027real time\u0027 and \u0027lower priority\u0027 operations.","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"76b737cdd09b20af2268b84f6610149fac825b94","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Images API, it\u0027s easier for deployers to allocate resources and route requests."},{"line_number":57,"context_line":"At the same time this separation avoids confusion for end users.  Responses to"},{"line_number":58,"context_line":"requests to ``/v2/images`` should return fairly quickly, while requests to"},{"line_number":59,"context_line":"``/v2/tasks`` may take a while."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In short, tasks provide a common API across OpenStack installations for end"},{"line_number":62,"context_line":"users to request image-related operations, yet at the same time are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_d2122f62","line":59,"in_reply_to":"ba15a1d1_3a3b7ded","updated":"2015-09-15 15:49:05.000000000","message":"Stuart\u0027s correct, that\u0027s what I was trying to convey.  Will rewrite the paragraph so that it\u0027s more clear.","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"72268346d0bc6d89c74d07af241a0af30b83be98","unresolved":false,"context_lines":[{"line_number":59,"context_line":"``/v2/tasks`` may take a while."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In short, tasks provide a common API across OpenStack installations for end"},{"line_number":62,"context_line":"users to request image-related operations, yet at the same time are"},{"line_number":63,"context_line":"customizable for individual cloud providers."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Conceptual Details"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_e0655de1","line":62,"updated":"2015-09-14 11:57:38.000000000","message":"I think it\u0027s important to differentiate what we mean by end-users. Do we mean cloud admins? Or users of the public cloud?","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"d28a9e35663f02eee007bb5a72cd7318f871afa8","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In short, tasks provide a common API across OpenStack installations for end"},{"line_number":62,"context_line":"users to request image-related operations, yet at the same time are"},{"line_number":63,"context_line":"customizable for individual cloud providers."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Conceptual Details"},{"line_number":66,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_5aed118a","line":63,"updated":"2015-09-14 14:04:59.000000000","message":"I have to confess this is the first time I\u0027ve really looked at the task stuff.\n\n(Hence doubly happy to see some docs).\n\nWith my end-user hat on, coming to this for the first time, I\u0027m not 100% sure what I should be able to do with tasks if I have a vanilla installation, eg devstack.\n\n $ glance task-list\n +----+------+--------+-------+\n | ID | Type | Status | Owner |\n +----+------+--------+-------+\n +----+------+--------+-------+\n\n $ glance task-show\n usage: glance task-show \u003cTASK_ID\u003e\n glance task-show: error: too few arguments\n\nIs the answer \u0027nothing\u0027?\n\nShould there be a default \u0027import\u0027 task as per:\n\nhttps://wiki.openstack.org/wiki/Glance-tasks-import\n\nOr is \u0027import\u0027 one of the provider specific customizations?\n\nI\u0027d have a concern about not having a consistent API for doing the same thing(s) across multiple clouds.\nIs/was there any proposal to try to standardize some common tasks?\n\nI\u0027m probably ended up out of scope at this point, sorry.","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"53216fd55f16ee8e0b861d99948fb571dfd8eab7","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In short, tasks provide a common API across OpenStack installations for end"},{"line_number":62,"context_line":"users to request image-related operations, yet at the same time are"},{"line_number":63,"context_line":"customizable for individual cloud providers."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Conceptual Details"},{"line_number":66,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_08615a39","line":63,"in_reply_to":"ba15a1d1_28621eae","updated":"2015-09-15 15:53:03.000000000","message":"Ok, thanks. Divide and conquer!","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"76b737cdd09b20af2268b84f6610149fac825b94","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In short, tasks provide a common API across OpenStack installations for end"},{"line_number":62,"context_line":"users to request image-related operations, yet at the same time are"},{"line_number":63,"context_line":"customizable for individual cloud providers."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Conceptual Details"},{"line_number":66,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_28621eae","line":63,"in_reply_to":"ba15a1d1_5aed118a","updated":"2015-09-15 15:49:05.000000000","message":"Stuart, that\u0027s a great question.  This patch set is a partial-fix to https://bugs.launchpad.net/glance/+bug/1484566 , my intent is to hit (1) and (2) in that bug.  I\u0027d like to address (3) and (4) by a different patch, which is where I\u0027d address this question.","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"41db204d4d46cb7800eabecad6878b4d006010bc","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* A dedicated task resource allows for the delivery to the end user of clear,"},{"line_number":82,"context_line":"  detailed error messages specific to the particular operation."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* A dedicated task resource respectes the principle of least surprise.  For"},{"line_number":85,"context_line":"  example, an import task does not create an image in Glance until it\u0027s clear"},{"line_number":86,"context_line":"  that the bits submitted pass the deployer\u0027s tests for an allowable image."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_5bd0b053","line":84,"updated":"2015-09-14 15:51:18.000000000","message":"Should \"respectes\" be \"respects\"?","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"76b737cdd09b20af2268b84f6610149fac825b94","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* A dedicated task resource allows for the delivery to the end user of clear,"},{"line_number":82,"context_line":"  detailed error messages specific to the particular operation."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* A dedicated task resource respectes the principle of least surprise.  For"},{"line_number":85,"context_line":"  example, an import task does not create an image in Glance until it\u0027s clear"},{"line_number":86,"context_line":"  that the bits submitted pass the deployer\u0027s tests for an allowable image."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_08063ace","line":84,"in_reply_to":"ba15a1d1_5bd0b053","updated":"2015-09-15 15:49:05.000000000","message":"yes, it should!","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"41db204d4d46cb7800eabecad6878b4d006010bc","unresolved":false,"context_lines":[{"line_number":89,"context_line":"assigned an expiration datetime that\u0027s displayed in the ``expires_at`` field."},{"line_number":90,"context_line":"(The time between final state and expiration is configurable.)  After that"},{"line_number":91,"context_line":"datetime, the task resource is subject to being deleted.  The result of the"},{"line_number":92,"context_line":"task, for example, an imported image, will still exist."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"For details about the defined task statuses, please see :doc:`Task"},{"line_number":95,"context_line":"Statuses \u003cstatuses\u003e`"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_fb23c403","line":92,"updated":"2015-09-14 15:51:18.000000000","message":"the \"for example, an imported image\" may make more sense as a parenthetical, i.e.:\n\ntask (for example, an imported image) will still exist.","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"76b737cdd09b20af2268b84f6610149fac825b94","unresolved":false,"context_lines":[{"line_number":89,"context_line":"assigned an expiration datetime that\u0027s displayed in the ``expires_at`` field."},{"line_number":90,"context_line":"(The time between final state and expiration is configurable.)  After that"},{"line_number":91,"context_line":"datetime, the task resource is subject to being deleted.  The result of the"},{"line_number":92,"context_line":"task, for example, an imported image, will still exist."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"For details about the defined task statuses, please see :doc:`Task"},{"line_number":95,"context_line":"Statuses \u003cstatuses\u003e`"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba15a1d1_48f2f2d3","line":92,"in_reply_to":"ba15a1d1_fb23c403","updated":"2015-09-15 15:49:05.000000000","message":"good suggestion","commit_id":"eb8ffd5fd383a1fbc55f8061859bfcedec4358ac"}]}
