for (;;);{"error":null,"payload":{"timeline":"\u003cdiv class=\"phui-timeline-shell phui-timeline-green\" data-sigil=\"transaction anchor-container\" data-meta=\"0_19\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-minor-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003ca style=\"background-image: url(https:\/\/p.phcdn.net\/file\/data\/@secure\/rvruefeag7gxk2n5cgyv\/PHID-FILE-qzzwsny56o7sszr7w2ii\/profile)\" class=\"visual-only phui-timeline-image\" href=\"\/p\/avivey\/\" aria-hidden=\"true\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003ca name=\"139452\" id=\"139452\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-pencil phui-timeline-icon\" data-meta=\"0_13\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/avivey\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_0\"\u003eavivey\u003c\/a\u003e created this task.\u003cspan class=\"phui-timeline-extra\"\u003e\u003ca href=\"#139452\" data-sigil=\"has-tooltip\" data-meta=\"0_12\"\u003e\u003cspan class=\"screen-only\"\u003eOct 7 2015, 10:19 PM\u003c\/span\u003e\u003cspan class=\"print-only\" aria-hidden=\"true\"\u003e2015-10-07 22:19:06 (UTC+0)\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill fill-has-color phui-timeline-icon-fill-green\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-user phui-timeline-icon\" data-meta=\"0_14\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/avivey\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_1\"\u003eavivey\u003c\/a\u003e claimed this task.\u003c\/div\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-pencil phui-timeline-icon\" data-meta=\"0_15\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/avivey\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_2\"\u003eavivey\u003c\/a\u003e updated the task description. \u003ca href=\"\/transactions\/detail\/PHID-XACT-TASK-wh6rchhe5fbobue\/\" data-sigil=\"workflow\"\u003e(Show Details)\u003c\/a\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-lock phui-timeline-icon\" data-meta=\"0_16\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/avivey\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_3\"\u003eavivey\u003c\/a\u003e changed the visibility from \"Public (No Login Required)\" to \"\u003ca href=\"\/tag\/ponder_moderators\/\"\u003ePonder Moderators\u003c\/a\u003e (Project)\".\u003c\/div\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-lock phui-timeline-icon\" data-meta=\"0_17\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/avivey\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_4\"\u003eavivey\u003c\/a\u003e changed the visibility from \"\u003ca href=\"\/tag\/ponder_moderators\/\"\u003ePonder Moderators\u003c\/a\u003e (Project)\" to \"Subscribers\".\u003c\/div\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-user-plus phui-timeline-icon\" data-meta=\"0_18\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/avivey\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_5\"\u003eavivey\u003c\/a\u003e added subscribers: \u003ca href=\"\/p\/avivey\/\" class=\"phui-handle phui-link-person\"\u003eavivey\u003c\/a\u003e, \u003ca href=\"\/p\/20after4\/\" class=\"phui-handle phui-link-person\"\u003e20after4\u003c\/a\u003e, \u003ca href=\"\/p\/hach-que\/\" class=\"phui-handle phui-link-person\"\u003ehach-que\u003c\/a\u003e and \u003ca href=\"\/subscriptions\/transaction\/add\/PHID-XACT-TASK-svfws3uns6grlgk\/\" data-sigil=\"workflow\"\u003e4 others\u003c\/a\u003e.\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-spacer\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-shell\" data-sigil=\"transaction anchor-container\" data-meta=\"0_32\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-major-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003ca style=\"background-image: url(https:\/\/p.phcdn.net\/file\/data\/@secure\/6jr7vs4rmmlnids4tac7\/PHID-FILE-clfyipsks65542hv4vpd\/profile)\" class=\"visual-only phui-timeline-image\" href=\"\/p\/epriestley\/\" aria-hidden=\"true\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-badges\"\u003e\u003cul class=\"phui-badge-flex-view grouped flex-view-collapsed \"\u003e\u003cli class=\"phui-badge-flex-item\"\u003e\u003ca class=\"phui-badge-mini phui-badge-mini-grey \" href=\"\/badges\/view\/14\/\" data-sigil=\"has-tooltip\" data-meta=\"0_28\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-desktop\" data-meta=\"0_29\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\u003cli class=\"phui-badge-flex-item\"\u003e\u003ca class=\"phui-badge-mini phui-badge-mini-orange \" href=\"\/badges\/view\/13\/\" data-sigil=\"has-tooltip\" data-meta=\"0_30\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-gift\" data-meta=\"0_31\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003cdiv class=\"phui-timeline-inner-content\"\u003e\u003ca name=\"139460\" id=\"139460\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon phui-timeline-title-with-menu\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-comment phui-timeline-icon\" data-meta=\"0_27\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/epriestley\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_6\"\u003eepriestley\u003c\/a\u003e added a comment.\u003cspan class=\"phui-timeline-extra\"\u003e\u003ca href=\"#139460\" data-sigil=\"has-tooltip\" data-meta=\"0_26\"\u003e\u003cspan class=\"screen-only\"\u003eOct 7 2015, 10:36 PM\u003c\/span\u003e\u003cspan class=\"print-only\" aria-hidden=\"true\"\u003e2015-10-07 22:36:10 (UTC+0)\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003ca href=\"#\" class=\"phui-timeline-menu\" aria-haspopup=\"true\" aria-expanded=\"false\" data-sigil=\"phui-dropdown-menu\" data-meta=\"0_24\"\u003e\u003cspan class=\"aural-only\"\u003eComment Actions\u003c\/span\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-caret-down\" data-meta=\"0_25\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-core-content\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_7\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eIn your situation, are releases mutable or immutable? That is, if you create release 3.11 and discover a bug in it, do you merge\/cherry-pick the fix into 3.11 or do you throw 3.11 away and create 3.12?\u003c\/p\u003e\n\n\u003cp\u003e(This may not matter much in practice, but I just want to make sure I understand the workflow.)\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-spacer\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-shell\" data-sigil=\"transaction anchor-container\" data-meta=\"0_44\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-major-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003ca style=\"background-image: url(https:\/\/p.phcdn.net\/file\/data\/@secure\/p7uv3crrins5ughlgf2n\/PHID-FILE-flpy5lcsmyrvv2jw4bku\/profile)\" class=\"visual-only phui-timeline-image\" href=\"\/p\/hach-que\/\" aria-hidden=\"true\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-badges\"\u003e\u003cul class=\"phui-badge-flex-view grouped flex-view-collapsed \"\u003e\u003cli class=\"phui-badge-flex-item\"\u003e\u003ca class=\"phui-badge-mini phui-badge-mini-blue \" href=\"\/badges\/view\/3\/\" data-sigil=\"has-tooltip\" data-meta=\"0_42\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-rocket\" data-meta=\"0_43\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003cdiv class=\"phui-timeline-inner-content\"\u003e\u003ca name=\"139461\" id=\"139461\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon phui-timeline-title-with-menu\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-comment phui-timeline-icon\" data-meta=\"0_41\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/hach-que\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_8\"\u003ehach-que\u003c\/a\u003e added a comment.\u003cspan class=\"phui-timeline-extra\"\u003eEdited\u003cspan class=\"visual-only\" aria-hidden=\"true\"\u003e \u00b7 \u003c\/span\u003e\u003ca href=\"#139461\" data-sigil=\"has-tooltip\" data-meta=\"0_40\"\u003e\u003cspan class=\"screen-only\"\u003eOct 7 2015, 10:46 PM\u003c\/span\u003e\u003cspan class=\"print-only\" aria-hidden=\"true\"\u003e2015-10-07 22:46:31 (UTC+0)\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003ca href=\"#\" class=\"phui-timeline-menu\" aria-haspopup=\"true\" aria-expanded=\"false\" data-sigil=\"phui-dropdown-menu\" data-meta=\"0_38\"\u003e\u003cspan class=\"aural-only\"\u003eComment Actions\u003c\/span\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-caret-down\" data-meta=\"0_39\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-core-content\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_9\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eSo I wrote a release management tool for PageUp People called Pipeline; it's written as an extension of Phabricator, although it runs against an older version (before the Drydock \/ Harbormaster changes). Pipeline can be found at \u003ca href=\"https:\/\/github.com\/PageUpPeopleOrg\/phabricator-pipeline\" class=\"remarkup-link\" target=\"_blank\" rel=\"noreferrer\"\u003ehttps:\/\/github.com\/PageUpPeopleOrg\/phabricator-pipeline\u003c\/a\u003e. Unfortunately it doesn't look like we're publishing the patched version of Phabricator anywhere.\u003c\/p\u003e\n\n\u003cp\u003eThe model of Pipeline is roughly based on a template \/ instantiate model, where you have:\u003c\/p\u003e\n\n\u003cul class=\"remarkup-list\"\u003e\n\u003cli class=\"remarkup-list-item\"\u003eOn the template \/ configuration side:\u003cul class=\"remarkup-list\"\u003e\n\u003cli class=\"remarkup-list-item\"\u003eRelease systems, which have:\u003cul class=\"remarkup-list\"\u003e\n\u003cli class=\"remarkup-list-item\"\u003eA release version format string (like \u003ctt class=\"remarkup-monospaced\"\u003eMyApp-${year}-${releaseCounter}\u003c\/tt\u003e)\u003c\/li\u003e\n\u003cli class=\"remarkup-list-item\"\u003eCreation build plan, which runs after all release lines are built (see below)\u003c\/li\u003e\n\u003cli class=\"remarkup-list-item\"\u003eApproval build plan, which runs when a release is approved by QA\u003c\/li\u003e\n\u003cli class=\"remarkup-list-item\"\u003eFailure build plan, which runs when the release is marked as broken or moves into a final failure state\u003c\/li\u003e\n\u003cli class=\"remarkup-list-item\"\u003eDeploy build plan, which runs when the release is deployed by a deployment manager\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/li\u003e\n\u003cli class=\"remarkup-list-item\"\u003eRelease lines, which have:\u003cul class=\"remarkup-list\"\u003e\n\u003cli class=\"remarkup-list-item\"\u003eA release state version format string (like \u003ctt class=\"remarkup-monospaced\"\u003eMyComponent-${year}-${releaseCounter}\u003c\/tt\u003e)\u003c\/li\u003e\n\u003cli class=\"remarkup-list-item\"\u003eA repository and branch that they track\u003c\/li\u003e\n\u003cli class=\"remarkup-list-item\"\u003eA build plan, which runs when the release is created\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003eWhen releases are created, either through a scheduled trigger or manually, the release system is used as a template. A new release is created and the release counter is incremented, and then the version for the release is calculated. The release states (or components) of the release are instantiated, their release counters are incremented and their version numbers calculated. The builds for the release states then kick off in parallel.\u003c\/p\u003e\n\n\u003cp\u003eIt is expected that the release states will create an artifact with their versioning information and push it to some central artifact repository. The release state version number is made available in both the release state build \u003cstrong\u003eand\u003c\/strong\u003e the release builds, so you can push the artifact with the version number from the release state build (where you build the component) by referencing \u003ctt class=\"remarkup-monospaced\"\u003e{release.state.version}\u003c\/tt\u003e and then (assuming that release line is called \u003ctt class=\"remarkup-monospaced\"\u003emylib\u003c\/tt\u003e), you can then pull the artifact back down again in the prepare build on the release by using \u003ctt class=\"remarkup-monospaced\"\u003e{release.mylib.version}\u003c\/tt\u003e.\u003c\/p\u003e\n\n\u003cp\u003eIn our system we use release lines to build the "stable" and "beta" versions of the product (they track different branches in the repository) and then bundle them into packages. The prepare release build (which runs after all of the release line \/ state builds have passed for that release) is used to download those components and install them onto an EC2 instance, after which the EC2 instance is then snapshotted into an AMI.\u003c\/p\u003e\n\n\u003cp\u003eBecause of this, Pipeline can make an optimization: if there are no new commits on a branch, it doesn't need to create a new release state on that release line and the release that was created can use the release state that already exists from a previous release. This saves on build times.\u003c\/p\u003e\n\n\u003cp\u003eThis is what Pipeline looks like on the dashboard (using the standard search \/ query mechanism):\u003c\/p\u003e\n\n\u003cp\u003e<removed>\u003c\/p\u003e\n\n\u003cp\u003eThis is what a release looks like:\u003c\/p\u003e\n\n\u003cp\u003e<removed>\u003c\/p\u003e\n\n\u003cp\u003eThose screenshots are heavily redacted for obvious reasons. But basically Pipeline can tell you what's deployed, when it was deployed, what's new in each deployment, triggers component builds in parallel and combines them back together again, and provides an appropriate QA approval \/ deployment workflow.\u003c\/p\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-spacer\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-shell\" data-sigil=\"transaction anchor-container\" data-meta=\"0_55\"\u003e\u003cdiv class=\"phui-timeline-event-view phui-timeline-major-event\"\u003e\u003cdiv class=\"phui-timeline-content\"\u003e\u003ca style=\"background-image: url(https:\/\/p.phcdn.net\/file\/data\/@secure\/p7uv3crrins5ughlgf2n\/PHID-FILE-flpy5lcsmyrvv2jw4bku\/profile)\" class=\"visual-only phui-timeline-image\" href=\"\/p\/hach-que\/\" aria-hidden=\"true\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-badges\"\u003e\u003cul class=\"phui-badge-flex-view grouped flex-view-collapsed \"\u003e\u003cli class=\"phui-badge-flex-item\"\u003e\u003ca class=\"phui-badge-mini phui-badge-mini-blue \" href=\"\/badges\/view\/3\/\" data-sigil=\"has-tooltip\" data-meta=\"0_53\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-rocket\" data-meta=\"0_54\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-wedge\" style=\"\"\u003e\u003c\/div\u003e\u003cdiv class=\"phui-timeline-group\"\u003e\u003cdiv class=\"phui-timeline-inner-content\"\u003e\u003ca name=\"139462\" id=\"139462\" class=\"phabricator-anchor-view\"\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-title phui-timeline-title-with-icon phui-timeline-title-with-menu\"\u003e\u003cspan class=\"phui-timeline-icon-fill\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-comment phui-timeline-icon\" data-meta=\"0_52\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003ca href=\"\/p\/hach-que\/\" class=\"phui-handle phui-link-person\" data-sigil=\"hovercard\" data-meta=\"0_10\"\u003ehach-que\u003c\/a\u003e added a comment.\u003cspan class=\"phui-timeline-extra\"\u003e\u003ca href=\"#139462\" data-sigil=\"has-tooltip\" data-meta=\"0_51\"\u003e\u003cspan class=\"screen-only\"\u003eOct 7 2015, 10:48 PM\u003c\/span\u003e\u003cspan class=\"print-only\" aria-hidden=\"true\"\u003e2015-10-07 22:48:16 (UTC+0)\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/div\u003e\u003ca href=\"#\" class=\"phui-timeline-menu\" aria-haspopup=\"true\" aria-expanded=\"false\" data-sigil=\"phui-dropdown-menu\" data-meta=\"0_49\"\u003e\u003cspan class=\"aural-only\"\u003eComment Actions\u003c\/span\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-caret-down\" data-meta=\"0_50\" aria-hidden=\"true\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003cdiv class=\"phui-timeline-core-content\"\u003e\u003cspan class=\"transaction-comment\" data-sigil=\"transaction-comment\" data-meta=\"0_11\"\u003e\u003cdiv class=\"phabricator-remarkup\"\u003e\u003cp\u003eAlso to add to that:\u003c\/p\u003e\n\n\u003cul class=\"remarkup-list\"\u003e\n\u003cli class=\"remarkup-list-item\"\u003eRelease lines track branches, tags or other references, but when you create a new manual release you can override each release line's reference to point anywhere. This allows deployment managers to create releases with specific hotfixes in them (based on a custom branch in Git or w\/e).\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/div\u003e\u003c\/span\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e"},"javelin_metadata":[{"hovercardSpec":{"objectPHID":"PHID-USER-lgbuqrsim4oysksuxv5b"}},{"hovercardSpec":{"objectPHID":"PHID-USER-lgbuqrsim4oysksuxv5b"}},{"hovercardSpec":{"objectPHID":"PHID-USER-lgbuqrsim4oysksuxv5b"}},{"hovercardSpec":{"objectPHID":"PHID-USER-lgbuqrsim4oysksuxv5b"}},{"hovercardSpec":{"objectPHID":"PHID-USER-lgbuqrsim4oysksuxv5b"}},{"hovercardSpec":{"objectPHID":"PHID-USER-lgbuqrsim4oysksuxv5b"}},{"hovercardSpec":{"objectPHID":"PHID-USER-ba8aeea1b3fe2853d6bb"}},{"phid":"PHID-XACT-TASK-3lwbvx4aggnh5jt"},{"hovercardSpec":{"objectPHID":"PHID-USER-3ajrc5seiwxsdbiu63m4"}},{"phid":"PHID-XACT-TASK-5bo2hkcaekz265s"},{"hovercardSpec":{"objectPHID":"PHID-USER-3ajrc5seiwxsdbiu63m4"}},{"phid":"PHID-XACT-TASK-xo5dbq4uteo654l"},{"tip":"Via Web"},[],[],[],[],[],[],{"phid":"PHID-XACT-TASK-fe7qqexssuxjjx7","anchor":"139452"},{"targetID":"UQ0_1","uri":"\/transactions\/quote\/PHID-XACT-TASK-3lwbvx4aggnh5jt\/","ref":"T9530#139460"},[],{"anchor":"139460"},[],{"items":"\u003cul class=\"phabricator-action-list-view \"\u003e\u003cli id=\"UQ0_1\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"#\" class=\"phabricator-action-view-item\" data-sigil=\"transaction-quote\" data-meta=\"0_20\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-quote-left phabricator-action-view-icon\" data-meta=\"0_21\" aria-hidden=\"true\"\u003e\u003c\/span\u003eQuote Comment\u003c\/a\u003e\u003c\/li\u003e\u003cli id=\"UQ0_3\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"\/transactions\/raw\/PHID-XACT-TASK-3lwbvx4aggnh5jt\/\" class=\"phabricator-action-view-item\" data-sigil=\"transaction-raw\" data-meta=\"0_22\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-code phabricator-action-view-icon\" data-meta=\"0_23\" aria-hidden=\"true\"\u003e\u003c\/span\u003eView Raw Remarkup\u003c\/a\u003e\u003c\/li\u003e\u003c\/ul\u003e"},[],{"tip":"Via Web"},[],{"tip":"Master of Safari","align":"E","size":300},[],{"tip":"5 Years ","align":"E","size":300},[],{"phid":"PHID-XACT-TASK-3lwbvx4aggnh5jt","anchor":"139460"},{"targetID":"UQ0_1","uri":"\/transactions\/quote\/PHID-XACT-TASK-5bo2hkcaekz265s\/","ref":"T9530#139461"},[],{"anchor":"139461"},[],[],{"items":"\u003cul class=\"phabricator-action-list-view \"\u003e\u003cli id=\"UQ0_5\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"#\" class=\"phabricator-action-view-item\" data-sigil=\"transaction-quote\" data-meta=\"0_33\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-quote-left phabricator-action-view-icon\" data-meta=\"0_34\" aria-hidden=\"true\"\u003e\u003c\/span\u003eQuote Comment\u003c\/a\u003e\u003c\/li\u003e\u003cli id=\"UQ0_7\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"\/transactions\/raw\/PHID-XACT-TASK-5bo2hkcaekz265s\/\" class=\"phabricator-action-view-item\" data-sigil=\"transaction-raw\" data-meta=\"0_35\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-code phabricator-action-view-icon\" data-meta=\"0_36\" aria-hidden=\"true\"\u003e\u003c\/span\u003eView Raw Remarkup\u003c\/a\u003e\u003c\/li\u003e\u003cli id=\"UQ0_9\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"\/transactions\/history\/PHID-XACT-TASK-5bo2hkcaekz265s\/\" class=\"phabricator-action-view-item\" data-sigil=\"workflow\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-list phabricator-action-view-icon\" data-meta=\"0_37\" aria-hidden=\"true\"\u003e\u003c\/span\u003eView Edit History\u003c\/a\u003e\u003c\/li\u003e\u003c\/ul\u003e"},[],{"tip":"Via Web"},[],{"tip":"Elite Contributor","align":"E","size":300},[],{"phid":"PHID-XACT-TASK-5bo2hkcaekz265s","anchor":"139461"},{"targetID":"UQ0_1","uri":"\/transactions\/quote\/PHID-XACT-TASK-xo5dbq4uteo654l\/","ref":"T9530#139462"},[],{"anchor":"139462"},[],{"items":"\u003cul class=\"phabricator-action-list-view \"\u003e\u003cli id=\"UQ0_11\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"#\" class=\"phabricator-action-view-item\" data-sigil=\"transaction-quote\" data-meta=\"0_45\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-quote-left phabricator-action-view-icon\" data-meta=\"0_46\" aria-hidden=\"true\"\u003e\u003c\/span\u003eQuote Comment\u003c\/a\u003e\u003c\/li\u003e\u003cli id=\"UQ0_13\" class=\"phabricator-action-view phabricator-action-view-href action-has-icon\" style=\"\"\u003e\u003ca href=\"\/transactions\/raw\/PHID-XACT-TASK-xo5dbq4uteo654l\/\" class=\"phabricator-action-view-item\" data-sigil=\"transaction-raw\" data-meta=\"0_47\"\u003e\u003cspan class=\"visual-only phui-icon-view phui-font-fa fa-code phabricator-action-view-icon\" data-meta=\"0_48\" aria-hidden=\"true\"\u003e\u003c\/span\u003eView Raw Remarkup\u003c\/a\u003e\u003c\/li\u003e\u003c\/ul\u003e"},[],{"tip":"Via Web"},[],{"tip":"Elite Contributor","align":"E","size":300},[],{"phid":"PHID-XACT-TASK-xo5dbq4uteo654l","anchor":"139462"}],"javelin_behaviors":{"phui-hovercards":[],"phabricator-watch-anchor":[],"phabricator-tooltips":[],"phui-dropdown-menu":[]},"javelin_resources":["https:\/\/p.phcdn.net\/res\/defaultX\/phabricator\/d2de90d9\/core.pkg.js","https:\/\/p.phcdn.net\/res\/defaultX\/phabricator\/98e6504a\/rsrc\/externals\/javelin\/core\/init.js","https:\/\/p.phcdn.net\/res\/defaultX\/phabricator\/b816811e\/core.pkg.css","https:\/\/p.phcdn.net\/res\/defaultX\/phabricator\/666e25ad\/rsrc\/css\/phui\/phui-badge.css"]}