diff --git a/resources/sprite/projects_2x/fa-briefcase.png b/resources/builtin/projects/fa-briefcase.png similarity index 100% rename from resources/sprite/projects_2x/fa-briefcase.png rename to resources/builtin/projects/fa-briefcase.png diff --git a/resources/sprite/projects_2x/fa-bug.png b/resources/builtin/projects/fa-bug.png similarity index 100% rename from resources/sprite/projects_2x/fa-bug.png rename to resources/builtin/projects/fa-bug.png diff --git a/resources/sprite/projects_2x/fa-building.png b/resources/builtin/projects/fa-building.png similarity index 100% rename from resources/sprite/projects_2x/fa-building.png rename to resources/builtin/projects/fa-building.png diff --git a/resources/sprite/projects_2x/fa-calendar.png b/resources/builtin/projects/fa-calendar.png similarity index 100% rename from resources/sprite/projects_2x/fa-calendar.png rename to resources/builtin/projects/fa-calendar.png diff --git a/resources/sprite/projects_2x/fa-cloud.png b/resources/builtin/projects/fa-cloud.png similarity index 100% rename from resources/sprite/projects_2x/fa-cloud.png rename to resources/builtin/projects/fa-cloud.png diff --git a/resources/sprite/projects_2x/fa-credit-card.png b/resources/builtin/projects/fa-credit-card.png similarity index 100% rename from resources/sprite/projects_2x/fa-credit-card.png rename to resources/builtin/projects/fa-credit-card.png diff --git a/resources/sprite/projects_2x/fa-envelope.png b/resources/builtin/projects/fa-envelope.png similarity index 100% rename from resources/sprite/projects_2x/fa-envelope.png rename to resources/builtin/projects/fa-envelope.png diff --git a/resources/sprite/projects_2x/fa-flag-checkered.png b/resources/builtin/projects/fa-flag-checkered.png similarity index 100% rename from resources/sprite/projects_2x/fa-flag-checkered.png rename to resources/builtin/projects/fa-flag-checkered.png diff --git a/resources/sprite/projects_2x/fa-flask.png b/resources/builtin/projects/fa-flask.png similarity index 100% rename from resources/sprite/projects_2x/fa-flask.png rename to resources/builtin/projects/fa-flask.png diff --git a/resources/sprite/projects_2x/fa-folder.png b/resources/builtin/projects/fa-folder.png similarity index 100% rename from resources/sprite/projects_2x/fa-folder.png rename to resources/builtin/projects/fa-folder.png diff --git a/resources/sprite/projects_2x/fa-lock.png b/resources/builtin/projects/fa-lock.png similarity index 100% rename from resources/sprite/projects_2x/fa-lock.png rename to resources/builtin/projects/fa-lock.png diff --git a/resources/sprite/projects_2x/fa-tags.png b/resources/builtin/projects/fa-tags.png similarity index 100% rename from resources/sprite/projects_2x/fa-tags.png rename to resources/builtin/projects/fa-tags.png diff --git a/resources/sprite/projects_2x/fa-trash-o.png b/resources/builtin/projects/fa-trash-o.png similarity index 100% rename from resources/sprite/projects_2x/fa-trash-o.png rename to resources/builtin/projects/fa-trash-o.png diff --git a/resources/sprite/projects_2x/fa-truck.png b/resources/builtin/projects/fa-truck.png similarity index 100% rename from resources/sprite/projects_2x/fa-truck.png rename to resources/builtin/projects/fa-truck.png diff --git a/resources/sprite/projects_2x/fa-umbrella.png b/resources/builtin/projects/fa-umbrella.png similarity index 100% rename from resources/sprite/projects_2x/fa-umbrella.png rename to resources/builtin/projects/fa-umbrella.png diff --git a/resources/sprite/projects_2x/fa-users.png b/resources/builtin/projects/fa-users.png similarity index 100% rename from resources/sprite/projects_2x/fa-users.png rename to resources/builtin/projects/fa-users.png diff --git a/resources/celerity/map.php b/resources/celerity/map.php index c5569127bb..9188e2343f 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -1,2293 +1,2289 @@ <?php /** * This file is automatically generated. Use 'bin/celerity map' to rebuild it. * * @generated */ return array( 'names' => array( 'core.pkg.css' => 'c61091b0', 'core.pkg.js' => '573e6664', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => '2de124c9', 'differential.pkg.js' => 'f83532f8', 'diffusion.pkg.css' => 'f45955ed', 'diffusion.pkg.js' => '3a9a8bfa', 'maniphest.pkg.css' => '4845691a', 'maniphest.pkg.js' => '949a7498', 'rsrc/css/aphront/aphront-bars.css' => '231ac33c', 'rsrc/css/aphront/dark-console.css' => '6378ef3d', 'rsrc/css/aphront/dialog-view.css' => 'be0e3a46', 'rsrc/css/aphront/lightbox-attachment.css' => '7acac05d', 'rsrc/css/aphront/list-filter-view.css' => '5d6f0526', 'rsrc/css/aphront/multi-column.css' => 'fd18389d', 'rsrc/css/aphront/notification.css' => '9c279160', 'rsrc/css/aphront/panel-view.css' => '8427b78d', 'rsrc/css/aphront/phabricator-nav-view.css' => 'a24cb589', 'rsrc/css/aphront/table-view.css' => '6d01d468', 'rsrc/css/aphront/tokenizer.css' => '056da01b', 'rsrc/css/aphront/tooltip.css' => '7672b60f', 'rsrc/css/aphront/typeahead-browse.css' => 'd8581d2c', 'rsrc/css/aphront/typeahead.css' => '0e403212', 'rsrc/css/application/almanac/almanac.css' => 'dbb9b3af', 'rsrc/css/application/auth/auth.css' => '0877ed6e', 'rsrc/css/application/base/main-menu-view.css' => 'd00a795a', 'rsrc/css/application/base/notification-menu.css' => 'f31c0bde', 'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601', 'rsrc/css/application/base/phui-theme.css' => '981a58f8', 'rsrc/css/application/base/standard-page-view.css' => '7b0d68d8', 'rsrc/css/application/chatlog/chatlog.css' => 'd295b020', 'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4', 'rsrc/css/application/config/config-options.css' => '0ede4c9b', 'rsrc/css/application/config/config-template.css' => '8e6c6fcd', 'rsrc/css/application/config/config-welcome.css' => '6abd79be', 'rsrc/css/application/config/setup-issue.css' => 'db7e9c40', 'rsrc/css/application/config/unhandled-exception.css' => '4c96257a', 'rsrc/css/application/conpherence/durable-column.css' => '86396117', 'rsrc/css/application/conpherence/menu.css' => 'f99fee4c', 'rsrc/css/application/conpherence/message-pane.css' => '5897d3ac', 'rsrc/css/application/conpherence/notification.css' => '6cdcc253', 'rsrc/css/application/conpherence/transaction.css' => '85d0974c', 'rsrc/css/application/conpherence/update.css' => 'faf6be09', 'rsrc/css/application/conpherence/widget-pane.css' => '775eaaba', 'rsrc/css/application/contentsource/content-source-view.css' => '4b8b05d4', 'rsrc/css/application/countdown/timer.css' => 'e7544472', 'rsrc/css/application/daemon/bulk-job.css' => 'df9c1d4a', 'rsrc/css/application/dashboard/dashboard.css' => 'eb458607', 'rsrc/css/application/diff/inline-comment-summary.css' => '51efda3a', 'rsrc/css/application/differential/add-comment.css' => 'c47f8c40', 'rsrc/css/application/differential/changeset-view.css' => 'b6b0d1bb', 'rsrc/css/application/differential/core.css' => '7ac3cabc', 'rsrc/css/application/differential/phui-inline-comment.css' => '0fdb3667', 'rsrc/css/application/differential/revision-comment.css' => '14b8565a', 'rsrc/css/application/differential/revision-history.css' => '0e8eb855', 'rsrc/css/application/differential/revision-list.css' => 'f3c47d33', 'rsrc/css/application/differential/table-of-contents.css' => 'ae4b7a55', 'rsrc/css/application/diffusion/diffusion-icons.css' => '2941baf1', 'rsrc/css/application/diffusion/diffusion-readme.css' => '2106ea08', 'rsrc/css/application/diffusion/diffusion-source.css' => '075ba788', 'rsrc/css/application/feed/feed.css' => 'ecd4ec57', 'rsrc/css/application/files/global-drag-and-drop.css' => '697324ad', 'rsrc/css/application/flag/flag.css' => '5337623f', 'rsrc/css/application/harbormaster/harbormaster.css' => 'b0758ca5', 'rsrc/css/application/herald/herald-test.css' => 'a52e323e', 'rsrc/css/application/herald/herald.css' => '826075fa', 'rsrc/css/application/maniphest/batch-editor.css' => 'b0f0b6d5', 'rsrc/css/application/maniphest/report.css' => 'f6931fdf', 'rsrc/css/application/maniphest/task-edit.css' => 'fda62a9b', 'rsrc/css/application/maniphest/task-summary.css' => '11cc5344', 'rsrc/css/application/objectselector/object-selector.css' => '85ee8ce6', 'rsrc/css/application/owners/owners-path-editor.css' => '2f00933b', 'rsrc/css/application/paste/paste.css' => 'a5157c48', - 'rsrc/css/application/people/people-profile.css' => '25970776', + 'rsrc/css/application/people/people-profile.css' => '8f894dee', 'rsrc/css/application/phame/phame.css' => 'dac8fdf2', 'rsrc/css/application/pholio/pholio-edit.css' => '3ad9d1ee', 'rsrc/css/application/pholio/pholio-inline-comments.css' => '8e545e49', 'rsrc/css/application/pholio/pholio.css' => '95174bdd', 'rsrc/css/application/phortune/phortune-credit-card-form.css' => '8391eb02', 'rsrc/css/application/phortune/phortune.css' => '9149f103', 'rsrc/css/application/phrequent/phrequent.css' => 'ffc185ad', 'rsrc/css/application/phriction/phriction-document-css.css' => 'd1861e06', 'rsrc/css/application/policy/policy-edit.css' => '815c66f7', 'rsrc/css/application/policy/policy-transaction-detail.css' => '82100a43', 'rsrc/css/application/policy/policy.css' => '957ea14c', 'rsrc/css/application/ponder/ponder-view.css' => '7b0df4da', 'rsrc/css/application/releeph/releeph-core.css' => '9b3c5733', 'rsrc/css/application/releeph/releeph-preview-branch.css' => 'b7a6f4a5', 'rsrc/css/application/releeph/releeph-request-differential-create-dialog.css' => '8d8b92cd', 'rsrc/css/application/releeph/releeph-request-typeahead.css' => '667a48ae', 'rsrc/css/application/search/search-results.css' => '7dea472c', 'rsrc/css/application/slowvote/slowvote.css' => 'da0afb1b', 'rsrc/css/application/tokens/tokens.css' => '3d0f239e', 'rsrc/css/application/uiexample/example.css' => '528b19de', 'rsrc/css/core/core.css' => 'a76cefc9', 'rsrc/css/core/remarkup.css' => 'b748dc17', 'rsrc/css/core/syntax.css' => '9fd11da8', 'rsrc/css/core/z-index.css' => 'a36a45da', 'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa', 'rsrc/css/font/font-aleo.css' => '8bdb2835', 'rsrc/css/font/font-awesome.css' => 'c43323c5', 'rsrc/css/font/font-lato.css' => 'c7ccd872', 'rsrc/css/font/phui-font-icon-base.css' => 'ecbbb4c2', 'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82', 'rsrc/css/layout/phabricator-hovercard-view.css' => '1239cd52', 'rsrc/css/layout/phabricator-side-menu-view.css' => '3a3d9f41', 'rsrc/css/layout/phabricator-source-code-view.css' => 'cbeef983', 'rsrc/css/phui/calendar/phui-calendar-day.css' => 'd1cf6f93', 'rsrc/css/phui/calendar/phui-calendar-list.css' => 'c1c7f338', 'rsrc/css/phui/calendar/phui-calendar-month.css' => '476be7e0', 'rsrc/css/phui/calendar/phui-calendar.css' => 'ccabe893', 'rsrc/css/phui/phui-action-list.css' => 'c5eba19d', 'rsrc/css/phui/phui-action-panel.css' => '91c7b835', 'rsrc/css/phui/phui-badge.css' => 'f25c3476', 'rsrc/css/phui/phui-big-info-view.css' => 'bd903741', 'rsrc/css/phui/phui-box.css' => 'a5bb366d', 'rsrc/css/phui/phui-button.css' => '16020a60', 'rsrc/css/phui/phui-crumbs-view.css' => '414406b5', 'rsrc/css/phui/phui-document-pro.css' => '8799acf7', 'rsrc/css/phui/phui-document-summary.css' => '9ca48bdf', 'rsrc/css/phui/phui-document.css' => 'a4a1c3b9', 'rsrc/css/phui/phui-feed-story.css' => 'b7b26d23', 'rsrc/css/phui/phui-fontkit.css' => '9cda225e', 'rsrc/css/phui/phui-form-view.css' => '4a1a0f5e', 'rsrc/css/phui/phui-form.css' => '0b98e572', 'rsrc/css/phui/phui-header-view.css' => '55bb32dd', 'rsrc/css/phui/phui-icon-set-selector.css' => '1ab67aad', 'rsrc/css/phui/phui-icon.css' => '3f33ab57', 'rsrc/css/phui/phui-image-mask.css' => '5a8b09c8', 'rsrc/css/phui/phui-info-panel.css' => '27ea50a1', 'rsrc/css/phui/phui-info-view.css' => '6d7c3509', 'rsrc/css/phui/phui-list.css' => '9da2aa00', 'rsrc/css/phui/phui-object-box.css' => '407eaf5a', 'rsrc/css/phui/phui-object-item-list-view.css' => '26c30d3f', 'rsrc/css/phui/phui-pager.css' => 'bea33d23', 'rsrc/css/phui/phui-pinboard-view.css' => '2495140e', 'rsrc/css/phui/phui-profile-menu.css' => 'a26fa598', 'rsrc/css/phui/phui-property-list-view.css' => '27b2849e', 'rsrc/css/phui/phui-remarkup-preview.css' => '1a8f2591', 'rsrc/css/phui/phui-spacing.css' => '042804d6', 'rsrc/css/phui/phui-status.css' => '888cedb8', 'rsrc/css/phui/phui-tag-view.css' => 'e60e227b', 'rsrc/css/phui/phui-text.css' => 'cf019f54', 'rsrc/css/phui/phui-timeline-view.css' => '2efceff8', 'rsrc/css/phui/phui-two-column-view.css' => '39ecafb1', 'rsrc/css/phui/phui-workboard-view.css' => '95a54f74', 'rsrc/css/phui/phui-workpanel-view.css' => 'adec7699', 'rsrc/css/sprite-login.css' => '60e8560e', 'rsrc/css/sprite-menu.css' => '9dd65b92', - 'rsrc/css/sprite-projects.css' => 'e5ad842a', 'rsrc/css/sprite-tokens.css' => '4f399012', 'rsrc/externals/font/aleo/aleo-bold.eot' => 'd3d3bed7', 'rsrc/externals/font/aleo/aleo-bold.svg' => '45899c8e', 'rsrc/externals/font/aleo/aleo-bold.ttf' => '4b08bef0', 'rsrc/externals/font/aleo/aleo-bold.woff' => '93b513a1', 'rsrc/externals/font/aleo/aleo-bold.woff2' => '75fbf322', 'rsrc/externals/font/aleo/aleo-regular.eot' => 'a4e29e2f', 'rsrc/externals/font/aleo/aleo-regular.svg' => '42a86f7a', 'rsrc/externals/font/aleo/aleo-regular.ttf' => '751e7479', 'rsrc/externals/font/aleo/aleo-regular.woff' => 'c3744be9', 'rsrc/externals/font/aleo/aleo-regular.woff2' => '851aa0ee', 'rsrc/externals/font/fontawesome/fontawesome-webfont.eot' => '346fbcc5', 'rsrc/externals/font/fontawesome/fontawesome-webfont.ttf' => '510fccb2', 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff' => '0334f580', 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff2' => '45dca585', 'rsrc/externals/font/lato/lato-bold.eot' => '99fbcf8c', 'rsrc/externals/font/lato/lato-bold.svg' => '2aa83045', 'rsrc/externals/font/lato/lato-bold.ttf' => '0a7141f7', 'rsrc/externals/font/lato/lato-bold.woff' => 'f5db2061', 'rsrc/externals/font/lato/lato-bold.woff2' => '37a94ecd', 'rsrc/externals/font/lato/lato-bolditalic.eot' => 'b93389d0', 'rsrc/externals/font/lato/lato-bolditalic.svg' => '5442e1ef', 'rsrc/externals/font/lato/lato-bolditalic.ttf' => 'dad31252', 'rsrc/externals/font/lato/lato-bolditalic.woff' => 'e53bcf47', 'rsrc/externals/font/lato/lato-bolditalic.woff2' => 'd035007f', 'rsrc/externals/font/lato/lato-italic.eot' => '6a903f5d', 'rsrc/externals/font/lato/lato-italic.svg' => '0dc7cf2f', 'rsrc/externals/font/lato/lato-italic.ttf' => '629f64f0', 'rsrc/externals/font/lato/lato-italic.woff' => '678dc4bb', 'rsrc/externals/font/lato/lato-italic.woff2' => '7c8dd650', 'rsrc/externals/font/lato/lato-regular.eot' => '848dfb1e', 'rsrc/externals/font/lato/lato-regular.svg' => 'cbd5fd6b', 'rsrc/externals/font/lato/lato-regular.ttf' => 'e270165b', 'rsrc/externals/font/lato/lato-regular.woff' => '13d39fe2', 'rsrc/externals/font/lato/lato-regular.woff2' => '57a9f742', 'rsrc/externals/javelin/core/Event.js' => '85ea0626', 'rsrc/externals/javelin/core/Stratcom.js' => '6c53634d', 'rsrc/externals/javelin/core/__tests__/event-stop-and-kill.js' => '717554e4', 'rsrc/externals/javelin/core/__tests__/install.js' => 'c432ee85', 'rsrc/externals/javelin/core/__tests__/stratcom.js' => '88bf7313', 'rsrc/externals/javelin/core/__tests__/util.js' => 'e251703d', 'rsrc/externals/javelin/core/init.js' => '3010e992', 'rsrc/externals/javelin/core/init_node.js' => 'c234aded', 'rsrc/externals/javelin/core/install.js' => '05270951', 'rsrc/externals/javelin/core/util.js' => '93cc50d6', 'rsrc/externals/javelin/docs/Base.js' => '74676256', 'rsrc/externals/javelin/docs/onload.js' => 'e819c479', 'rsrc/externals/javelin/ext/fx/Color.js' => '7e41274a', 'rsrc/externals/javelin/ext/fx/FX.js' => '54b612ba', 'rsrc/externals/javelin/ext/reactor/core/DynVal.js' => 'f6555212', 'rsrc/externals/javelin/ext/reactor/core/Reactor.js' => '2b8de964', 'rsrc/externals/javelin/ext/reactor/core/ReactorNode.js' => '1ad0a787', 'rsrc/externals/javelin/ext/reactor/core/ReactorNodeCalmer.js' => '76f4ebed', 'rsrc/externals/javelin/ext/reactor/dom/RDOM.js' => 'c90a04fc', 'rsrc/externals/javelin/ext/view/HTMLView.js' => 'fe287620', 'rsrc/externals/javelin/ext/view/View.js' => '0f764c35', 'rsrc/externals/javelin/ext/view/ViewInterpreter.js' => 'f829edb3', 'rsrc/externals/javelin/ext/view/ViewPlaceholder.js' => '47830651', 'rsrc/externals/javelin/ext/view/ViewRenderer.js' => '6c2b09a2', 'rsrc/externals/javelin/ext/view/ViewVisitor.js' => 'efe49472', 'rsrc/externals/javelin/ext/view/__tests__/HTMLView.js' => 'f92d7bcb', 'rsrc/externals/javelin/ext/view/__tests__/View.js' => '6450b38b', 'rsrc/externals/javelin/ext/view/__tests__/ViewInterpreter.js' => '7a94d6a5', 'rsrc/externals/javelin/ext/view/__tests__/ViewRenderer.js' => '6ea96ac9', 'rsrc/externals/javelin/lib/Cookie.js' => '62dfea03', 'rsrc/externals/javelin/lib/DOM.js' => '805b806a', 'rsrc/externals/javelin/lib/History.js' => 'd4505101', 'rsrc/externals/javelin/lib/JSON.js' => '69adf288', 'rsrc/externals/javelin/lib/Leader.js' => '331b1611', 'rsrc/externals/javelin/lib/Mask.js' => '8a41885b', 'rsrc/externals/javelin/lib/Quicksand.js' => '6b8ef10b', 'rsrc/externals/javelin/lib/Request.js' => '94b750d2', 'rsrc/externals/javelin/lib/Resource.js' => '44959b73', 'rsrc/externals/javelin/lib/Routable.js' => 'b3e7d692', 'rsrc/externals/javelin/lib/Router.js' => '29274e2b', 'rsrc/externals/javelin/lib/Scrollbar.js' => '087e919c', 'rsrc/externals/javelin/lib/Sound.js' => '949c0fe5', 'rsrc/externals/javelin/lib/URI.js' => 'c989ade3', 'rsrc/externals/javelin/lib/Vector.js' => '2caa8fb8', 'rsrc/externals/javelin/lib/WebSocket.js' => 'e292eaf4', 'rsrc/externals/javelin/lib/Workflow.js' => '5b2e3e2b', 'rsrc/externals/javelin/lib/__tests__/Cookie.js' => '5ed109e8', 'rsrc/externals/javelin/lib/__tests__/DOM.js' => 'c984504b', 'rsrc/externals/javelin/lib/__tests__/JSON.js' => '837a7d68', 'rsrc/externals/javelin/lib/__tests__/URI.js' => '1e45fda9', 'rsrc/externals/javelin/lib/__tests__/behavior.js' => '1ea62783', 'rsrc/externals/javelin/lib/behavior.js' => '61cbc29a', 'rsrc/externals/javelin/lib/control/tokenizer/Tokenizer.js' => '8d3bc1b2', 'rsrc/externals/javelin/lib/control/typeahead/Typeahead.js' => '70baed2f', 'rsrc/externals/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js' => 'e6e25838', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadCompositeSource.js' => '503e17fd', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js' => '013ffff9', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js' => '54f314a0', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadSource.js' => '1bc11c4a', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js' => '6c0e62fa', 'rsrc/externals/raphael/g.raphael.js' => '40dde778', 'rsrc/externals/raphael/g.raphael.line.js' => '40da039e', 'rsrc/externals/raphael/raphael.js' => '51ee6b43', 'rsrc/favicons/apple-touch-icon-120x120.png' => '43742962', 'rsrc/favicons/apple-touch-icon-152x152.png' => '669eaec3', 'rsrc/favicons/apple-touch-icon-76x76.png' => 'ecdef672', 'rsrc/favicons/favicon-128.png' => '47cdff03', 'rsrc/favicons/favicon-16x16.png' => 'ee2523ac', 'rsrc/favicons/favicon-32x32.png' => 'b6a8150e', 'rsrc/favicons/favicon-96x96.png' => '8f7ea177', 'rsrc/favicons/mask-icon.svg' => '0460cb1f', 'rsrc/image/BFCFDA.png' => 'd5ec91f4', 'rsrc/image/actions/edit.png' => '2fc41442', 'rsrc/image/avatar.png' => 'e132bb6a', 'rsrc/image/checker_dark.png' => 'd8e65881', 'rsrc/image/checker_light.png' => 'a0155918', 'rsrc/image/checker_lighter.png' => 'd5da91b6', 'rsrc/image/darkload.gif' => '1ffd3ec6', 'rsrc/image/divot.png' => '94dded62', 'rsrc/image/examples/hero.png' => '979a86ae', 'rsrc/image/grippy_texture.png' => 'aca81e2f', 'rsrc/image/icon/fatcow/arrow_branch.png' => '2537c01c', 'rsrc/image/icon/fatcow/arrow_merge.png' => '21b660e0', 'rsrc/image/icon/fatcow/bullet_black.png' => 'ff190031', 'rsrc/image/icon/fatcow/bullet_orange.png' => 'e273e5bb', 'rsrc/image/icon/fatcow/bullet_red.png' => 'c0b75434', 'rsrc/image/icon/fatcow/calendar_edit.png' => '24632275', 'rsrc/image/icon/fatcow/document_black.png' => '45fe1c60', 'rsrc/image/icon/fatcow/flag_blue.png' => 'a01abb1d', 'rsrc/image/icon/fatcow/flag_finish.png' => '67825cee', 'rsrc/image/icon/fatcow/flag_ghost.png' => '20ca8783', 'rsrc/image/icon/fatcow/flag_green.png' => '7e0eaa7a', 'rsrc/image/icon/fatcow/flag_orange.png' => '9e73df66', 'rsrc/image/icon/fatcow/flag_pink.png' => '7e92f3b2', 'rsrc/image/icon/fatcow/flag_purple.png' => 'cc517522', 'rsrc/image/icon/fatcow/flag_red.png' => '04ec726f', 'rsrc/image/icon/fatcow/flag_yellow.png' => '73946fd4', 'rsrc/image/icon/fatcow/key_question.png' => '52a0c26a', 'rsrc/image/icon/fatcow/link.png' => '7afd4d5e', 'rsrc/image/icon/fatcow/page_white_edit.png' => '39a2eed8', 'rsrc/image/icon/fatcow/page_white_put.png' => '08c95a0c', 'rsrc/image/icon/fatcow/source/conduit.png' => '4ea01d2f', 'rsrc/image/icon/fatcow/source/email.png' => '9bab3239', 'rsrc/image/icon/fatcow/source/fax.png' => '04195e68', 'rsrc/image/icon/fatcow/source/mobile.png' => 'f1321264', 'rsrc/image/icon/fatcow/source/tablet.png' => '49396799', 'rsrc/image/icon/fatcow/source/web.png' => '136ccb5d', 'rsrc/image/icon/lightbox/close-2.png' => 'cc40e7c8', 'rsrc/image/icon/lightbox/close-hover-2.png' => 'fb5d6d9e', 'rsrc/image/icon/lightbox/left-arrow-2.png' => '8426133b', 'rsrc/image/icon/lightbox/left-arrow-hover-2.png' => '701e5ee3', 'rsrc/image/icon/lightbox/right-arrow-2.png' => '6d5519a0', 'rsrc/image/icon/lightbox/right-arrow-hover-2.png' => '3a04aa21', 'rsrc/image/icon/subscribe.png' => 'd03ed5a5', 'rsrc/image/icon/tango/attachment.png' => 'ecc8022e', 'rsrc/image/icon/tango/edit.png' => '929a1363', 'rsrc/image/icon/tango/go-down.png' => '96d95e43', 'rsrc/image/icon/tango/log.png' => 'b08cc63a', 'rsrc/image/icon/tango/upload.png' => '7bbb7984', 'rsrc/image/icon/unsubscribe.png' => '25725013', 'rsrc/image/lightblue-header.png' => '5c168b6d', 'rsrc/image/main_texture.png' => '29a2c5ad', 'rsrc/image/menu_texture.png' => '5a17580d', 'rsrc/image/people/harding.png' => '45aa614e', 'rsrc/image/people/jefferson.png' => 'afca0e53', 'rsrc/image/people/lincoln.png' => '9369126d', 'rsrc/image/people/mckinley.png' => 'fb8f16ce', 'rsrc/image/people/taft.png' => 'd7bc402c', 'rsrc/image/people/user0.png' => '03dacaea', 'rsrc/image/people/user1.png' => '4a4e7702', 'rsrc/image/people/user2.png' => '47a0ee40', 'rsrc/image/people/user3.png' => '835ff627', 'rsrc/image/people/user4.png' => 'b0e830f1', 'rsrc/image/people/user5.png' => '9c95b369', 'rsrc/image/people/user6.png' => 'ba3fbfb0', 'rsrc/image/people/user7.png' => 'da613924', 'rsrc/image/people/user8.png' => 'f1035edf', 'rsrc/image/people/user9.png' => '66730be3', 'rsrc/image/people/washington.png' => '40dd301c', 'rsrc/image/phrequent_active.png' => 'a466a8ed', 'rsrc/image/phrequent_inactive.png' => 'bfc15a69', 'rsrc/image/sprite-login-X2.png' => 'e3991e37', 'rsrc/image/sprite-login.png' => '03d5af29', 'rsrc/image/sprite-menu-X2.png' => 'cfd8fca5', 'rsrc/image/sprite-menu.png' => 'd7a99faa', - 'rsrc/image/sprite-projects-X2.png' => '853552c7', - 'rsrc/image/sprite-projects.png' => 'b9dd74b8', 'rsrc/image/sprite-tokens-X2.png' => '348f1745', 'rsrc/image/sprite-tokens.png' => 'ce0b62be', 'rsrc/image/texture/card-gradient.png' => '815f26e8', 'rsrc/image/texture/dark-menu-hover.png' => '5fa7ece8', 'rsrc/image/texture/dark-menu.png' => '7e22296e', 'rsrc/image/texture/grip.png' => '719404f3', 'rsrc/image/texture/panel-header-gradient.png' => 'e3b8dcfe', 'rsrc/image/texture/phlnx-bg.png' => '8d819209', 'rsrc/image/texture/pholio-background.gif' => 'ba29239c', 'rsrc/image/texture/table_header.png' => '5c433037', 'rsrc/image/texture/table_header_hover.png' => '038ec3b9', 'rsrc/image/texture/table_header_tall.png' => 'd56b434f', 'rsrc/js/application/aphlict/Aphlict.js' => '5359e785', 'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => '031cee25', 'rsrc/js/application/aphlict/behavior-aphlict-listen.js' => 'fb20ac8d', 'rsrc/js/application/aphlict/behavior-aphlict-status.js' => 'ea681761', 'rsrc/js/application/aphlict/behavior-desktop-notifications-control.js' => 'edd1ba66', 'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18', 'rsrc/js/application/calendar/behavior-day-view.js' => '5c46cff2', 'rsrc/js/application/calendar/behavior-event-all-day.js' => '38dcf3c8', 'rsrc/js/application/calendar/behavior-recurring-edit.js' => '5f1c4d5f', 'rsrc/js/application/config/behavior-reorder-fields.js' => 'b6993408', 'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => '01774ab2', 'rsrc/js/application/conpherence/behavior-drag-and-drop-photo.js' => 'cf86d16a', 'rsrc/js/application/conpherence/behavior-durable-column.js' => 'c72aa091', 'rsrc/js/application/conpherence/behavior-menu.js' => '1d45c74d', 'rsrc/js/application/conpherence/behavior-pontificate.js' => '21ba5861', 'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3', 'rsrc/js/application/conpherence/behavior-widget-pane.js' => 'a8458711', 'rsrc/js/application/countdown/timer.js' => 'e4cc26b3', 'rsrc/js/application/daemon/behavior-bulk-job-reload.js' => 'edf8a145', 'rsrc/js/application/dashboard/behavior-dashboard-async-panel.js' => '469c0d9e', 'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '82439934', 'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375', 'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63', 'rsrc/js/application/differential/ChangesetViewManager.js' => 'a2828756', 'rsrc/js/application/differential/DifferentialInlineCommentEditor.js' => '64a5550f', 'rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js' => 'e10f8e18', 'rsrc/js/application/differential/behavior-comment-jump.js' => '4fdb476d', 'rsrc/js/application/differential/behavior-comment-preview.js' => 'b064af76', 'rsrc/js/application/differential/behavior-diff-radios.js' => 'e1ff79b1', 'rsrc/js/application/differential/behavior-dropdown-menus.js' => '9a6b9324', 'rsrc/js/application/differential/behavior-edit-inline-comments.js' => '65ef6074', 'rsrc/js/application/differential/behavior-keyboard-nav.js' => '2c426492', 'rsrc/js/application/differential/behavior-populate.js' => '8694b1df', 'rsrc/js/application/differential/behavior-toggle-files.js' => 'ca3f91eb', 'rsrc/js/application/differential/behavior-user-select.js' => 'a8d8459d', 'rsrc/js/application/diffusion/DiffusionLocateFileSource.js' => 'b42eddc7', 'rsrc/js/application/diffusion/behavior-audit-preview.js' => 'd835b03a', 'rsrc/js/application/diffusion/behavior-commit-branches.js' => 'bdaf4d04', 'rsrc/js/application/diffusion/behavior-commit-graph.js' => '5a0b1a64', 'rsrc/js/application/diffusion/behavior-jump-to.js' => '73d09eef', 'rsrc/js/application/diffusion/behavior-load-blame.js' => '42126667', 'rsrc/js/application/diffusion/behavior-locate-file.js' => '6d3e1947', 'rsrc/js/application/diffusion/behavior-pull-lastmodified.js' => 'f01586dc', 'rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js' => 'e5822781', 'rsrc/js/application/drydock/drydock-live-operation-status.js' => '901935ef', - 'rsrc/js/application/files/behavior-icon-composer.js' => '8ef9ab58', + 'rsrc/js/application/files/behavior-icon-composer.js' => '8499b6ab', 'rsrc/js/application/files/behavior-launch-icon-composer.js' => '48086888', 'rsrc/js/application/herald/HeraldRuleEditor.js' => '5bd8f385', 'rsrc/js/application/herald/PathTypeahead.js' => 'f7fc67ec', 'rsrc/js/application/herald/herald-rule-editor.js' => '7ebaeed3', 'rsrc/js/application/maniphest/behavior-batch-editor.js' => '782ab6e7', 'rsrc/js/application/maniphest/behavior-batch-selector.js' => '7b98d7c5', 'rsrc/js/application/maniphest/behavior-line-chart.js' => '88f0c5b3', 'rsrc/js/application/maniphest/behavior-list-edit.js' => 'a9f88de2', 'rsrc/js/application/maniphest/behavior-subpriorityeditor.js' => '71237763', 'rsrc/js/application/owners/OwnersPathEditor.js' => 'aa1733d0', 'rsrc/js/application/owners/owners-path-editor.js' => '7a68dda3', 'rsrc/js/application/passphrase/passphrase-credential-control.js' => '3cb0b2fc', 'rsrc/js/application/pholio/behavior-pholio-mock-edit.js' => '246dc085', 'rsrc/js/application/pholio/behavior-pholio-mock-view.js' => 'fbe497e7', 'rsrc/js/application/phortune/behavior-stripe-payment-form.js' => '3f5d6dbf', 'rsrc/js/application/phortune/behavior-test-payment-form.js' => 'fc91ab6c', 'rsrc/js/application/phortune/phortune-credit-card-form.js' => '2290aeef', 'rsrc/js/application/policy/behavior-policy-control.js' => 'ae45872f', 'rsrc/js/application/policy/behavior-policy-rule-editor.js' => '5e9f347c', 'rsrc/js/application/projects/behavior-project-boards.js' => 'ba4fa35c', 'rsrc/js/application/projects/behavior-project-create.js' => '065227cc', 'rsrc/js/application/projects/behavior-reorder-columns.js' => 'e1d25dfb', 'rsrc/js/application/releeph/releeph-preview-branch.js' => 'b2b4fbaf', 'rsrc/js/application/releeph/releeph-request-state-change.js' => 'a0b57eb8', 'rsrc/js/application/releeph/releeph-request-typeahead.js' => 'de2e896f', 'rsrc/js/application/repository/repository-crossreference.js' => 'e5339c43', 'rsrc/js/application/search/behavior-reorder-profile-menu-items.js' => 'e2e0a072', 'rsrc/js/application/search/behavior-reorder-queries.js' => 'e9581f08', 'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => '887ad43f', 'rsrc/js/application/transactions/behavior-comment-actions.js' => '1f2fcaf8', 'rsrc/js/application/transactions/behavior-reorder-configs.js' => 'd7a74243', 'rsrc/js/application/transactions/behavior-reorder-fields.js' => 'b59e1e96', 'rsrc/js/application/transactions/behavior-show-older-transactions.js' => 'dbbf48b6', 'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => 'b23b49e6', 'rsrc/js/application/transactions/behavior-transaction-list.js' => '13c739ea', 'rsrc/js/application/typeahead/behavior-typeahead-browse.js' => '635de1ec', 'rsrc/js/application/typeahead/behavior-typeahead-search.js' => '93d0c9e3', 'rsrc/js/application/uiexample/JavelinViewExample.js' => 'd4a14807', 'rsrc/js/application/uiexample/ReactorButtonExample.js' => 'd19198c8', 'rsrc/js/application/uiexample/ReactorCheckboxExample.js' => '519705ea', 'rsrc/js/application/uiexample/ReactorFocusExample.js' => '40a6a403', 'rsrc/js/application/uiexample/ReactorInputExample.js' => '886fd850', 'rsrc/js/application/uiexample/ReactorMouseoverExample.js' => '47c794d8', 'rsrc/js/application/uiexample/ReactorRadioExample.js' => '988040b4', 'rsrc/js/application/uiexample/ReactorSelectExample.js' => 'a155550f', 'rsrc/js/application/uiexample/ReactorSendClassExample.js' => '1def2711', 'rsrc/js/application/uiexample/ReactorSendPropertiesExample.js' => 'b1f0ccee', 'rsrc/js/application/uiexample/busy-example.js' => '60479091', 'rsrc/js/application/uiexample/gesture-example.js' => '558829c2', 'rsrc/js/application/uiexample/notification-example.js' => '8ce821c5', 'rsrc/js/core/Busy.js' => '59a7976a', 'rsrc/js/core/DragAndDropFileUpload.js' => 'ad10aeac', 'rsrc/js/core/DraggableList.js' => 'a16ec1c6', 'rsrc/js/core/FileUpload.js' => '477359c8', 'rsrc/js/core/Hovercard.js' => 'c6f720ff', 'rsrc/js/core/KeyboardShortcut.js' => '1ae869f2', 'rsrc/js/core/KeyboardShortcutManager.js' => 'c1700f6f', 'rsrc/js/core/MultirowRowManager.js' => 'b5d57730', 'rsrc/js/core/Notification.js' => 'ccf1cbf8', 'rsrc/js/core/Prefab.js' => 'e67df814', 'rsrc/js/core/ShapedRequest.js' => '7cbe244b', 'rsrc/js/core/TextAreaUtils.js' => '9e54692d', 'rsrc/js/core/Title.js' => 'df5e11d2', 'rsrc/js/core/ToolTip.js' => '1d298e3a', 'rsrc/js/core/behavior-active-nav.js' => 'e379b58e', 'rsrc/js/core/behavior-audio-source.js' => '59b251eb', 'rsrc/js/core/behavior-autofocus.js' => '7319e029', 'rsrc/js/core/behavior-choose-control.js' => '327a00d1', 'rsrc/js/core/behavior-crop.js' => 'fa0f4fc2', 'rsrc/js/core/behavior-dark-console.js' => 'f411b6ae', 'rsrc/js/core/behavior-device.js' => 'a205cf28', 'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '4f6a4b4e', 'rsrc/js/core/behavior-error-log.js' => '6882e80a', 'rsrc/js/core/behavior-fancy-datepicker.js' => '8ae55229', 'rsrc/js/core/behavior-file-tree.js' => '88236f00', 'rsrc/js/core/behavior-form.js' => '5c54cbf3', 'rsrc/js/core/behavior-gesture.js' => '3ab51e2c', 'rsrc/js/core/behavior-global-drag-and-drop.js' => 'c8e57404', 'rsrc/js/core/behavior-high-security-warning.js' => 'a464fe03', 'rsrc/js/core/behavior-history-install.js' => '7ee2b591', 'rsrc/js/core/behavior-hovercard.js' => '66dd6e9e', 'rsrc/js/core/behavior-keyboard-pager.js' => 'a8da01f0', 'rsrc/js/core/behavior-keyboard-shortcuts.js' => 'd75709e6', 'rsrc/js/core/behavior-lightbox-attachments.js' => 'f8ba29d7', 'rsrc/js/core/behavior-line-linker.js' => '1499a8cb', 'rsrc/js/core/behavior-more.js' => 'a80d0378', 'rsrc/js/core/behavior-object-selector.js' => '49b73b36', 'rsrc/js/core/behavior-oncopy.js' => '2926fff2', 'rsrc/js/core/behavior-phabricator-nav.js' => '56a1ca03', 'rsrc/js/core/behavior-phabricator-remarkup-assist.js' => '340c8eff', 'rsrc/js/core/behavior-refresh-csrf.js' => 'ab2f381b', 'rsrc/js/core/behavior-remarkup-preview.js' => '4b700e9e', 'rsrc/js/core/behavior-reorder-applications.js' => '76b9fc3e', 'rsrc/js/core/behavior-reveal-content.js' => '60821bc7', 'rsrc/js/core/behavior-scrollbar.js' => '834a1173', 'rsrc/js/core/behavior-search-typeahead.js' => '0b7a4f6e', 'rsrc/js/core/behavior-select-on-click.js' => '4e3e79a6', 'rsrc/js/core/behavior-time-typeahead.js' => 'f80d6bf0', 'rsrc/js/core/behavior-toggle-class.js' => '5d7c9f33', 'rsrc/js/core/behavior-tokenizer.js' => 'b3a4b884', 'rsrc/js/core/behavior-tooltip.js' => '3ee3408b', 'rsrc/js/core/behavior-watch-anchor.js' => '9f36c42d', 'rsrc/js/core/behavior-workflow.js' => '0a3f3021', 'rsrc/js/core/phtize.js' => 'd254d646', 'rsrc/js/phui/behavior-phui-dropdown-menu.js' => '54733475', 'rsrc/js/phui/behavior-phui-object-box-tabs.js' => '2bfa2836', 'rsrc/js/phuix/PHUIXActionListView.js' => 'b5c256b8', 'rsrc/js/phuix/PHUIXActionView.js' => '8cf6d262', 'rsrc/js/phuix/PHUIXAutocomplete.js' => '21dc9144', 'rsrc/js/phuix/PHUIXDropdownMenu.js' => 'bd4c8dca', 'rsrc/js/phuix/PHUIXFormControl.js' => '8fba1997', 'rsrc/js/phuix/PHUIXIconView.js' => 'bff6884b', ), 'symbols' => array( 'almanac-css' => 'dbb9b3af', 'aphront-bars' => '231ac33c', 'aphront-dark-console-css' => '6378ef3d', 'aphront-dialog-view-css' => 'be0e3a46', 'aphront-list-filter-view-css' => '5d6f0526', 'aphront-multi-column-view-css' => 'fd18389d', 'aphront-panel-view-css' => '8427b78d', 'aphront-table-view-css' => '6d01d468', 'aphront-tokenizer-control-css' => '056da01b', 'aphront-tooltip-css' => '7672b60f', 'aphront-typeahead-control-css' => '0e403212', 'auth-css' => '0877ed6e', 'bulk-job-css' => 'df9c1d4a', 'changeset-view-manager' => 'a2828756', 'conduit-api-css' => '7bc725c4', 'config-options-css' => '0ede4c9b', 'config-welcome-css' => '6abd79be', 'conpherence-durable-column-view' => '86396117', 'conpherence-menu-css' => 'f99fee4c', 'conpherence-message-pane-css' => '5897d3ac', 'conpherence-notification-css' => '6cdcc253', 'conpherence-thread-manager' => '01774ab2', 'conpherence-transaction-css' => '85d0974c', 'conpherence-update-css' => 'faf6be09', 'conpherence-widget-pane-css' => '775eaaba', 'differential-changeset-view-css' => 'b6b0d1bb', 'differential-core-view-css' => '7ac3cabc', 'differential-inline-comment-editor' => '64a5550f', 'differential-revision-add-comment-css' => 'c47f8c40', 'differential-revision-comment-css' => '14b8565a', 'differential-revision-history-css' => '0e8eb855', 'differential-revision-list-css' => 'f3c47d33', 'differential-table-of-contents-css' => 'ae4b7a55', 'diffusion-icons-css' => '2941baf1', 'diffusion-readme-css' => '2106ea08', 'diffusion-source-css' => '075ba788', 'diviner-shared-css' => 'aa3656aa', 'font-aleo' => '8bdb2835', 'font-fontawesome' => 'c43323c5', 'font-lato' => 'c7ccd872', 'global-drag-and-drop-css' => '697324ad', 'harbormaster-css' => 'b0758ca5', 'herald-css' => '826075fa', 'herald-rule-editor' => '5bd8f385', 'herald-test-css' => 'a52e323e', 'inline-comment-summary-css' => '51efda3a', 'javelin-aphlict' => '5359e785', 'javelin-behavior' => '61cbc29a', 'javelin-behavior-aphlict-dropdown' => '031cee25', 'javelin-behavior-aphlict-listen' => 'fb20ac8d', 'javelin-behavior-aphlict-status' => 'ea681761', 'javelin-behavior-aphront-basic-tokenizer' => 'b3a4b884', 'javelin-behavior-aphront-crop' => 'fa0f4fc2', 'javelin-behavior-aphront-drag-and-drop-textarea' => '4f6a4b4e', 'javelin-behavior-aphront-form-disable-on-submit' => '5c54cbf3', 'javelin-behavior-aphront-more' => 'a80d0378', 'javelin-behavior-audio-source' => '59b251eb', 'javelin-behavior-audit-preview' => 'd835b03a', 'javelin-behavior-bulk-job-reload' => 'edf8a145', 'javelin-behavior-choose-control' => '327a00d1', 'javelin-behavior-comment-actions' => '1f2fcaf8', 'javelin-behavior-config-reorder-fields' => 'b6993408', 'javelin-behavior-conpherence-drag-and-drop-photo' => 'cf86d16a', 'javelin-behavior-conpherence-menu' => '1d45c74d', 'javelin-behavior-conpherence-pontificate' => '21ba5861', 'javelin-behavior-conpherence-widget-pane' => 'a8458711', 'javelin-behavior-countdown-timer' => 'e4cc26b3', 'javelin-behavior-dark-console' => 'f411b6ae', 'javelin-behavior-dashboard-async-panel' => '469c0d9e', 'javelin-behavior-dashboard-move-panels' => '82439934', 'javelin-behavior-dashboard-query-panel-select' => '453c5375', 'javelin-behavior-dashboard-tab-panel' => 'd4eecc63', 'javelin-behavior-day-view' => '5c46cff2', 'javelin-behavior-desktop-notifications-control' => 'edd1ba66', 'javelin-behavior-device' => 'a205cf28', 'javelin-behavior-differential-add-reviewers-and-ccs' => 'e10f8e18', 'javelin-behavior-differential-comment-jump' => '4fdb476d', 'javelin-behavior-differential-diff-radios' => 'e1ff79b1', 'javelin-behavior-differential-dropdown-menus' => '9a6b9324', 'javelin-behavior-differential-edit-inline-comments' => '65ef6074', 'javelin-behavior-differential-feedback-preview' => 'b064af76', 'javelin-behavior-differential-keyboard-navigation' => '2c426492', 'javelin-behavior-differential-populate' => '8694b1df', 'javelin-behavior-differential-toggle-files' => 'ca3f91eb', 'javelin-behavior-differential-user-select' => 'a8d8459d', 'javelin-behavior-diffusion-commit-branches' => 'bdaf4d04', 'javelin-behavior-diffusion-commit-graph' => '5a0b1a64', 'javelin-behavior-diffusion-jump-to' => '73d09eef', 'javelin-behavior-diffusion-locate-file' => '6d3e1947', 'javelin-behavior-diffusion-pull-lastmodified' => 'f01586dc', 'javelin-behavior-doorkeeper-tag' => 'e5822781', 'javelin-behavior-drydock-live-operation-status' => '901935ef', 'javelin-behavior-durable-column' => 'c72aa091', 'javelin-behavior-editengine-reorder-configs' => 'd7a74243', 'javelin-behavior-editengine-reorder-fields' => 'b59e1e96', 'javelin-behavior-error-log' => '6882e80a', 'javelin-behavior-event-all-day' => '38dcf3c8', 'javelin-behavior-fancy-datepicker' => '8ae55229', 'javelin-behavior-global-drag-and-drop' => 'c8e57404', 'javelin-behavior-herald-rule-editor' => '7ebaeed3', 'javelin-behavior-high-security-warning' => 'a464fe03', 'javelin-behavior-history-install' => '7ee2b591', - 'javelin-behavior-icon-composer' => '8ef9ab58', + 'javelin-behavior-icon-composer' => '8499b6ab', 'javelin-behavior-launch-icon-composer' => '48086888', 'javelin-behavior-lightbox-attachments' => 'f8ba29d7', 'javelin-behavior-line-chart' => '88f0c5b3', 'javelin-behavior-load-blame' => '42126667', 'javelin-behavior-maniphest-batch-editor' => '782ab6e7', 'javelin-behavior-maniphest-batch-selector' => '7b98d7c5', 'javelin-behavior-maniphest-list-editor' => 'a9f88de2', 'javelin-behavior-maniphest-subpriority-editor' => '71237763', 'javelin-behavior-owners-path-editor' => '7a68dda3', 'javelin-behavior-passphrase-credential-control' => '3cb0b2fc', 'javelin-behavior-persona-login' => '9414ff18', 'javelin-behavior-phabricator-active-nav' => 'e379b58e', 'javelin-behavior-phabricator-autofocus' => '7319e029', 'javelin-behavior-phabricator-busy-example' => '60479091', 'javelin-behavior-phabricator-file-tree' => '88236f00', 'javelin-behavior-phabricator-gesture' => '3ab51e2c', 'javelin-behavior-phabricator-gesture-example' => '558829c2', 'javelin-behavior-phabricator-hovercards' => '66dd6e9e', 'javelin-behavior-phabricator-keyboard-pager' => 'a8da01f0', 'javelin-behavior-phabricator-keyboard-shortcuts' => 'd75709e6', 'javelin-behavior-phabricator-line-linker' => '1499a8cb', 'javelin-behavior-phabricator-nav' => '56a1ca03', 'javelin-behavior-phabricator-notification-example' => '8ce821c5', 'javelin-behavior-phabricator-object-selector' => '49b73b36', 'javelin-behavior-phabricator-oncopy' => '2926fff2', 'javelin-behavior-phabricator-remarkup-assist' => '340c8eff', 'javelin-behavior-phabricator-reveal-content' => '60821bc7', 'javelin-behavior-phabricator-search-typeahead' => '0b7a4f6e', 'javelin-behavior-phabricator-show-older-transactions' => 'dbbf48b6', 'javelin-behavior-phabricator-tooltips' => '3ee3408b', 'javelin-behavior-phabricator-transaction-comment-form' => 'b23b49e6', 'javelin-behavior-phabricator-transaction-list' => '13c739ea', 'javelin-behavior-phabricator-watch-anchor' => '9f36c42d', 'javelin-behavior-pholio-mock-edit' => '246dc085', 'javelin-behavior-pholio-mock-view' => 'fbe497e7', 'javelin-behavior-phui-dropdown-menu' => '54733475', 'javelin-behavior-phui-object-box-tabs' => '2bfa2836', 'javelin-behavior-policy-control' => 'ae45872f', 'javelin-behavior-policy-rule-editor' => '5e9f347c', 'javelin-behavior-project-boards' => 'ba4fa35c', 'javelin-behavior-project-create' => '065227cc', 'javelin-behavior-quicksand-blacklist' => '7927a7d3', 'javelin-behavior-recurring-edit' => '5f1c4d5f', 'javelin-behavior-refresh-csrf' => 'ab2f381b', 'javelin-behavior-releeph-preview-branch' => 'b2b4fbaf', 'javelin-behavior-releeph-request-state-change' => 'a0b57eb8', 'javelin-behavior-releeph-request-typeahead' => 'de2e896f', 'javelin-behavior-remarkup-preview' => '4b700e9e', 'javelin-behavior-reorder-applications' => '76b9fc3e', 'javelin-behavior-reorder-columns' => 'e1d25dfb', 'javelin-behavior-reorder-profile-menu-items' => 'e2e0a072', 'javelin-behavior-repository-crossreference' => 'e5339c43', 'javelin-behavior-scrollbar' => '834a1173', 'javelin-behavior-search-reorder-queries' => 'e9581f08', 'javelin-behavior-select-on-click' => '4e3e79a6', 'javelin-behavior-slowvote-embed' => '887ad43f', 'javelin-behavior-stripe-payment-form' => '3f5d6dbf', 'javelin-behavior-test-payment-form' => 'fc91ab6c', 'javelin-behavior-time-typeahead' => 'f80d6bf0', 'javelin-behavior-toggle-class' => '5d7c9f33', 'javelin-behavior-typeahead-browse' => '635de1ec', 'javelin-behavior-typeahead-search' => '93d0c9e3', 'javelin-behavior-view-placeholder' => '47830651', 'javelin-behavior-workflow' => '0a3f3021', 'javelin-color' => '7e41274a', 'javelin-cookie' => '62dfea03', 'javelin-diffusion-locate-file-source' => 'b42eddc7', 'javelin-dom' => '805b806a', 'javelin-dynval' => 'f6555212', 'javelin-event' => '85ea0626', 'javelin-fx' => '54b612ba', 'javelin-history' => 'd4505101', 'javelin-install' => '05270951', 'javelin-json' => '69adf288', 'javelin-leader' => '331b1611', 'javelin-magical-init' => '3010e992', 'javelin-mask' => '8a41885b', 'javelin-quicksand' => '6b8ef10b', 'javelin-reactor' => '2b8de964', 'javelin-reactor-dom' => 'c90a04fc', 'javelin-reactor-node-calmer' => '76f4ebed', 'javelin-reactornode' => '1ad0a787', 'javelin-request' => '94b750d2', 'javelin-resource' => '44959b73', 'javelin-routable' => 'b3e7d692', 'javelin-router' => '29274e2b', 'javelin-scrollbar' => '087e919c', 'javelin-sound' => '949c0fe5', 'javelin-stratcom' => '6c53634d', 'javelin-tokenizer' => '8d3bc1b2', 'javelin-typeahead' => '70baed2f', 'javelin-typeahead-composite-source' => '503e17fd', 'javelin-typeahead-normalizer' => 'e6e25838', 'javelin-typeahead-ondemand-source' => '013ffff9', 'javelin-typeahead-preloaded-source' => '54f314a0', 'javelin-typeahead-source' => '1bc11c4a', 'javelin-typeahead-static-source' => '6c0e62fa', 'javelin-uri' => 'c989ade3', 'javelin-util' => '93cc50d6', 'javelin-vector' => '2caa8fb8', 'javelin-view' => '0f764c35', 'javelin-view-html' => 'fe287620', 'javelin-view-interpreter' => 'f829edb3', 'javelin-view-renderer' => '6c2b09a2', 'javelin-view-visitor' => 'efe49472', 'javelin-websocket' => 'e292eaf4', 'javelin-workflow' => '5b2e3e2b', 'lightbox-attachment-css' => '7acac05d', 'maniphest-batch-editor' => 'b0f0b6d5', 'maniphest-report-css' => 'f6931fdf', 'maniphest-task-edit-css' => 'fda62a9b', 'maniphest-task-summary-css' => '11cc5344', 'multirow-row-manager' => 'b5d57730', 'owners-path-editor' => 'aa1733d0', 'owners-path-editor-css' => '2f00933b', 'paste-css' => 'a5157c48', 'path-typeahead' => 'f7fc67ec', - 'people-profile-css' => '25970776', + 'people-profile-css' => '8f894dee', 'phabricator-action-list-view-css' => 'c5eba19d', 'phabricator-application-launch-view-css' => '95351601', 'phabricator-busy' => '59a7976a', 'phabricator-chatlog-css' => 'd295b020', 'phabricator-content-source-view-css' => '4b8b05d4', 'phabricator-core-css' => 'a76cefc9', 'phabricator-countdown-css' => 'e7544472', 'phabricator-dashboard-css' => 'eb458607', 'phabricator-drag-and-drop-file-upload' => 'ad10aeac', 'phabricator-draggable-list' => 'a16ec1c6', 'phabricator-fatal-config-template-css' => '8e6c6fcd', 'phabricator-feed-css' => 'ecd4ec57', 'phabricator-file-upload' => '477359c8', 'phabricator-filetree-view-css' => 'fccf9f82', 'phabricator-flag-css' => '5337623f', 'phabricator-hovercard' => 'c6f720ff', 'phabricator-hovercard-view-css' => '1239cd52', 'phabricator-keyboard-shortcut' => '1ae869f2', 'phabricator-keyboard-shortcut-manager' => 'c1700f6f', 'phabricator-main-menu-view' => 'd00a795a', 'phabricator-nav-view-css' => 'a24cb589', 'phabricator-notification' => 'ccf1cbf8', 'phabricator-notification-css' => '9c279160', 'phabricator-notification-menu-css' => 'f31c0bde', 'phabricator-object-selector-css' => '85ee8ce6', 'phabricator-phtize' => 'd254d646', 'phabricator-prefab' => 'e67df814', 'phabricator-remarkup-css' => 'b748dc17', 'phabricator-search-results-css' => '7dea472c', 'phabricator-shaped-request' => '7cbe244b', 'phabricator-side-menu-view-css' => '3a3d9f41', 'phabricator-slowvote-css' => 'da0afb1b', 'phabricator-source-code-view-css' => 'cbeef983', 'phabricator-standard-page-view' => '7b0d68d8', 'phabricator-textareautils' => '9e54692d', 'phabricator-title' => 'df5e11d2', 'phabricator-tooltip' => '1d298e3a', 'phabricator-ui-example-css' => '528b19de', 'phabricator-uiexample-javelin-view' => 'd4a14807', 'phabricator-uiexample-reactor-button' => 'd19198c8', 'phabricator-uiexample-reactor-checkbox' => '519705ea', 'phabricator-uiexample-reactor-focus' => '40a6a403', 'phabricator-uiexample-reactor-input' => '886fd850', 'phabricator-uiexample-reactor-mouseover' => '47c794d8', 'phabricator-uiexample-reactor-radio' => '988040b4', 'phabricator-uiexample-reactor-select' => 'a155550f', 'phabricator-uiexample-reactor-sendclass' => '1def2711', 'phabricator-uiexample-reactor-sendproperties' => 'b1f0ccee', 'phabricator-zindex-css' => 'a36a45da', 'phame-css' => 'dac8fdf2', 'pholio-css' => '95174bdd', 'pholio-edit-css' => '3ad9d1ee', 'pholio-inline-comments-css' => '8e545e49', 'phortune-credit-card-form' => '2290aeef', 'phortune-credit-card-form-css' => '8391eb02', 'phortune-css' => '9149f103', 'phrequent-css' => 'ffc185ad', 'phriction-document-css' => 'd1861e06', 'phui-action-panel-css' => '91c7b835', 'phui-badge-view-css' => 'f25c3476', 'phui-big-info-view-css' => 'bd903741', 'phui-box-css' => 'a5bb366d', 'phui-button-css' => '16020a60', 'phui-calendar-css' => 'ccabe893', 'phui-calendar-day-css' => 'd1cf6f93', 'phui-calendar-list-css' => 'c1c7f338', 'phui-calendar-month-css' => '476be7e0', 'phui-crumbs-view-css' => '414406b5', 'phui-document-summary-view-css' => '9ca48bdf', 'phui-document-view-css' => 'a4a1c3b9', 'phui-document-view-pro-css' => '8799acf7', 'phui-feed-story-css' => 'b7b26d23', 'phui-font-icon-base-css' => 'ecbbb4c2', 'phui-fontkit-css' => '9cda225e', 'phui-form-css' => '0b98e572', 'phui-form-view-css' => '4a1a0f5e', 'phui-header-view-css' => '55bb32dd', 'phui-icon-set-selector-css' => '1ab67aad', 'phui-icon-view-css' => '3f33ab57', 'phui-image-mask-css' => '5a8b09c8', 'phui-info-panel-css' => '27ea50a1', 'phui-info-view-css' => '6d7c3509', 'phui-inline-comment-view-css' => '0fdb3667', 'phui-list-view-css' => '9da2aa00', 'phui-object-box-css' => '407eaf5a', 'phui-object-item-list-view-css' => '26c30d3f', 'phui-pager-css' => 'bea33d23', 'phui-pinboard-view-css' => '2495140e', 'phui-profile-menu-css' => 'a26fa598', 'phui-property-list-view-css' => '27b2849e', 'phui-remarkup-preview-css' => '1a8f2591', 'phui-spacing-css' => '042804d6', 'phui-status-list-view-css' => '888cedb8', 'phui-tag-view-css' => 'e60e227b', 'phui-text-css' => 'cf019f54', 'phui-theme-css' => '981a58f8', 'phui-timeline-view-css' => '2efceff8', 'phui-two-column-view-css' => '39ecafb1', 'phui-workboard-view-css' => '95a54f74', 'phui-workpanel-view-css' => 'adec7699', 'phuix-action-list-view' => 'b5c256b8', 'phuix-action-view' => '8cf6d262', 'phuix-autocomplete' => '21dc9144', 'phuix-dropdown-menu' => 'bd4c8dca', 'phuix-form-control-view' => '8fba1997', 'phuix-icon-view' => 'bff6884b', 'policy-css' => '957ea14c', 'policy-edit-css' => '815c66f7', 'policy-transaction-detail-css' => '82100a43', 'ponder-view-css' => '7b0df4da', 'raphael-core' => '51ee6b43', 'raphael-g' => '40dde778', 'raphael-g-line' => '40da039e', 'releeph-core' => '9b3c5733', 'releeph-preview-branch' => 'b7a6f4a5', 'releeph-request-differential-create-dialog' => '8d8b92cd', 'releeph-request-typeahead-css' => '667a48ae', 'setup-issue-css' => 'db7e9c40', 'sprite-login-css' => '60e8560e', 'sprite-menu-css' => '9dd65b92', - 'sprite-projects-css' => 'e5ad842a', 'sprite-tokens-css' => '4f399012', 'syntax-highlighting-css' => '9fd11da8', 'tokens-css' => '3d0f239e', 'typeahead-browse-css' => 'd8581d2c', 'unhandled-exception-css' => '4c96257a', ), 'requires' => array( '013ffff9' => array( 'javelin-install', 'javelin-util', 'javelin-request', 'javelin-typeahead-source', ), '01774ab2' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-install', 'javelin-aphlict', 'javelin-workflow', 'javelin-router', 'javelin-behavior-device', 'javelin-vector', ), '031cee25' => array( 'javelin-behavior', 'javelin-request', 'javelin-stratcom', 'javelin-vector', 'javelin-dom', 'javelin-uri', 'javelin-behavior-device', 'phabricator-title', ), '05270951' => array( 'javelin-util', 'javelin-magical-init', ), '056da01b' => array( 'aphront-typeahead-control-css', 'phui-tag-view-css', ), '065227cc' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', ), '087e919c' => array( 'javelin-install', 'javelin-dom', 'javelin-stratcom', 'javelin-vector', ), '0a3f3021' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'javelin-router', ), '0b7a4f6e' => array( 'javelin-behavior', 'javelin-typeahead-ondemand-source', 'javelin-typeahead', 'javelin-dom', 'javelin-uri', 'javelin-util', 'javelin-stratcom', 'phabricator-prefab', ), '0f764c35' => array( 'javelin-install', 'javelin-util', ), '13c739ea' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'javelin-uri', 'phabricator-textareautils', ), '1499a8cb' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-history', ), '1ad0a787' => array( 'javelin-install', 'javelin-reactor', 'javelin-util', 'javelin-reactor-node-calmer', ), '1ae869f2' => array( 'javelin-install', 'javelin-util', 'phabricator-keyboard-shortcut-manager', ), '1bc11c4a' => array( 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-typeahead-normalizer', ), '1d298e3a' => array( 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-vector', ), '1d45c74d' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-workflow', 'javelin-behavior-device', 'javelin-history', 'javelin-vector', 'javelin-scrollbar', 'phabricator-title', 'phabricator-shaped-request', 'conpherence-thread-manager', ), '1def2711' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), '1f2fcaf8' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phuix-form-control-view', 'phuix-icon-view', 'javelin-behavior-phabricator-gesture', ), '21ba5861' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-workflow', 'javelin-stratcom', 'conpherence-thread-manager', ), '21dc9144' => array( 'javelin-install', 'javelin-dom', 'phuix-icon-view', 'phabricator-prefab', ), '2290aeef' => array( 'javelin-install', 'javelin-dom', 'javelin-json', 'javelin-workflow', 'javelin-util', ), '246dc085' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-workflow', 'javelin-quicksand', 'phabricator-phtize', 'phabricator-drag-and-drop-file-upload', 'phabricator-draggable-list', ), '2926fff2' => array( 'javelin-behavior', 'javelin-dom', ), '29274e2b' => array( 'javelin-install', 'javelin-util', ), '2b8de964' => array( 'javelin-install', 'javelin-util', ), '2bfa2836' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '2c426492' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'phabricator-keyboard-shortcut', ), '2caa8fb8' => array( 'javelin-install', 'javelin-event', ), '327a00d1' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-workflow', ), '331b1611' => array( 'javelin-install', ), '340c8eff' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'phabricator-phtize', 'phabricator-textareautils', 'javelin-workflow', 'javelin-vector', 'phuix-autocomplete', ), '3ab51e2c' => array( 'javelin-behavior', 'javelin-behavior-device', 'javelin-stratcom', 'javelin-vector', 'javelin-dom', 'javelin-magical-init', ), '3cb0b2fc' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'javelin-util', 'javelin-uri', ), '3ee3408b' => array( 'javelin-behavior', 'javelin-behavior-device', 'javelin-stratcom', 'phabricator-tooltip', ), '3f5d6dbf' => array( 'javelin-behavior', 'javelin-dom', 'phortune-credit-card-form', ), '40a6a403' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), 42126667 => array( 'javelin-behavior', 'javelin-dom', 'javelin-request', ), '44959b73' => array( 'javelin-util', 'javelin-uri', 'javelin-install', ), '453c5375' => array( 'javelin-behavior', 'javelin-dom', ), '469c0d9e' => array( 'javelin-behavior', 'javelin-dom', 'javelin-workflow', ), '477359c8' => array( 'javelin-install', 'javelin-dom', 'phabricator-notification', ), 47830651 => array( 'javelin-behavior', 'javelin-dom', 'javelin-view-renderer', 'javelin-install', ), '47c794d8' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), 48086888 => array( 'javelin-behavior', 'javelin-dom', 'javelin-workflow', ), '49b73b36' => array( 'javelin-behavior', 'javelin-dom', 'javelin-request', 'javelin-util', ), '4b700e9e' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phabricator-shaped-request', ), '4e3e79a6' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '4f6a4b4e' => array( 'javelin-behavior', 'javelin-dom', 'phabricator-drag-and-drop-file-upload', 'phabricator-textareautils', ), '4fdb476d' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '503e17fd' => array( 'javelin-install', 'javelin-typeahead-source', 'javelin-util', ), '519705ea' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), '5359e785' => array( 'javelin-install', 'javelin-util', 'javelin-websocket', 'javelin-leader', 'javelin-json', ), 54733475 => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'phuix-dropdown-menu', ), '54b612ba' => array( 'javelin-color', 'javelin-install', 'javelin-util', ), '54f314a0' => array( 'javelin-install', 'javelin-util', 'javelin-request', 'javelin-typeahead-source', ), '558829c2' => array( 'javelin-stratcom', 'javelin-behavior', 'javelin-vector', 'javelin-dom', ), '56a1ca03' => array( 'javelin-behavior', 'javelin-behavior-device', 'javelin-stratcom', 'javelin-dom', 'javelin-magical-init', 'javelin-vector', 'javelin-request', 'javelin-util', ), '59a7976a' => array( 'javelin-install', 'javelin-dom', 'javelin-fx', ), '59b251eb' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-vector', 'javelin-dom', ), '5a0b1a64' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', ), '5b2e3e2b' => array( 'javelin-stratcom', 'javelin-request', 'javelin-dom', 'javelin-vector', 'javelin-install', 'javelin-util', 'javelin-mask', 'javelin-uri', 'javelin-routable', ), '5bd8f385' => array( 'multirow-row-manager', 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-stratcom', 'javelin-json', 'phabricator-prefab', ), '5c54cbf3' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '5d7c9f33' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '5e9f347c' => array( 'javelin-behavior', 'multirow-row-manager', 'javelin-dom', 'javelin-util', 'phabricator-prefab', 'javelin-json', ), 60479091 => array( 'phabricator-busy', 'javelin-behavior', ), '60821bc7' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '61cbc29a' => array( 'javelin-magical-init', 'javelin-util', ), '62dfea03' => array( 'javelin-install', 'javelin-util', ), '635de1ec' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', ), '64a5550f' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-install', 'javelin-request', 'javelin-workflow', ), '65ef6074' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-util', 'javelin-vector', 'differential-inline-comment-editor', ), '66dd6e9e' => array( 'javelin-behavior', 'javelin-behavior-device', 'javelin-stratcom', 'javelin-vector', 'phabricator-hovercard', ), '6882e80a' => array( 'javelin-dom', ), '69adf288' => array( 'javelin-install', ), '6b8ef10b' => array( 'javelin-install', ), '6c0e62fa' => array( 'javelin-install', 'javelin-typeahead-source', ), '6c2b09a2' => array( 'javelin-install', 'javelin-util', ), '6c53634d' => array( 'javelin-install', 'javelin-event', 'javelin-util', 'javelin-magical-init', ), '6d3e1947' => array( 'javelin-behavior', 'javelin-diffusion-locate-file-source', 'javelin-dom', 'javelin-typeahead', 'javelin-uri', ), '70baed2f' => array( 'javelin-install', 'javelin-dom', 'javelin-vector', 'javelin-util', ), 71237763 => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'phabricator-draggable-list', ), '7319e029' => array( 'javelin-behavior', 'javelin-dom', ), '73d09eef' => array( 'javelin-behavior', 'javelin-vector', 'javelin-dom', ), '76b9fc3e' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), '76f4ebed' => array( 'javelin-install', 'javelin-reactor', 'javelin-util', ), '782ab6e7' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phabricator-prefab', 'multirow-row-manager', 'javelin-json', ), '7927a7d3' => array( 'javelin-behavior', 'javelin-quicksand', ), '7a68dda3' => array( 'owners-path-editor', 'javelin-behavior', ), '7b98d7c5' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-util', ), '7cbe244b' => array( 'javelin-install', 'javelin-util', 'javelin-request', 'javelin-router', ), '7e41274a' => array( 'javelin-install', ), '7ebaeed3' => array( 'herald-rule-editor', 'javelin-behavior', ), '7ee2b591' => array( 'javelin-behavior', 'javelin-history', ), '805b806a' => array( 'javelin-magical-init', 'javelin-install', 'javelin-util', 'javelin-vector', 'javelin-stratcom', ), 82439934 => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-workflow', 'phabricator-draggable-list', ), '834a1173' => array( 'javelin-behavior', 'javelin-scrollbar', ), + '8499b6ab' => array( + 'javelin-behavior', + 'javelin-dom', + 'javelin-stratcom', + ), '85ea0626' => array( 'javelin-install', ), '85ee8ce6' => array( 'aphront-dialog-view-css', ), '8694b1df' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'phabricator-tooltip', 'changeset-view-manager', ), '88236f00' => array( 'javelin-behavior', 'phabricator-keyboard-shortcut', 'javelin-stratcom', ), '886fd850' => array( 'javelin-install', 'javelin-reactor-dom', 'javelin-view-html', 'javelin-view-interpreter', 'javelin-view-renderer', ), '887ad43f' => array( 'javelin-behavior', 'javelin-request', 'javelin-stratcom', 'javelin-dom', ), '88f0c5b3' => array( 'javelin-behavior', 'javelin-dom', 'javelin-vector', ), '8a41885b' => array( 'javelin-install', 'javelin-dom', ), '8ae55229' => array( 'javelin-behavior', 'javelin-util', 'javelin-dom', 'javelin-stratcom', 'javelin-vector', ), '8bdb2835' => array( 'phui-fontkit-css', ), '8ce821c5' => array( 'phabricator-notification', 'javelin-stratcom', 'javelin-behavior', ), '8cf6d262' => array( 'javelin-install', 'javelin-dom', 'javelin-util', ), '8d3bc1b2' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-install', ), - '8ef9ab58' => array( - 'javelin-behavior', - 'javelin-dom', - 'javelin-stratcom', - ), '8fba1997' => array( 'javelin-install', 'javelin-dom', ), '901935ef' => array( 'javelin-behavior', 'javelin-dom', 'javelin-request', ), '93d0c9e3' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', ), '9414ff18' => array( 'javelin-behavior', 'javelin-resource', 'javelin-stratcom', 'javelin-workflow', 'javelin-util', ), '949c0fe5' => array( 'javelin-install', ), '94b750d2' => array( 'javelin-install', 'javelin-stratcom', 'javelin-util', 'javelin-behavior', 'javelin-json', 'javelin-dom', 'javelin-resource', 'javelin-routable', ), '988040b4' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), '9a6b9324' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-workflow', 'phuix-dropdown-menu', 'phuix-action-list-view', 'phuix-action-view', 'phabricator-phtize', 'changeset-view-manager', ), '9e54692d' => array( 'javelin-install', 'javelin-dom', 'javelin-vector', ), '9f36c42d' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-vector', ), 'a0b57eb8' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'javelin-util', 'phabricator-keyboard-shortcut', ), 'a155550f' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), 'a16ec1c6' => array( 'javelin-install', 'javelin-dom', 'javelin-stratcom', 'javelin-util', 'javelin-vector', 'javelin-magical-init', ), 'a205cf28' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-vector', 'javelin-install', ), 'a2828756' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-install', 'javelin-workflow', 'javelin-router', 'javelin-behavior-device', 'javelin-vector', ), 'a464fe03' => array( 'javelin-behavior', 'javelin-uri', 'phabricator-notification', ), 'a80d0378' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), 'a8458711' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'javelin-util', 'phabricator-notification', 'javelin-behavior-device', 'phuix-dropdown-menu', 'phuix-action-list-view', 'phuix-action-view', 'conpherence-thread-manager', ), 'a8d8459d' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', ), 'a8da01f0' => array( 'javelin-behavior', 'javelin-uri', 'phabricator-keyboard-shortcut', ), 'a9f88de2' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'javelin-fx', 'javelin-util', ), 'aa1733d0' => array( 'multirow-row-manager', 'javelin-install', 'path-typeahead', 'javelin-dom', 'javelin-util', 'phabricator-prefab', ), 'ab2f381b' => array( 'javelin-request', 'javelin-behavior', 'javelin-dom', 'javelin-router', 'javelin-util', 'phabricator-busy', ), 'ad10aeac' => array( 'javelin-install', 'javelin-util', 'javelin-request', 'javelin-dom', 'javelin-uri', 'phabricator-file-upload', ), 'ae45872f' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phuix-dropdown-menu', 'phuix-action-list-view', 'phuix-action-view', 'javelin-workflow', ), 'b064af76' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-request', 'javelin-util', 'phabricator-shaped-request', ), 'b1f0ccee' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), 'b23b49e6' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-request', 'phabricator-shaped-request', ), 'b2b4fbaf' => array( 'javelin-behavior', 'javelin-dom', 'javelin-uri', 'javelin-request', ), 'b3a4b884' => array( 'javelin-behavior', 'phabricator-prefab', ), 'b3e7d692' => array( 'javelin-install', ), 'b42eddc7' => array( 'javelin-install', 'javelin-dom', 'javelin-typeahead-preloaded-source', 'javelin-util', ), 'b59e1e96' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'b5c256b8' => array( 'javelin-install', 'javelin-dom', ), 'b5d57730' => array( 'javelin-install', 'javelin-stratcom', 'javelin-dom', 'javelin-util', ), 'b6993408' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-json', 'phabricator-draggable-list', ), 'b6b0d1bb' => array( 'phui-inline-comment-view-css', ), 'ba4fa35c' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-vector', 'javelin-stratcom', 'javelin-workflow', 'phabricator-draggable-list', ), 'bd4c8dca' => array( 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-vector', 'javelin-stratcom', ), 'bdaf4d04' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-request', ), 'bff6884b' => array( 'javelin-install', 'javelin-dom', ), 'c1700f6f' => array( 'javelin-install', 'javelin-util', 'javelin-stratcom', 'javelin-dom', 'javelin-vector', ), 'c6f720ff' => array( 'javelin-install', 'javelin-dom', 'javelin-vector', 'javelin-request', 'javelin-uri', ), 'c72aa091' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-behavior-device', 'javelin-scrollbar', 'javelin-quicksand', 'phabricator-keyboard-shortcut', 'conpherence-thread-manager', ), 'c7ccd872' => array( 'phui-fontkit-css', ), 'c8e57404' => array( 'javelin-behavior', 'javelin-dom', 'javelin-uri', 'javelin-mask', 'phabricator-drag-and-drop-file-upload', ), 'c90a04fc' => array( 'javelin-dom', 'javelin-dynval', 'javelin-reactor', 'javelin-reactornode', 'javelin-install', 'javelin-util', ), 'c989ade3' => array( 'javelin-install', 'javelin-util', 'javelin-stratcom', ), 'ca3f91eb' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'phabricator-phtize', ), 'ccf1cbf8' => array( 'javelin-install', 'javelin-dom', 'javelin-stratcom', 'javelin-util', 'phabricator-notification-css', ), 'cf86d16a' => array( 'javelin-behavior', 'javelin-dom', 'javelin-workflow', 'phabricator-drag-and-drop-file-upload', ), 'd00a795a' => array( 'phui-theme-css', ), 'd19198c8' => array( 'javelin-install', 'javelin-dom', 'javelin-util', 'javelin-dynval', 'javelin-reactor-dom', ), 'd254d646' => array( 'javelin-util', ), 'd4505101' => array( 'javelin-stratcom', 'javelin-install', 'javelin-uri', 'javelin-util', ), 'd4a14807' => array( 'javelin-install', 'javelin-dom', 'javelin-view', ), 'd4eecc63' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', ), 'd75709e6' => array( 'javelin-behavior', 'javelin-workflow', 'javelin-json', 'javelin-dom', 'phabricator-keyboard-shortcut', ), 'd7a74243' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'd835b03a' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phabricator-shaped-request', ), 'dbbf48b6' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'phabricator-busy', ), 'de2e896f' => array( 'javelin-behavior', 'javelin-dom', 'javelin-typeahead', 'javelin-typeahead-ondemand-source', 'javelin-dom', ), 'df5e11d2' => array( 'javelin-install', ), 'e10f8e18' => array( 'javelin-behavior', 'javelin-dom', 'phabricator-prefab', ), 'e1d25dfb' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'e1ff79b1' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), 'e292eaf4' => array( 'javelin-install', ), 'e2e0a072' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'e379b58e' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-vector', 'javelin-dom', 'javelin-uri', ), 'e4cc26b3' => array( 'javelin-behavior', 'javelin-dom', ), 'e5339c43' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-uri', ), 'e5822781' => array( 'javelin-behavior', 'javelin-dom', 'javelin-json', 'javelin-workflow', 'javelin-magical-init', ), 'e67df814' => array( 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-typeahead', 'javelin-tokenizer', 'javelin-typeahead-preloaded-source', 'javelin-typeahead-ondemand-source', 'javelin-dom', 'javelin-stratcom', 'javelin-util', ), 'e6e25838' => array( 'javelin-install', ), 'e9581f08' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'ea681761' => array( 'javelin-behavior', 'javelin-aphlict', 'phabricator-phtize', 'javelin-dom', ), 'edd1ba66' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-uri', 'phabricator-notification', ), 'edf8a145' => array( 'javelin-behavior', 'javelin-uri', ), 'efe49472' => array( 'javelin-install', 'javelin-util', ), 'f01586dc' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-workflow', 'javelin-json', ), 'f411b6ae' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-util', 'javelin-dom', 'javelin-request', 'phabricator-keyboard-shortcut', ), 'f6555212' => array( 'javelin-install', 'javelin-reactornode', 'javelin-util', 'javelin-reactor', ), 'f7fc67ec' => array( 'javelin-install', 'javelin-typeahead', 'javelin-dom', 'javelin-request', 'javelin-typeahead-ondemand-source', 'javelin-util', ), 'f80d6bf0' => array( 'javelin-behavior', 'javelin-util', 'javelin-dom', 'javelin-stratcom', 'javelin-vector', 'javelin-typeahead-static-source', ), 'f829edb3' => array( 'javelin-view', 'javelin-install', 'javelin-dom', ), 'f8ba29d7' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-mask', 'javelin-util', 'phabricator-busy', ), 'fa0f4fc2' => array( 'javelin-behavior', 'javelin-dom', 'javelin-vector', 'javelin-magical-init', ), 'fb20ac8d' => array( 'javelin-behavior', 'javelin-aphlict', 'javelin-stratcom', 'javelin-request', 'javelin-uri', 'javelin-dom', 'javelin-json', 'javelin-router', 'javelin-util', 'javelin-leader', 'javelin-sound', 'phabricator-notification', ), 'fbe497e7' => array( 'javelin-behavior', 'javelin-util', 'javelin-stratcom', 'javelin-dom', 'javelin-vector', 'javelin-magical-init', 'javelin-request', 'javelin-history', 'javelin-workflow', 'javelin-mask', 'javelin-behavior-device', 'phabricator-keyboard-shortcut', ), 'fc91ab6c' => array( 'javelin-behavior', 'javelin-dom', 'phortune-credit-card-form', ), 'fe287620' => array( 'javelin-install', 'javelin-dom', 'javelin-view-visitor', 'javelin-util', ), ), 'packages' => array( 'core.pkg.css' => array( 'phabricator-core-css', 'phabricator-zindex-css', 'phui-button-css', 'phabricator-standard-page-view', 'aphront-dialog-view-css', 'phui-form-view-css', 'aphront-panel-view-css', 'aphront-table-view-css', 'aphront-tokenizer-control-css', 'aphront-typeahead-control-css', 'aphront-list-filter-view-css', 'phabricator-remarkup-css', 'syntax-highlighting-css', 'phui-pager-css', 'aphront-tooltip-css', 'phabricator-flag-css', 'phui-info-view-css', 'sprite-menu-css', 'phabricator-main-menu-view', 'phabricator-notification-css', 'phabricator-notification-menu-css', 'lightbox-attachment-css', 'phui-header-view-css', 'phabricator-filetree-view-css', 'phabricator-nav-view-css', 'phabricator-side-menu-view-css', 'phui-crumbs-view-css', 'phui-object-item-list-view-css', 'global-drag-and-drop-css', 'phui-spacing-css', 'phui-form-css', 'phui-icon-view-css', 'phui-profile-menu-css', 'phabricator-application-launch-view-css', 'phabricator-action-list-view-css', 'phui-property-list-view-css', 'phui-tag-view-css', 'phui-list-view-css', 'font-fontawesome', 'phui-font-icon-base-css', 'phui-box-css', 'phui-object-box-css', 'phui-timeline-view-css', 'sprite-tokens-css', 'tokens-css', 'phui-status-list-view-css', 'phui-feed-story-css', 'phabricator-feed-css', 'phabricator-dashboard-css', 'aphront-multi-column-view-css', 'conpherence-durable-column-view', ), 'core.pkg.js' => array( 'javelin-util', 'javelin-install', 'javelin-event', 'javelin-stratcom', 'javelin-behavior', 'javelin-resource', 'javelin-request', 'javelin-vector', 'javelin-dom', 'javelin-json', 'javelin-uri', 'javelin-workflow', 'javelin-mask', 'javelin-typeahead', 'javelin-typeahead-normalizer', 'javelin-typeahead-source', 'javelin-typeahead-preloaded-source', 'javelin-typeahead-ondemand-source', 'javelin-tokenizer', 'javelin-history', 'javelin-router', 'javelin-routable', 'javelin-behavior-aphront-basic-tokenizer', 'javelin-behavior-workflow', 'javelin-behavior-aphront-form-disable-on-submit', 'phabricator-keyboard-shortcut-manager', 'phabricator-keyboard-shortcut', 'javelin-behavior-phabricator-keyboard-shortcuts', 'javelin-behavior-refresh-csrf', 'javelin-behavior-phabricator-watch-anchor', 'javelin-behavior-phabricator-autofocus', 'phuix-dropdown-menu', 'phuix-action-list-view', 'phuix-action-view', 'phabricator-phtize', 'javelin-behavior-phabricator-oncopy', 'phabricator-tooltip', 'javelin-behavior-phabricator-tooltips', 'phabricator-prefab', 'javelin-behavior-device', 'javelin-behavior-toggle-class', 'javelin-behavior-lightbox-attachments', 'phabricator-busy', 'javelin-aphlict', 'phabricator-notification', 'javelin-behavior-aphlict-listen', 'javelin-behavior-phabricator-search-typeahead', 'javelin-behavior-aphlict-dropdown', 'javelin-behavior-history-install', 'javelin-behavior-phabricator-gesture', 'javelin-behavior-phabricator-active-nav', 'javelin-behavior-phabricator-nav', 'javelin-behavior-phabricator-remarkup-assist', 'phabricator-textareautils', 'phabricator-file-upload', 'javelin-behavior-global-drag-and-drop', 'javelin-behavior-phabricator-reveal-content', 'phabricator-hovercard', 'javelin-behavior-phabricator-hovercards', 'javelin-color', 'javelin-fx', 'phabricator-draggable-list', 'javelin-behavior-phabricator-transaction-list', 'javelin-behavior-phabricator-show-older-transactions', 'javelin-behavior-phui-dropdown-menu', 'javelin-behavior-doorkeeper-tag', 'phabricator-title', 'javelin-leader', 'javelin-websocket', 'javelin-behavior-dashboard-async-panel', 'javelin-behavior-dashboard-tab-panel', 'javelin-quicksand', 'javelin-behavior-quicksand-blacklist', 'javelin-behavior-high-security-warning', 'javelin-scrollbar', 'javelin-behavior-scrollbar', 'javelin-behavior-durable-column', 'conpherence-thread-manager', ), 'darkconsole.pkg.js' => array( 'javelin-behavior-dark-console', 'javelin-behavior-error-log', ), 'differential.pkg.css' => array( 'differential-core-view-css', 'differential-changeset-view-css', 'differential-revision-history-css', 'differential-revision-list-css', 'differential-table-of-contents-css', 'differential-revision-comment-css', 'differential-revision-add-comment-css', 'phabricator-object-selector-css', 'phabricator-content-source-view-css', 'inline-comment-summary-css', 'phui-inline-comment-view-css', ), 'differential.pkg.js' => array( 'phabricator-drag-and-drop-file-upload', 'phabricator-shaped-request', 'javelin-behavior-differential-feedback-preview', 'javelin-behavior-differential-edit-inline-comments', 'javelin-behavior-differential-populate', 'javelin-behavior-differential-diff-radios', 'javelin-behavior-differential-comment-jump', 'javelin-behavior-differential-add-reviewers-and-ccs', 'javelin-behavior-differential-keyboard-navigation', 'javelin-behavior-aphront-drag-and-drop-textarea', 'javelin-behavior-phabricator-object-selector', 'javelin-behavior-repository-crossreference', 'javelin-behavior-load-blame', 'differential-inline-comment-editor', 'javelin-behavior-differential-dropdown-menus', 'javelin-behavior-differential-toggle-files', 'javelin-behavior-differential-user-select', 'javelin-behavior-aphront-more', 'changeset-view-manager', ), 'diffusion.pkg.css' => array( 'diffusion-icons-css', ), 'diffusion.pkg.js' => array( 'javelin-behavior-diffusion-pull-lastmodified', 'javelin-behavior-diffusion-commit-graph', 'javelin-behavior-audit-preview', ), 'maniphest.pkg.css' => array( 'maniphest-task-summary-css', ), 'maniphest.pkg.js' => array( 'javelin-behavior-maniphest-batch-selector', 'javelin-behavior-maniphest-subpriority-editor', 'javelin-behavior-maniphest-list-editor', ), ), ); diff --git a/resources/sprite/manifest/projects.json b/resources/sprite/manifest/projects.json deleted file mode 100644 index 592583f0b1..0000000000 --- a/resources/sprite/manifest/projects.json +++ /dev/null @@ -1,371 +0,0 @@ -{ - "version": 1, - "sprites": { - "projects-8ball": { - "name": "projects-8ball", - "rule": ".projects-8ball", - "hash": "1571c4d51926d3af7711b825c5816e2e" - }, - "projects-alien": { - "name": "projects-alien", - "rule": ".projects-alien", - "hash": "384f920ae335dca04edaf29663d3a074" - }, - "projects-announce": { - "name": "projects-announce", - "rule": ".projects-announce", - "hash": "94329cedd509fc27a6fb577927581118" - }, - "projects-art": { - "name": "projects-art", - "rule": ".projects-art", - "hash": "85c545e5130f00ff1b93c0af0d540974" - }, - "projects-award": { - "name": "projects-award", - "rule": ".projects-award", - "hash": "fad6d89e4938e16f22f3c9db7cf5d696" - }, - "projects-bacon": { - "name": "projects-bacon", - "rule": ".projects-bacon", - "hash": "f6300cdfa5a96a223f53f13dd0d3acc3" - }, - "projects-bandaid": { - "name": "projects-bandaid", - "rule": ".projects-bandaid", - "hash": "c463dffa161997277fc6697155f4085b" - }, - "projects-beer": { - "name": "projects-beer", - "rule": ".projects-beer", - "hash": "81c7580f322d9fb40c77db56cd92d61d" - }, - "projects-bomb": { - "name": "projects-bomb", - "rule": ".projects-bomb", - "hash": "1123da7cc56313891c9979b004cc02f7" - }, - "projects-briefcase": { - "name": "projects-briefcase", - "rule": ".projects-briefcase", - "hash": "9b4b413ddb250ce1d3fbe18a5a5698cd" - }, - "projects-bug": { - "name": "projects-bug", - "rule": ".projects-bug", - "hash": "9678702aed00c4779759ebbdfe97fe48" - }, - "projects-calendar": { - "name": "projects-calendar", - "rule": ".projects-calendar", - "hash": "e7dc5d1b11fc55ed239fcbfe527ed0e7" - }, - "projects-cloud": { - "name": "projects-cloud", - "rule": ".projects-cloud", - "hash": "d38bf58580b3c36fbd3149a13f7d0e5e" - }, - "projects-coffee": { - "name": "projects-coffee", - "rule": ".projects-coffee", - "hash": "a9c10862139d8e7f56c9f892496f9666" - }, - "projects-creditcard": { - "name": "projects-creditcard", - "rule": ".projects-creditcard", - "hash": "db2c179cb4935da8b9950ac30da8c0d1" - }, - "projects-death": { - "name": "projects-death", - "rule": ".projects-death", - "hash": "cdea72dfdcb3fc64873b9fff78addb3c" - }, - "projects-desktop": { - "name": "projects-desktop", - "rule": ".projects-desktop", - "hash": "19d2ef34e3dd53615cdad91eb987d6fe" - }, - "projects-dropbox": { - "name": "projects-dropbox", - "rule": ".projects-dropbox", - "hash": "10231bf468769b96ed40cf983abfa269" - }, - "projects-education": { - "name": "projects-education", - "rule": ".projects-education", - "hash": "ce3d0ca75d519b2ac427a690d30475f8" - }, - "projects-experimental": { - "name": "projects-experimental", - "rule": ".projects-experimental", - "hash": "311ef712f8daca057c20c8fd78fa77ce" - }, - "projects-fa-briefcase": { - "name": "projects-fa-briefcase", - "rule": ".projects-fa-briefcase", - "hash": "f3dd4c94ce9f1cc74068af3ea9a4bc65" - }, - "projects-fa-bug": { - "name": "projects-fa-bug", - "rule": ".projects-fa-bug", - "hash": "e85895919b8fdbdbbcf43e476e70adcc" - }, - "projects-fa-building": { - "name": "projects-fa-building", - "rule": ".projects-fa-building", - "hash": "5ba0272ba1d3dee530cf72bd14b060e1" - }, - "projects-fa-calendar": { - "name": "projects-fa-calendar", - "rule": ".projects-fa-calendar", - "hash": "38b05d30e454285b56c7021d19ca7c93" - }, - "projects-fa-cloud": { - "name": "projects-fa-cloud", - "rule": ".projects-fa-cloud", - "hash": "9202ca72998bb07180464064258f43ff" - }, - "projects-fa-credit-card": { - "name": "projects-fa-credit-card", - "rule": ".projects-fa-credit-card", - "hash": "0b73456cbdb383ae2b211c7c8b90b712" - }, - "projects-fa-envelope": { - "name": "projects-fa-envelope", - "rule": ".projects-fa-envelope", - "hash": "73a2c4560e4d12125dbb3a3d1cab3f3f" - }, - "projects-fa-flag-checkered": { - "name": "projects-fa-flag-checkered", - "rule": ".projects-fa-flag-checkered", - "hash": "57b7474e5d81c84fa5020cb57f82d1ca" - }, - "projects-fa-flask": { - "name": "projects-fa-flask", - "rule": ".projects-fa-flask", - "hash": "ae9edea912a19440c15fefdbf728def4" - }, - "projects-fa-folder": { - "name": "projects-fa-folder", - "rule": ".projects-fa-folder", - "hash": "d3c6eb3334d6b6f1b8a1159d9d9e7397" - }, - "projects-fa-lock": { - "name": "projects-fa-lock", - "rule": ".projects-fa-lock", - "hash": "fa1eabe664aa26fa4732a18849a4d581" - }, - "projects-fa-tags": { - "name": "projects-fa-tags", - "rule": ".projects-fa-tags", - "hash": "f167c28072cf39a388ae0056d5f5f757" - }, - "projects-fa-trash-o": { - "name": "projects-fa-trash-o", - "rule": ".projects-fa-trash-o", - "hash": "82fb2b427b0b331652d19fd3654905a2" - }, - "projects-fa-truck": { - "name": "projects-fa-truck", - "rule": ".projects-fa-truck", - "hash": "89136aa2b52a6543b7c20dbdf0727191" - }, - "projects-fa-umbrella": { - "name": "projects-fa-umbrella", - "rule": ".projects-fa-umbrella", - "hash": "55f6a65e425c5725e953e3a59cb50f49" - }, - "projects-fa-users": { - "name": "projects-fa-users", - "rule": ".projects-fa-users", - "hash": "bd449bd0dea0d29031dc8fddad7bb66b" - }, - "projects-facebook": { - "name": "projects-facebook", - "rule": ".projects-facebook", - "hash": "16581191e4ce9e0115d447b479c886cb" - }, - "projects-facility": { - "name": "projects-facility", - "rule": ".projects-facility", - "hash": "d8893f9d2b75ec047b6f3898a386055c" - }, - "projects-film": { - "name": "projects-film", - "rule": ".projects-film", - "hash": "57497050fa09ba1533d981a9c1550ba9" - }, - "projects-forked": { - "name": "projects-forked", - "rule": ".projects-forked", - "hash": "f575428e1079981840297bd444e51c43" - }, - "projects-games": { - "name": "projects-games", - "rule": ".projects-games", - "hash": "b802cff3e76051675b37165bd9702088" - }, - "projects-ghost": { - "name": "projects-ghost", - "rule": ".projects-ghost", - "hash": "7c8622cad29bddc5179f6a6d5f15fbe9" - }, - "projects-gift": { - "name": "projects-gift", - "rule": ".projects-gift", - "hash": "f2ca678906a6806f421b60abddaa6cae" - }, - "projects-globe": { - "name": "projects-globe", - "rule": ".projects-globe", - "hash": "87515a83cc0c840804aca594677d1eae" - }, - "projects-golf": { - "name": "projects-golf", - "rule": ".projects-golf", - "hash": "1ee7556fab3d46d925deb00322dad858" - }, - "projects-heart": { - "name": "projects-heart", - "rule": ".projects-heart", - "hash": "3da64839e37ee245333017d0a310cc2e" - }, - "projects-intergalactic": { - "name": "projects-intergalactic", - "rule": ".projects-intergalactic", - "hash": "94dca756cb267bdb4e0ed58467320780" - }, - "projects-lock": { - "name": "projects-lock", - "rule": ".projects-lock", - "hash": "9d4c8ad3a4ac4163f284461da7df2763" - }, - "projects-mail": { - "name": "projects-mail", - "rule": ".projects-mail", - "hash": "963f5ce26c6caf86e72d754f7b6e8865" - }, - "projects-martini": { - "name": "projects-martini", - "rule": ".projects-martini", - "hash": "24d4d5fb5c334621ece4c35a9196471e" - }, - "projects-medical": { - "name": "projects-medical", - "rule": ".projects-medical", - "hash": "e0cb3ef5557321d166e8eb49c10d3599" - }, - "projects-mobile": { - "name": "projects-mobile", - "rule": ".projects-mobile", - "hash": "37dec95d1a4a937743d52acac319c3b6" - }, - "projects-music": { - "name": "projects-music", - "rule": ".projects-music", - "hash": "e7a814194685ac25be0db05b04074607" - }, - "projects-news": { - "name": "projects-news", - "rule": ".projects-news", - "hash": "6861f3ee827d09b0592166514f4941e8" - }, - "projects-orgchart": { - "name": "projects-orgchart", - "rule": ".projects-orgchart", - "hash": "20c51c59788fb2bc8184fdd5687d33dc" - }, - "projects-peoples": { - "name": "projects-peoples", - "rule": ".projects-peoples", - "hash": "c949ba6d09e68317a9a11482e75e5140" - }, - "projects-piechart": { - "name": "projects-piechart", - "rule": ".projects-piechart", - "hash": "051138560e30982a029aa5e4ea87bc17" - }, - "projects-poison": { - "name": "projects-poison", - "rule": ".projects-poison", - "hash": "56ddafd138e421f198b9cb38e5dc7455" - }, - "projects-putabirdonit": { - "name": "projects-putabirdonit", - "rule": ".projects-putabirdonit", - "hash": "ee298fff82c34341b986a3e1b77bea11" - }, - "projects-radiate": { - "name": "projects-radiate", - "rule": ".projects-radiate", - "hash": "9cfb918089b3de8506a5d270a119052c" - }, - "projects-savings": { - "name": "projects-savings", - "rule": ".projects-savings", - "hash": "9e92bc5e64f79d2f4842ac24a8b57fcb" - }, - "projects-search": { - "name": "projects-search", - "rule": ".projects-search", - "hash": "a42c1c31f2929838b0f181f417c0b6a4" - }, - "projects-shield": { - "name": "projects-shield", - "rule": ".projects-shield", - "hash": "40c6e1bec7c07c165668ac45c218847a" - }, - "projects-speed": { - "name": "projects-speed", - "rule": ".projects-speed", - "hash": "2b70c194d07f5a9d95abc51d84fb22ed" - }, - "projects-sprint": { - "name": "projects-sprint", - "rule": ".projects-sprint", - "hash": "655ef9a3043eab23eac1da21baeb36b3" - }, - "projects-star": { - "name": "projects-star", - "rule": ".projects-star", - "hash": "a46e3c18f68bc13a65b410496e27b5d7" - }, - "projects-storage": { - "name": "projects-storage", - "rule": ".projects-storage", - "hash": "bb19baa77bb7596f43f77e5dbbddb006" - }, - "projects-tablet": { - "name": "projects-tablet", - "rule": ".projects-tablet", - "hash": "830dcf6637288ca122c8f5034cae3769" - }, - "projects-travel": { - "name": "projects-travel", - "rule": ".projects-travel", - "hash": "86ec4dcd025879a43435b101fd542a1b" - }, - "projects-twitter": { - "name": "projects-twitter", - "rule": ".projects-twitter", - "hash": "75b8680dd1e4ecce4ca3a39c87e1ed80" - }, - "projects-warning": { - "name": "projects-warning", - "rule": ".projects-warning", - "hash": "3ac48b6f963675e1f4bb4ac75aad936f" - }, - "projects-whale": { - "name": "projects-whale", - "rule": ".projects-whale", - "hash": "569b584c7e80a0a9b965280abd27c723" - } - }, - "scales": [ - 1, - 2 - ], - "header": "\/**\n * @provides sprite-projects-css\n * @generated\n *\/\n\n.sprite-projects {\n background-image: url(\/rsrc\/image\/sprite-projects.png);\n background-repeat: no-repeat;\n}\n\n@media\nonly screen and (min-device-pixel-ratio: 1.5),\nonly screen and (-webkit-min-device-pixel-ratio: 1.5),\nonly screen and (min-resolution: 1.5dppx) {\n .sprite-projects {\n background-image: url(\/rsrc\/image\/sprite-projects-X2.png);\n background-size: {X}px {Y}px;\n }\n}\n", - "type": "standard" -} diff --git a/resources/sprite/projects_1x/8ball.png b/resources/sprite/projects_1x/8ball.png deleted file mode 100644 index 34f3a001b4..0000000000 Binary files a/resources/sprite/projects_1x/8ball.png and /dev/null differ diff --git a/resources/sprite/projects_1x/alien.png b/resources/sprite/projects_1x/alien.png deleted file mode 100644 index 4c8737432e..0000000000 Binary files a/resources/sprite/projects_1x/alien.png and /dev/null differ diff --git a/resources/sprite/projects_1x/announce.png b/resources/sprite/projects_1x/announce.png deleted file mode 100644 index 4d1bb5d7fb..0000000000 Binary files a/resources/sprite/projects_1x/announce.png and /dev/null differ diff --git a/resources/sprite/projects_1x/art.png b/resources/sprite/projects_1x/art.png deleted file mode 100644 index 3fbaeae7c3..0000000000 Binary files a/resources/sprite/projects_1x/art.png and /dev/null differ diff --git a/resources/sprite/projects_1x/award.png b/resources/sprite/projects_1x/award.png deleted file mode 100644 index 9ff2dddef3..0000000000 Binary files a/resources/sprite/projects_1x/award.png and /dev/null differ diff --git a/resources/sprite/projects_1x/bacon.png b/resources/sprite/projects_1x/bacon.png deleted file mode 100644 index 1cdf3abd7d..0000000000 Binary files a/resources/sprite/projects_1x/bacon.png and /dev/null differ diff --git a/resources/sprite/projects_1x/bandaid.png b/resources/sprite/projects_1x/bandaid.png deleted file mode 100644 index 65dfb34fe8..0000000000 Binary files a/resources/sprite/projects_1x/bandaid.png and /dev/null differ diff --git a/resources/sprite/projects_1x/beer.png b/resources/sprite/projects_1x/beer.png deleted file mode 100644 index 6a2892a4ed..0000000000 Binary files a/resources/sprite/projects_1x/beer.png and /dev/null differ diff --git a/resources/sprite/projects_1x/bomb.png b/resources/sprite/projects_1x/bomb.png deleted file mode 100644 index 85304e40c5..0000000000 Binary files a/resources/sprite/projects_1x/bomb.png and /dev/null differ diff --git a/resources/sprite/projects_1x/briefcase.png b/resources/sprite/projects_1x/briefcase.png deleted file mode 100644 index d6c6f5fb70..0000000000 Binary files a/resources/sprite/projects_1x/briefcase.png and /dev/null differ diff --git a/resources/sprite/projects_1x/bug.png b/resources/sprite/projects_1x/bug.png deleted file mode 100644 index 1dfb820150..0000000000 Binary files a/resources/sprite/projects_1x/bug.png and /dev/null differ diff --git a/resources/sprite/projects_1x/calendar.png b/resources/sprite/projects_1x/calendar.png deleted file mode 100644 index f4b39dd603..0000000000 Binary files a/resources/sprite/projects_1x/calendar.png and /dev/null differ diff --git a/resources/sprite/projects_1x/cloud.png b/resources/sprite/projects_1x/cloud.png deleted file mode 100644 index c1d4039f17..0000000000 Binary files a/resources/sprite/projects_1x/cloud.png and /dev/null differ diff --git a/resources/sprite/projects_1x/coffee.png b/resources/sprite/projects_1x/coffee.png deleted file mode 100644 index 511301bf9a..0000000000 Binary files a/resources/sprite/projects_1x/coffee.png and /dev/null differ diff --git a/resources/sprite/projects_1x/creditcard.png b/resources/sprite/projects_1x/creditcard.png deleted file mode 100644 index f96103d220..0000000000 Binary files a/resources/sprite/projects_1x/creditcard.png and /dev/null differ diff --git a/resources/sprite/projects_1x/death.png b/resources/sprite/projects_1x/death.png deleted file mode 100644 index 54fb486ee9..0000000000 Binary files a/resources/sprite/projects_1x/death.png and /dev/null differ diff --git a/resources/sprite/projects_1x/desktop.png b/resources/sprite/projects_1x/desktop.png deleted file mode 100644 index 2fb4be72f9..0000000000 Binary files a/resources/sprite/projects_1x/desktop.png and /dev/null differ diff --git a/resources/sprite/projects_1x/dropbox.png b/resources/sprite/projects_1x/dropbox.png deleted file mode 100644 index e18aaf10e6..0000000000 Binary files a/resources/sprite/projects_1x/dropbox.png and /dev/null differ diff --git a/resources/sprite/projects_1x/education.png b/resources/sprite/projects_1x/education.png deleted file mode 100644 index 3d75543949..0000000000 Binary files a/resources/sprite/projects_1x/education.png and /dev/null differ diff --git a/resources/sprite/projects_1x/experimental.png b/resources/sprite/projects_1x/experimental.png deleted file mode 100644 index 2b4e6d4fd1..0000000000 Binary files a/resources/sprite/projects_1x/experimental.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-briefcase.png b/resources/sprite/projects_1x/fa-briefcase.png deleted file mode 100644 index 060a0fdec1..0000000000 Binary files a/resources/sprite/projects_1x/fa-briefcase.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-bug.png b/resources/sprite/projects_1x/fa-bug.png deleted file mode 100644 index 532093e510..0000000000 Binary files a/resources/sprite/projects_1x/fa-bug.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-building.png b/resources/sprite/projects_1x/fa-building.png deleted file mode 100644 index 1d3c2de98b..0000000000 Binary files a/resources/sprite/projects_1x/fa-building.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-calendar.png b/resources/sprite/projects_1x/fa-calendar.png deleted file mode 100644 index 7568cac8fe..0000000000 Binary files a/resources/sprite/projects_1x/fa-calendar.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-cloud.png b/resources/sprite/projects_1x/fa-cloud.png deleted file mode 100644 index f69ab9fbfc..0000000000 Binary files a/resources/sprite/projects_1x/fa-cloud.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-credit-card.png b/resources/sprite/projects_1x/fa-credit-card.png deleted file mode 100644 index eb082d0f82..0000000000 Binary files a/resources/sprite/projects_1x/fa-credit-card.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-envelope.png b/resources/sprite/projects_1x/fa-envelope.png deleted file mode 100644 index 4b744d358f..0000000000 Binary files a/resources/sprite/projects_1x/fa-envelope.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-flag-checkered.png b/resources/sprite/projects_1x/fa-flag-checkered.png deleted file mode 100644 index c678e1ee59..0000000000 Binary files a/resources/sprite/projects_1x/fa-flag-checkered.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-flask.png b/resources/sprite/projects_1x/fa-flask.png deleted file mode 100644 index fc59267342..0000000000 Binary files a/resources/sprite/projects_1x/fa-flask.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-folder.png b/resources/sprite/projects_1x/fa-folder.png deleted file mode 100644 index 42babc267e..0000000000 Binary files a/resources/sprite/projects_1x/fa-folder.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-lock.png b/resources/sprite/projects_1x/fa-lock.png deleted file mode 100644 index b87caf3aa0..0000000000 Binary files a/resources/sprite/projects_1x/fa-lock.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-tags.png b/resources/sprite/projects_1x/fa-tags.png deleted file mode 100644 index eb2bbe4963..0000000000 Binary files a/resources/sprite/projects_1x/fa-tags.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-trash-o.png b/resources/sprite/projects_1x/fa-trash-o.png deleted file mode 100644 index 89fa0daab4..0000000000 Binary files a/resources/sprite/projects_1x/fa-trash-o.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-truck.png b/resources/sprite/projects_1x/fa-truck.png deleted file mode 100644 index 13e8a96b69..0000000000 Binary files a/resources/sprite/projects_1x/fa-truck.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-umbrella.png b/resources/sprite/projects_1x/fa-umbrella.png deleted file mode 100644 index 7faad81e6d..0000000000 Binary files a/resources/sprite/projects_1x/fa-umbrella.png and /dev/null differ diff --git a/resources/sprite/projects_1x/fa-users.png b/resources/sprite/projects_1x/fa-users.png deleted file mode 100644 index cbd5cf545d..0000000000 Binary files a/resources/sprite/projects_1x/fa-users.png and /dev/null differ diff --git a/resources/sprite/projects_1x/facebook.png b/resources/sprite/projects_1x/facebook.png deleted file mode 100644 index 029c12eed9..0000000000 Binary files a/resources/sprite/projects_1x/facebook.png and /dev/null differ diff --git a/resources/sprite/projects_1x/facility.png b/resources/sprite/projects_1x/facility.png deleted file mode 100644 index 044e9a106b..0000000000 Binary files a/resources/sprite/projects_1x/facility.png and /dev/null differ diff --git a/resources/sprite/projects_1x/film.png b/resources/sprite/projects_1x/film.png deleted file mode 100644 index b2a44962dd..0000000000 Binary files a/resources/sprite/projects_1x/film.png and /dev/null differ diff --git a/resources/sprite/projects_1x/forked.png b/resources/sprite/projects_1x/forked.png deleted file mode 100644 index 28d898e8e6..0000000000 Binary files a/resources/sprite/projects_1x/forked.png and /dev/null differ diff --git a/resources/sprite/projects_1x/games.png b/resources/sprite/projects_1x/games.png deleted file mode 100644 index 5f3e6fce3f..0000000000 Binary files a/resources/sprite/projects_1x/games.png and /dev/null differ diff --git a/resources/sprite/projects_1x/ghost.png b/resources/sprite/projects_1x/ghost.png deleted file mode 100644 index af601a7542..0000000000 Binary files a/resources/sprite/projects_1x/ghost.png and /dev/null differ diff --git a/resources/sprite/projects_1x/gift.png b/resources/sprite/projects_1x/gift.png deleted file mode 100644 index d611c181f3..0000000000 Binary files a/resources/sprite/projects_1x/gift.png and /dev/null differ diff --git a/resources/sprite/projects_1x/globe.png b/resources/sprite/projects_1x/globe.png deleted file mode 100644 index f78741bb05..0000000000 Binary files a/resources/sprite/projects_1x/globe.png and /dev/null differ diff --git a/resources/sprite/projects_1x/golf.png b/resources/sprite/projects_1x/golf.png deleted file mode 100644 index 0a7cf98cb4..0000000000 Binary files a/resources/sprite/projects_1x/golf.png and /dev/null differ diff --git a/resources/sprite/projects_1x/heart.png b/resources/sprite/projects_1x/heart.png deleted file mode 100644 index bfd83aa1f4..0000000000 Binary files a/resources/sprite/projects_1x/heart.png and /dev/null differ diff --git a/resources/sprite/projects_1x/intergalactic.png b/resources/sprite/projects_1x/intergalactic.png deleted file mode 100644 index 5d0053b678..0000000000 Binary files a/resources/sprite/projects_1x/intergalactic.png and /dev/null differ diff --git a/resources/sprite/projects_1x/lock.png b/resources/sprite/projects_1x/lock.png deleted file mode 100644 index fdb14fe429..0000000000 Binary files a/resources/sprite/projects_1x/lock.png and /dev/null differ diff --git a/resources/sprite/projects_1x/mail.png b/resources/sprite/projects_1x/mail.png deleted file mode 100644 index d10d0098aa..0000000000 Binary files a/resources/sprite/projects_1x/mail.png and /dev/null differ diff --git a/resources/sprite/projects_1x/martini.png b/resources/sprite/projects_1x/martini.png deleted file mode 100644 index 9fe5b144c1..0000000000 Binary files a/resources/sprite/projects_1x/martini.png and /dev/null differ diff --git a/resources/sprite/projects_1x/medical.png b/resources/sprite/projects_1x/medical.png deleted file mode 100644 index 6e4e6c3f99..0000000000 Binary files a/resources/sprite/projects_1x/medical.png and /dev/null differ diff --git a/resources/sprite/projects_1x/mobile.png b/resources/sprite/projects_1x/mobile.png deleted file mode 100644 index 73799da561..0000000000 Binary files a/resources/sprite/projects_1x/mobile.png and /dev/null differ diff --git a/resources/sprite/projects_1x/music.png b/resources/sprite/projects_1x/music.png deleted file mode 100644 index daf0d3e1f7..0000000000 Binary files a/resources/sprite/projects_1x/music.png and /dev/null differ diff --git a/resources/sprite/projects_1x/news.png b/resources/sprite/projects_1x/news.png deleted file mode 100644 index d50cf67aac..0000000000 Binary files a/resources/sprite/projects_1x/news.png and /dev/null differ diff --git a/resources/sprite/projects_1x/orgchart.png b/resources/sprite/projects_1x/orgchart.png deleted file mode 100644 index cb9e799290..0000000000 Binary files a/resources/sprite/projects_1x/orgchart.png and /dev/null differ diff --git a/resources/sprite/projects_1x/peoples.png b/resources/sprite/projects_1x/peoples.png deleted file mode 100644 index 8968e86453..0000000000 Binary files a/resources/sprite/projects_1x/peoples.png and /dev/null differ diff --git a/resources/sprite/projects_1x/piechart.png b/resources/sprite/projects_1x/piechart.png deleted file mode 100644 index ac74091bf9..0000000000 Binary files a/resources/sprite/projects_1x/piechart.png and /dev/null differ diff --git a/resources/sprite/projects_1x/poison.png b/resources/sprite/projects_1x/poison.png deleted file mode 100644 index 4ed9b21006..0000000000 Binary files a/resources/sprite/projects_1x/poison.png and /dev/null differ diff --git a/resources/sprite/projects_1x/putabirdonit.png b/resources/sprite/projects_1x/putabirdonit.png deleted file mode 100644 index 68b7e3ae91..0000000000 Binary files a/resources/sprite/projects_1x/putabirdonit.png and /dev/null differ diff --git a/resources/sprite/projects_1x/radiate.png b/resources/sprite/projects_1x/radiate.png deleted file mode 100644 index 634707e1ab..0000000000 Binary files a/resources/sprite/projects_1x/radiate.png and /dev/null differ diff --git a/resources/sprite/projects_1x/savings.png b/resources/sprite/projects_1x/savings.png deleted file mode 100644 index 39ffc216a1..0000000000 Binary files a/resources/sprite/projects_1x/savings.png and /dev/null differ diff --git a/resources/sprite/projects_1x/search.png b/resources/sprite/projects_1x/search.png deleted file mode 100644 index 85018f5c65..0000000000 Binary files a/resources/sprite/projects_1x/search.png and /dev/null differ diff --git a/resources/sprite/projects_1x/shield.png b/resources/sprite/projects_1x/shield.png deleted file mode 100644 index 78a6e7494e..0000000000 Binary files a/resources/sprite/projects_1x/shield.png and /dev/null differ diff --git a/resources/sprite/projects_1x/speed.png b/resources/sprite/projects_1x/speed.png deleted file mode 100644 index 8f2c943083..0000000000 Binary files a/resources/sprite/projects_1x/speed.png and /dev/null differ diff --git a/resources/sprite/projects_1x/sprint.png b/resources/sprite/projects_1x/sprint.png deleted file mode 100644 index 1e6acc7399..0000000000 Binary files a/resources/sprite/projects_1x/sprint.png and /dev/null differ diff --git a/resources/sprite/projects_1x/star.png b/resources/sprite/projects_1x/star.png deleted file mode 100644 index e0ad9d39c6..0000000000 Binary files a/resources/sprite/projects_1x/star.png and /dev/null differ diff --git a/resources/sprite/projects_1x/storage.png b/resources/sprite/projects_1x/storage.png deleted file mode 100644 index ede9d46c5a..0000000000 Binary files a/resources/sprite/projects_1x/storage.png and /dev/null differ diff --git a/resources/sprite/projects_1x/tablet.png b/resources/sprite/projects_1x/tablet.png deleted file mode 100644 index 6121f4dc9a..0000000000 Binary files a/resources/sprite/projects_1x/tablet.png and /dev/null differ diff --git a/resources/sprite/projects_1x/travel.png b/resources/sprite/projects_1x/travel.png deleted file mode 100644 index 3f3b995747..0000000000 Binary files a/resources/sprite/projects_1x/travel.png and /dev/null differ diff --git a/resources/sprite/projects_1x/twitter.png b/resources/sprite/projects_1x/twitter.png deleted file mode 100644 index 808db17ebf..0000000000 Binary files a/resources/sprite/projects_1x/twitter.png and /dev/null differ diff --git a/resources/sprite/projects_1x/warning.png b/resources/sprite/projects_1x/warning.png deleted file mode 100644 index 18757ecc5c..0000000000 Binary files a/resources/sprite/projects_1x/warning.png and /dev/null differ diff --git a/resources/sprite/projects_1x/whale.png b/resources/sprite/projects_1x/whale.png deleted file mode 100644 index df2039235a..0000000000 Binary files a/resources/sprite/projects_1x/whale.png and /dev/null differ diff --git a/resources/sprite/projects_2x/8ball.png b/resources/sprite/projects_2x/8ball.png deleted file mode 100644 index 8a40ad6c3a..0000000000 Binary files a/resources/sprite/projects_2x/8ball.png and /dev/null differ diff --git a/resources/sprite/projects_2x/alien.png b/resources/sprite/projects_2x/alien.png deleted file mode 100644 index 7956705045..0000000000 Binary files a/resources/sprite/projects_2x/alien.png and /dev/null differ diff --git a/resources/sprite/projects_2x/announce.png b/resources/sprite/projects_2x/announce.png deleted file mode 100644 index d39630e9f9..0000000000 Binary files a/resources/sprite/projects_2x/announce.png and /dev/null differ diff --git a/resources/sprite/projects_2x/art.png b/resources/sprite/projects_2x/art.png deleted file mode 100644 index c6450ed9bc..0000000000 Binary files a/resources/sprite/projects_2x/art.png and /dev/null differ diff --git a/resources/sprite/projects_2x/award.png b/resources/sprite/projects_2x/award.png deleted file mode 100644 index 924067dfff..0000000000 Binary files a/resources/sprite/projects_2x/award.png and /dev/null differ diff --git a/resources/sprite/projects_2x/bacon.png b/resources/sprite/projects_2x/bacon.png deleted file mode 100644 index 0d413181d5..0000000000 Binary files a/resources/sprite/projects_2x/bacon.png and /dev/null differ diff --git a/resources/sprite/projects_2x/bandaid.png b/resources/sprite/projects_2x/bandaid.png deleted file mode 100644 index 5526da1c9a..0000000000 Binary files a/resources/sprite/projects_2x/bandaid.png and /dev/null differ diff --git a/resources/sprite/projects_2x/beer.png b/resources/sprite/projects_2x/beer.png deleted file mode 100644 index e51c3bbc59..0000000000 Binary files a/resources/sprite/projects_2x/beer.png and /dev/null differ diff --git a/resources/sprite/projects_2x/bomb.png b/resources/sprite/projects_2x/bomb.png deleted file mode 100644 index 4b259fcb88..0000000000 Binary files a/resources/sprite/projects_2x/bomb.png and /dev/null differ diff --git a/resources/sprite/projects_2x/briefcase.png b/resources/sprite/projects_2x/briefcase.png deleted file mode 100644 index e3e953ec16..0000000000 Binary files a/resources/sprite/projects_2x/briefcase.png and /dev/null differ diff --git a/resources/sprite/projects_2x/bug.png b/resources/sprite/projects_2x/bug.png deleted file mode 100644 index 4f177e434a..0000000000 Binary files a/resources/sprite/projects_2x/bug.png and /dev/null differ diff --git a/resources/sprite/projects_2x/calendar.png b/resources/sprite/projects_2x/calendar.png deleted file mode 100644 index 6093a14638..0000000000 Binary files a/resources/sprite/projects_2x/calendar.png and /dev/null differ diff --git a/resources/sprite/projects_2x/cloud.png b/resources/sprite/projects_2x/cloud.png deleted file mode 100644 index f02dc156f1..0000000000 Binary files a/resources/sprite/projects_2x/cloud.png and /dev/null differ diff --git a/resources/sprite/projects_2x/coffee.png b/resources/sprite/projects_2x/coffee.png deleted file mode 100644 index f3ad8bcf3c..0000000000 Binary files a/resources/sprite/projects_2x/coffee.png and /dev/null differ diff --git a/resources/sprite/projects_2x/creditcard.png b/resources/sprite/projects_2x/creditcard.png deleted file mode 100644 index b5c7347030..0000000000 Binary files a/resources/sprite/projects_2x/creditcard.png and /dev/null differ diff --git a/resources/sprite/projects_2x/death.png b/resources/sprite/projects_2x/death.png deleted file mode 100644 index a588d306f6..0000000000 Binary files a/resources/sprite/projects_2x/death.png and /dev/null differ diff --git a/resources/sprite/projects_2x/desktop.png b/resources/sprite/projects_2x/desktop.png deleted file mode 100644 index b9715f03b5..0000000000 Binary files a/resources/sprite/projects_2x/desktop.png and /dev/null differ diff --git a/resources/sprite/projects_2x/dropbox.png b/resources/sprite/projects_2x/dropbox.png deleted file mode 100644 index 49dc0a2480..0000000000 Binary files a/resources/sprite/projects_2x/dropbox.png and /dev/null differ diff --git a/resources/sprite/projects_2x/education.png b/resources/sprite/projects_2x/education.png deleted file mode 100644 index e1675d89a3..0000000000 Binary files a/resources/sprite/projects_2x/education.png and /dev/null differ diff --git a/resources/sprite/projects_2x/experimental.png b/resources/sprite/projects_2x/experimental.png deleted file mode 100644 index 3a10b8ede4..0000000000 Binary files a/resources/sprite/projects_2x/experimental.png and /dev/null differ diff --git a/resources/sprite/projects_2x/facebook.png b/resources/sprite/projects_2x/facebook.png deleted file mode 100644 index 2acd42067c..0000000000 Binary files a/resources/sprite/projects_2x/facebook.png and /dev/null differ diff --git a/resources/sprite/projects_2x/facility.png b/resources/sprite/projects_2x/facility.png deleted file mode 100644 index f6594eda4f..0000000000 Binary files a/resources/sprite/projects_2x/facility.png and /dev/null differ diff --git a/resources/sprite/projects_2x/film.png b/resources/sprite/projects_2x/film.png deleted file mode 100644 index 0050116a53..0000000000 Binary files a/resources/sprite/projects_2x/film.png and /dev/null differ diff --git a/resources/sprite/projects_2x/forked.png b/resources/sprite/projects_2x/forked.png deleted file mode 100644 index 32f4c549b3..0000000000 Binary files a/resources/sprite/projects_2x/forked.png and /dev/null differ diff --git a/resources/sprite/projects_2x/games.png b/resources/sprite/projects_2x/games.png deleted file mode 100644 index 7b67835b4a..0000000000 Binary files a/resources/sprite/projects_2x/games.png and /dev/null differ diff --git a/resources/sprite/projects_2x/ghost.png b/resources/sprite/projects_2x/ghost.png deleted file mode 100644 index 796acb51fa..0000000000 Binary files a/resources/sprite/projects_2x/ghost.png and /dev/null differ diff --git a/resources/sprite/projects_2x/gift.png b/resources/sprite/projects_2x/gift.png deleted file mode 100644 index e0324f081d..0000000000 Binary files a/resources/sprite/projects_2x/gift.png and /dev/null differ diff --git a/resources/sprite/projects_2x/globe.png b/resources/sprite/projects_2x/globe.png deleted file mode 100644 index 9fc691e165..0000000000 Binary files a/resources/sprite/projects_2x/globe.png and /dev/null differ diff --git a/resources/sprite/projects_2x/golf.png b/resources/sprite/projects_2x/golf.png deleted file mode 100644 index 6052476460..0000000000 Binary files a/resources/sprite/projects_2x/golf.png and /dev/null differ diff --git a/resources/sprite/projects_2x/heart.png b/resources/sprite/projects_2x/heart.png deleted file mode 100644 index d92dd454d7..0000000000 Binary files a/resources/sprite/projects_2x/heart.png and /dev/null differ diff --git a/resources/sprite/projects_2x/intergalactic.png b/resources/sprite/projects_2x/intergalactic.png deleted file mode 100644 index 03e1565fb9..0000000000 Binary files a/resources/sprite/projects_2x/intergalactic.png and /dev/null differ diff --git a/resources/sprite/projects_2x/lock.png b/resources/sprite/projects_2x/lock.png deleted file mode 100644 index 23eb42d8b6..0000000000 Binary files a/resources/sprite/projects_2x/lock.png and /dev/null differ diff --git a/resources/sprite/projects_2x/mail.png b/resources/sprite/projects_2x/mail.png deleted file mode 100644 index 3a7f87a72b..0000000000 Binary files a/resources/sprite/projects_2x/mail.png and /dev/null differ diff --git a/resources/sprite/projects_2x/martini.png b/resources/sprite/projects_2x/martini.png deleted file mode 100644 index ba90423952..0000000000 Binary files a/resources/sprite/projects_2x/martini.png and /dev/null differ diff --git a/resources/sprite/projects_2x/medical.png b/resources/sprite/projects_2x/medical.png deleted file mode 100644 index aec84f070b..0000000000 Binary files a/resources/sprite/projects_2x/medical.png and /dev/null differ diff --git a/resources/sprite/projects_2x/mobile.png b/resources/sprite/projects_2x/mobile.png deleted file mode 100644 index 68bb17cc1b..0000000000 Binary files a/resources/sprite/projects_2x/mobile.png and /dev/null differ diff --git a/resources/sprite/projects_2x/music.png b/resources/sprite/projects_2x/music.png deleted file mode 100644 index 2f6da31763..0000000000 Binary files a/resources/sprite/projects_2x/music.png and /dev/null differ diff --git a/resources/sprite/projects_2x/news.png b/resources/sprite/projects_2x/news.png deleted file mode 100644 index 8285a7c02d..0000000000 Binary files a/resources/sprite/projects_2x/news.png and /dev/null differ diff --git a/resources/sprite/projects_2x/orgchart.png b/resources/sprite/projects_2x/orgchart.png deleted file mode 100644 index 89cbb84ec8..0000000000 Binary files a/resources/sprite/projects_2x/orgchart.png and /dev/null differ diff --git a/resources/sprite/projects_2x/peoples.png b/resources/sprite/projects_2x/peoples.png deleted file mode 100644 index fb366cb378..0000000000 Binary files a/resources/sprite/projects_2x/peoples.png and /dev/null differ diff --git a/resources/sprite/projects_2x/piechart.png b/resources/sprite/projects_2x/piechart.png deleted file mode 100644 index 2c403ed33e..0000000000 Binary files a/resources/sprite/projects_2x/piechart.png and /dev/null differ diff --git a/resources/sprite/projects_2x/poison.png b/resources/sprite/projects_2x/poison.png deleted file mode 100644 index e8fe492649..0000000000 Binary files a/resources/sprite/projects_2x/poison.png and /dev/null differ diff --git a/resources/sprite/projects_2x/putabirdonit.png b/resources/sprite/projects_2x/putabirdonit.png deleted file mode 100644 index 34f7de1a1c..0000000000 Binary files a/resources/sprite/projects_2x/putabirdonit.png and /dev/null differ diff --git a/resources/sprite/projects_2x/radiate.png b/resources/sprite/projects_2x/radiate.png deleted file mode 100644 index 2195a8f8f3..0000000000 Binary files a/resources/sprite/projects_2x/radiate.png and /dev/null differ diff --git a/resources/sprite/projects_2x/savings.png b/resources/sprite/projects_2x/savings.png deleted file mode 100644 index 8499c023a6..0000000000 Binary files a/resources/sprite/projects_2x/savings.png and /dev/null differ diff --git a/resources/sprite/projects_2x/search.png b/resources/sprite/projects_2x/search.png deleted file mode 100644 index 3b19629506..0000000000 Binary files a/resources/sprite/projects_2x/search.png and /dev/null differ diff --git a/resources/sprite/projects_2x/shield.png b/resources/sprite/projects_2x/shield.png deleted file mode 100644 index 73b96ae892..0000000000 Binary files a/resources/sprite/projects_2x/shield.png and /dev/null differ diff --git a/resources/sprite/projects_2x/speed.png b/resources/sprite/projects_2x/speed.png deleted file mode 100644 index b986e9fdd8..0000000000 Binary files a/resources/sprite/projects_2x/speed.png and /dev/null differ diff --git a/resources/sprite/projects_2x/sprint.png b/resources/sprite/projects_2x/sprint.png deleted file mode 100644 index feb29ef0fc..0000000000 Binary files a/resources/sprite/projects_2x/sprint.png and /dev/null differ diff --git a/resources/sprite/projects_2x/star.png b/resources/sprite/projects_2x/star.png deleted file mode 100644 index 35f8e802b9..0000000000 Binary files a/resources/sprite/projects_2x/star.png and /dev/null differ diff --git a/resources/sprite/projects_2x/storage.png b/resources/sprite/projects_2x/storage.png deleted file mode 100644 index b538161b0b..0000000000 Binary files a/resources/sprite/projects_2x/storage.png and /dev/null differ diff --git a/resources/sprite/projects_2x/tablet.png b/resources/sprite/projects_2x/tablet.png deleted file mode 100644 index ba08795dbd..0000000000 Binary files a/resources/sprite/projects_2x/tablet.png and /dev/null differ diff --git a/resources/sprite/projects_2x/travel.png b/resources/sprite/projects_2x/travel.png deleted file mode 100644 index 828f4d1860..0000000000 Binary files a/resources/sprite/projects_2x/travel.png and /dev/null differ diff --git a/resources/sprite/projects_2x/twitter.png b/resources/sprite/projects_2x/twitter.png deleted file mode 100644 index 620b437d86..0000000000 Binary files a/resources/sprite/projects_2x/twitter.png and /dev/null differ diff --git a/resources/sprite/projects_2x/warning.png b/resources/sprite/projects_2x/warning.png deleted file mode 100644 index f07e8a467b..0000000000 Binary files a/resources/sprite/projects_2x/warning.png and /dev/null differ diff --git a/resources/sprite/projects_2x/whale.png b/resources/sprite/projects_2x/whale.png deleted file mode 100644 index 986dfc298e..0000000000 Binary files a/resources/sprite/projects_2x/whale.png and /dev/null differ diff --git a/scripts/celerity/generate_sprites.php b/scripts/celerity/generate_sprites.php index 0fbdff60ab..61f63d155d 100755 --- a/scripts/celerity/generate_sprites.php +++ b/scripts/celerity/generate_sprites.php @@ -1,84 +1,83 @@ #!/usr/bin/env php <?php require_once dirname(dirname(__FILE__)).'/__init_script__.php'; $args = new PhutilArgumentParser($argv); $args->setTagline(pht('regenerate CSS sprite sheets')); $args->setSynopsis(<<<EOHELP **sprites** Rebuild CSS sprite sheets. EOHELP ); $args->parseStandardArguments(); $args->parse( array( array( 'name' => 'force', 'help' => pht('Force regeneration even if sources have not changed.'), ), )); $root = dirname(phutil_get_library_root('phabricator')); $webroot = $root.'/webroot/rsrc'; $webroot = Filesystem::readablePath($webroot); $generator = new CeleritySpriteGenerator(); $sheets = array( 'menu' => $generator->buildMenuSheet(), 'tokens' => $generator->buildTokenSheet(), 'login' => $generator->buildLoginSheet(), - 'projects' => $generator->buildProjectsSheet(), ); list($err) = exec_manual('optipng'); if ($err) { $have_optipng = false; echo phutil_console_format( "<bg:red> %s </bg> %s\n%s\n", pht('WARNING'), pht('`%s` not found in PATH.', 'optipng'), pht('Sprites will not be optimized! Install `%s`!', 'optipng')); } else { $have_optipng = true; } foreach ($sheets as $name => $sheet) { $sheet->setBasePath($root); $manifest_path = $root.'/resources/sprite/manifest/'.$name.'.json'; if (!$args->getArg('force')) { if (Filesystem::pathExists($manifest_path)) { $data = Filesystem::readFile($manifest_path); $data = phutil_json_decode($data); if (!$sheet->needsRegeneration($data)) { continue; } } } $sheet ->generateCSS($webroot."/css/sprite-{$name}.css") ->generateManifest($root."/resources/sprite/manifest/{$name}.json"); foreach ($sheet->getScales() as $scale) { if ($scale == 1) { $sheet_name = "sprite-{$name}.png"; } else { $sheet_name = "sprite-{$name}-X{$scale}.png"; } $full_path = "{$webroot}/image/{$sheet_name}"; $sheet->generateImage($full_path, $scale); if ($have_optipng) { echo pht('Optimizing...')."\n"; phutil_passthru('optipng -o7 -clobber %s', $full_path); } } } echo pht('Done.')."\n"; diff --git a/src/applications/celerity/CeleritySpriteGenerator.php b/src/applications/celerity/CeleritySpriteGenerator.php index 4825609fe6..55346c915c 100644 --- a/src/applications/celerity/CeleritySpriteGenerator.php +++ b/src/applications/celerity/CeleritySpriteGenerator.php @@ -1,237 +1,205 @@ <?php final class CeleritySpriteGenerator extends Phobject { public function buildMenuSheet() { $sprites = array(); $colors = array( 'dark', 'light', ); $sources = array(); foreach ($colors as $color) { $sources[$color.'-logo'] = array( 'x' => 96, 'y' => 40, 'css' => '.'.$color.'-logo', ); $sources[$color.'-eye'] = array( 'x' => 40, 'y' => 40, 'css' => '.'.$color.'-eye', ); } $scales = array( '1x' => 1, '2x' => 2, ); $template = new PhutilSprite(); foreach ($sources as $name => $spec) { $sprite = id(clone $template) ->setName($name) ->setSourceSize($spec['x'], $spec['y']) ->setTargetCSS($spec['css']); foreach ($scales as $scale_name => $scale) { $path = 'menu_'.$scale_name.'/'.$name.'.png'; $path = $this->getPath($path); $sprite->setSourceFile($path, $scale); } $sprites[] = $sprite; } $sheet = $this->buildSheet('menu', true); $sheet->setScales($scales); foreach ($sprites as $sprite) { $sheet->addSprite($sprite); } return $sheet; } public function buildTokenSheet() { $icons = $this->getDirectoryList('tokens_1x'); $scales = array( '1x' => 1, '2x' => 2, ); $template = id(new PhutilSprite()) ->setSourceSize(16, 16); $sprites = array(); $prefix = 'tokens_'; foreach ($icons as $icon) { $sprite = id(clone $template) ->setName('tokens-'.$icon) ->setTargetCSS('.tokens-'.$icon); foreach ($scales as $scale_key => $scale) { $path = $this->getPath($prefix.$scale_key.'/'.$icon.'.png'); $sprite->setSourceFile($path, $scale); } $sprites[] = $sprite; } $sheet = $this->buildSheet('tokens', true); $sheet->setScales($scales); foreach ($sprites as $sprite) { $sheet->addSprite($sprite); } return $sheet; } - public function buildProjectsSheet() { - $icons = $this->getDirectoryList('projects_1x'); - $scales = array( - '1x' => 1, - '2x' => 2, - ); - $template = id(new PhutilSprite()) - ->setSourceSize(50, 50); - - $sprites = array(); - $prefix = 'projects-'; - foreach ($icons as $icon) { - $sprite = id(clone $template) - ->setName($prefix.$icon) - ->setTargetCSS('.'.$prefix.$icon); - - foreach ($scales as $scale_key => $scale) { - $path = $this->getPath('projects_'.$scale_key.'/'.$icon.'.png'); - $sprite->setSourceFile($path, $scale); - } - $sprites[] = $sprite; - } - - $sheet = $this->buildSheet('projects', true); - $sheet->setScales($scales); - foreach ($sprites as $sprite) { - $sheet->addSprite($sprite); - } - - return $sheet; - } - public function buildLoginSheet() { $icons = $this->getDirectoryList('login_1x'); $scales = array( '1x' => 1, '2x' => 2, ); $template = id(new PhutilSprite()) ->setSourceSize(28, 28); $sprites = array(); $prefix = 'login_'; foreach ($icons as $icon) { $sprite = id(clone $template) ->setName('login-'.$icon) ->setTargetCSS('.login-'.$icon); foreach ($scales as $scale_key => $scale) { $path = $this->getPath($prefix.$scale_key.'/'.$icon.'.png'); $sprite->setSourceFile($path, $scale); } $sprites[] = $sprite; } $sheet = $this->buildSheet('login', true); $sheet->setScales($scales); foreach ($sprites as $sprite) { $sheet->addSprite($sprite); } return $sheet; } private function getPath($to_path = null) { $root = dirname(phutil_get_library_root('phabricator')); return $root.'/resources/sprite/'.$to_path; } private function getDirectoryList($dir) { $path = $this->getPath($dir); $result = array(); $images = Filesystem::listDirectory($path, $include_hidden = false); foreach ($images as $image) { if (!preg_match('/\.png$/', $image)) { throw new Exception( pht( "Expected file '%s' in '%s' to be a sprite source ending in '%s'.", $image, $path, '.png')); } $result[] = substr($image, 0, -4); } return $result; } private function buildSheet( $name, $has_retina, $type = null, $extra_css = '') { $sheet = new PhutilSpriteSheet(); $at = '@'; switch ($type) { case PhutilSpriteSheet::TYPE_STANDARD: default: $type = PhutilSpriteSheet::TYPE_STANDARD; $repeat_rule = 'no-repeat'; break; case PhutilSpriteSheet::TYPE_REPEAT_X: $repeat_rule = 'repeat-x'; break; case PhutilSpriteSheet::TYPE_REPEAT_Y: $repeat_rule = 'repeat-y'; break; } $retina_rules = null; if ($has_retina) { $retina_rules = <<<EOCSS @media only screen and (min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 1.5dppx) { .sprite-{$name}{$extra_css} { background-image: url(/rsrc/image/sprite-{$name}-X2.png); background-size: {X}px {Y}px; } } EOCSS; } $sheet->setSheetType($type); $sheet->setCSSHeader(<<<EOCSS /** * @provides sprite-{$name}-css * {$at}generated */ .sprite-{$name}{$extra_css} { background-image: url(/rsrc/image/sprite-{$name}.png); background-repeat: {$repeat_rule}; } {$retina_rules} EOCSS ); return $sheet; } } diff --git a/src/applications/files/builtin/PhabricatorFilesComposeIconBuiltinFile.php b/src/applications/files/builtin/PhabricatorFilesComposeIconBuiltinFile.php index 581f1ed5f9..5e12832cac 100644 --- a/src/applications/files/builtin/PhabricatorFilesComposeIconBuiltinFile.php +++ b/src/applications/files/builtin/PhabricatorFilesComposeIconBuiltinFile.php @@ -1,235 +1,235 @@ <?php final class PhabricatorFilesComposeIconBuiltinFile extends PhabricatorFilesBuiltinFile { private $icon; private $color; public function setIcon($icon) { $this->icon = $icon; return $this; } public function getIcon() { return $this->icon; } public function setColor($color) { $this->color = $color; return $this; } public function getColor() { return $this->color; } public function getBuiltinFileKey() { $icon = $this->getIcon(); $color = $this->getColor(); $desc = "compose(icon={$icon}, color={$color})"; $hash = PhabricatorHash::digestToLength($desc, 40); return "builtin:{$hash}"; } public function getBuiltinDisplayName() { $icon = $this->getIcon(); $color = $this->getColor(); return "{$icon}-{$color}.png"; } public function loadBuiltinFileData() { return $this->composeImage($this->getColor(), $this->getIcon()); } public static function getAllIcons() { $root = dirname(phutil_get_library_root('phabricator')); - $root = $root.'/resources/sprite/projects_2x/'; + $root = $root.'/resources/builtin/projects/'; $quips = self::getIconQuips(); $map = array(); $list = Filesystem::listDirectory($root, $include_hidden = false); foreach ($list as $file) { $short = preg_replace('/\.png$/', '', $file); $map[$short] = array( 'path' => $root.$file, 'quip' => idx($quips, $short, $short), ); } return $map; } public static function getAllColors() { $colors = id(new CelerityResourceTransformer()) ->getCSSVariableMap(); $colors = array_select_keys( $colors, array( 'red', 'orange', 'yellow', 'green', 'blue', 'sky', 'indigo', 'violet', 'pink', 'charcoal', 'backdrop', )); $quips = self::getColorQuips(); $map = array(); foreach ($colors as $name => $color) { $map[$name] = array( 'color' => $color, 'quip' => idx($quips, $name, $name), ); } return $map; } private function composeImage($color, $icon) { $color_map = self::getAllColors(); $color = idx($color_map, $color); if (!$color) { $fallback = 'backdrop'; $color = idx($color_map, $fallback); if (!$color) { throw new Exception( pht( 'Fallback compose color ("%s") does not exist!', $fallback)); } } $color_hex = idx($color, 'color'); $color_const = hexdec(trim($color_hex, '#')); $icon_map = self::getAllIcons(); $icon = idx($icon_map, $icon); if (!$icon) { $fallback = 'fa-umbrella'; $icon = idx($icon_map, $fallback); if (!$icon) { throw new Exception( pht( 'Fallback compose icon ("%s") does not exist!', $fallback)); } } $path = idx($icon, 'path'); $data = Filesystem::readFile($path); $icon_img = imagecreatefromstring($data); $canvas = imagecreatetruecolor(100, 100); imagefill($canvas, 0, 0, $color_const); imagecopy($canvas, $icon_img, 0, 0, 0, 0, 100, 100); return PhabricatorImageTransformer::saveImageDataInAnyFormat( $canvas, 'image/png'); } private static function getIconQuips() { return array( '8ball' => pht('Take a Risk'), 'alien' => pht('Foreign Interface'), 'announce' => pht('Louder is Better'), 'art' => pht('Unique Snowflake'), 'award' => pht('Shooting Star'), 'bacon' => pht('Healthy Vegetables'), 'bandaid' => pht('Durable Infrastructure'), 'beer' => pht('Healthy Vegetable Juice'), 'bomb' => pht('Imminent Success'), 'briefcase' => pht('Adventure Pack'), 'bug' => pht('Costumed Egg'), 'calendar' => pht('Everyone Loves Meetings'), 'cloud' => pht('Water Cycle'), 'coffee' => pht('Half-Whip Nonfat Soy Latte'), 'creditcard' => pht('Expense It'), 'death' => pht('Calcium Promotes Bone Health'), 'desktop' => pht('Magical Portal'), 'dropbox' => pht('Cardboard Box'), 'education' => pht('Debt'), 'experimental' => pht('CAUTION: Dangerous Chemicals'), 'facebook' => pht('Popular Social Network'), 'facility' => pht('Pollution Solves Problems'), 'film' => pht('Actual Physical Film'), 'forked' => pht('You Can\'t Eat Soup'), 'games' => pht('Serious Business'), 'ghost' => pht('Haunted'), 'gift' => pht('Surprise!'), 'globe' => pht('Scanner Sweep'), 'golf' => pht('Business Meeting'), 'heart' => pht('Undergoing a Major Surgery'), 'intergalactic' => pht('Jupiter'), 'lock' => pht('Extremely Secret'), 'mail' => pht('Oragami'), 'martini' => pht('Healthy Olive Drink'), 'medical' => pht('Medic!'), 'mobile' => pht('Cellular Telephone'), 'music' => pht("\xE2\x99\xAB"), 'news' => pht('Actual Physical Newspaper'), 'orgchart' => pht('It\'s Good to be King'), 'peoples' => pht('Angel and Devil'), 'piechart' => pht('Actual Physical Pie'), 'poison' => pht('Healthy Bone Juice'), 'putabirdonit' => pht('Put a Bird On It'), 'radiate' => pht('Radiant Beauty'), 'savings' => pht('Oink Oink'), 'search' => pht('Sleuthing'), 'shield' => pht('Royal Crest'), 'speed' => pht('Slow and Steady'), 'sprint' => pht('Fire Exit'), 'star' => pht('The More You Know'), 'storage' => pht('Stack of Pancakes'), 'tablet' => pht('Cellular Telephone For Giants'), 'travel' => pht('Pretty Clearly an Airplane'), 'twitter' => pht('Bird Stencil'), 'warning' => pht('No Caution Required, Everything Looks Safe'), 'whale' => pht('Friendly Walrus'), 'fa-flask' => pht('Experimental'), 'fa-briefcase' => pht('Briefcase'), 'fa-bug' => pht('Bug'), 'fa-building' => pht('Company'), 'fa-calendar' => pht('Deadline'), 'fa-cloud' => pht('The Cloud'), 'fa-credit-card' => pht('Accounting'), 'fa-envelope' => pht('Communication'), 'fa-flag-checkered' => pht('Goal'), 'fa-folder' => pht('Folder'), 'fa-group' => pht('Team'), 'fa-lock' => pht('Policy'), 'fa-tags' => pht('Tag'), 'fa-trash-o' => pht('Garbage'), 'fa-truck' => pht('Release'), 'fa-umbrella' => pht('An Umbrella'), ); } private static function getColorQuips() { return array( 'red' => pht('Verbillion'), 'orange' => pht('Navel Orange'), 'yellow' => pht('Prim Goldenrod'), 'green' => pht('Lustrous Verdant'), 'blue' => pht('Tropical Deep'), 'sky' => pht('Wide Open Sky'), 'indigo' => pht('Pleated Khaki'), 'violet' => pht('Aged Merlot'), 'pink' => pht('Easter Bunny'), 'charcoal' => pht('Gemstone'), 'backdrop' => pht('Driven Snow'), ); } } diff --git a/src/applications/files/controller/PhabricatorFileComposeController.php b/src/applications/files/controller/PhabricatorFileComposeController.php index 3f2667b9d1..17e605f3a9 100644 --- a/src/applications/files/controller/PhabricatorFileComposeController.php +++ b/src/applications/files/controller/PhabricatorFileComposeController.php @@ -1,222 +1,222 @@ <?php final class PhabricatorFileComposeController extends PhabricatorFileController { public function handleRequest(AphrontRequest $request) { $viewer = $request->getViewer(); $color_map = PhabricatorFilesComposeIconBuiltinFile::getAllColors(); $icon_map = $this->getIconMap(); if ($request->isFormPost()) { $project_phid = $request->getStr('projectPHID'); if ($project_phid) { $project = id(new PhabricatorProjectQuery()) ->setViewer($viewer) ->withPHIDs(array($project_phid)) ->requireCapabilities( array( PhabricatorPolicyCapability::CAN_VIEW, PhabricatorPolicyCapability::CAN_EDIT, )) ->executeOne(); if (!$project) { return new Aphront404Response(); } } $icon = $request->getStr('icon'); $color = $request->getStr('color'); $composer = id(new PhabricatorFilesComposeIconBuiltinFile()) ->setIcon($icon) ->setColor($color); $data = $composer->loadBuiltinFileData(); $file = PhabricatorFile::buildFromFileDataOrHash( $data, array( 'name' => $composer->getBuiltinDisplayName(), 'profile' => true, 'canCDN' => true, )); if ($project_phid) { $edit_uri = '/project/profile/'.$project->getID().'/'; $xactions = array(); $xactions[] = id(new PhabricatorProjectTransaction()) ->setTransactionType(PhabricatorProjectTransaction::TYPE_IMAGE) ->setNewValue($file->getPHID()); $editor = id(new PhabricatorProjectTransactionEditor()) ->setActor($viewer) ->setContentSourceFromRequest($request) ->setContinueOnMissingFields(true) ->setContinueOnNoEffect(true); $editor->applyTransactions($project, $xactions); return id(new AphrontRedirectResponse())->setURI($edit_uri); } else { $content = array( 'phid' => $file->getPHID(), ); return id(new AphrontAjaxResponse())->setContent($content); } } $value_color = head_key($color_map); $value_icon = head_key($icon_map); require_celerity_resource('people-profile-css'); $buttons = array(); foreach ($color_map as $color => $info) { $quip = idx($info, 'quip'); $buttons[] = javelin_tag( 'button', array( 'class' => 'grey profile-image-button', 'sigil' => 'has-tooltip compose-select-color', 'style' => 'margin: 0 8px 8px 0', 'meta' => array( 'color' => $color, 'tip' => $quip, ), ), id(new PHUIIconView()) ->addClass('compose-background-'.$color)); } $icons = array(); foreach ($icon_map as $icon => $spec) { $quip = idx($spec, 'quip'); $icons[] = javelin_tag( 'button', array( 'class' => 'grey profile-image-button', 'sigil' => 'has-tooltip compose-select-icon', 'style' => 'margin: 0 8px 8px 0', 'meta' => array( 'icon' => $icon, 'tip' => $quip, ), ), id(new PHUIIconView()) - ->setSpriteIcon($icon) - ->setSpriteSheet(PHUIIconView::SPRITE_PROJECTS)); + ->setIconFont($icon) + ->addClass('compose-icon-bg')); } $dialog_id = celerity_generate_unique_node_id(); $color_input_id = celerity_generate_unique_node_id(); $icon_input_id = celerity_generate_unique_node_id(); $preview_id = celerity_generate_unique_node_id(); $preview = id(new PHUIIconView()) ->setID($preview_id) ->addClass('compose-background-'.$value_color) - ->setSpriteIcon($value_icon) - ->setSpriteSheet(PHUIIconView::SPRITE_PROJECTS); + ->setIconFont($value_icon) + ->addClass('compose-icon-bg'); $color_input = javelin_tag( 'input', array( 'type' => 'hidden', 'name' => 'color', 'value' => $value_color, 'id' => $color_input_id, )); $icon_input = javelin_tag( 'input', array( 'type' => 'hidden', 'name' => 'icon', 'value' => $value_icon, 'id' => $icon_input_id, )); Javelin::initBehavior('phabricator-tooltips'); Javelin::initBehavior( 'icon-composer', array( 'dialogID' => $dialog_id, 'colorInputID' => $color_input_id, 'iconInputID' => $icon_input_id, 'previewID' => $preview_id, 'defaultColor' => $value_color, 'defaultIcon' => $value_icon, )); $dialog = id(new AphrontDialogView()) ->setUser($viewer) ->setFormID($dialog_id) ->setClass('compose-dialog') ->setTitle(pht('Compose Image')) ->appendChild( phutil_tag( 'div', array( 'class' => 'compose-header', ), pht('Choose Background Color'))) ->appendChild($buttons) ->appendChild( phutil_tag( 'div', array( 'class' => 'compose-header', ), pht('Choose Icon'))) ->appendChild($icons) ->appendChild( phutil_tag( 'div', array( 'class' => 'compose-header', ), pht('Preview'))) ->appendChild($preview) ->appendChild($color_input) ->appendChild($icon_input) ->addCancelButton('/') ->addSubmitButton(pht('Save Image')); return id(new AphrontDialogResponse())->setDialog($dialog); } private function getIconMap() { $icon_map = PhabricatorFilesComposeIconBuiltinFile::getAllIcons(); $first = array( 'fa-briefcase', 'fa-tags', 'fa-folder', 'fa-group', 'fa-bug', 'fa-trash-o', 'fa-calendar', 'fa-flag-checkered', 'fa-envelope', 'fa-truck', 'fa-lock', 'fa-umbrella', 'fa-cloud', 'fa-building', 'fa-credit-card', 'fa-flask', ); $icon_map = array_select_keys($icon_map, $first) + $icon_map; return $icon_map; } } diff --git a/src/view/phui/PHUIIconView.php b/src/view/phui/PHUIIconView.php index c9d8a0808e..c383aff30b 100644 --- a/src/view/phui/PHUIIconView.php +++ b/src/view/phui/PHUIIconView.php @@ -1,769 +1,768 @@ <?php final class PHUIIconView extends AphrontTagView { const SPRITE_TOKENS = 'tokens'; const SPRITE_LOGIN = 'login'; - const SPRITE_PROJECTS = 'projects'; const HEAD_SMALL = 'phuihead-small'; const HEAD_MEDIUM = 'phuihead-medium'; private $href = null; private $image; private $text; private $headSize = null; private $spriteIcon; private $spriteSheet; private $iconFont; private $iconColor; public function setHref($href) { $this->href = $href; return $this; } public function setImage($image) { $this->image = $image; return $this; } public function setText($text) { $this->text = $text; return $this; } public function setHeadSize($size) { $this->headSize = $size; return $this; } public function setSpriteIcon($sprite) { $this->spriteIcon = $sprite; return $this; } public function setSpriteSheet($sheet) { $this->spriteSheet = $sheet; return $this; } public function setIconFont($icon, $color = null) { $this->iconFont = $icon; $this->iconColor = $color; return $this; } protected function getTagName() { $tag = 'span'; if ($this->href) { $tag = 'a'; } return $tag; } protected function getTagAttributes() { require_celerity_resource('phui-icon-view-css'); $style = null; $classes = array(); $classes[] = 'phui-icon-view'; if ($this->spriteIcon) { require_celerity_resource('sprite-'.$this->spriteSheet.'-css'); $classes[] = 'sprite-'.$this->spriteSheet; $classes[] = $this->spriteSheet.'-'.$this->spriteIcon; } else if ($this->iconFont) { require_celerity_resource('phui-font-icon-base-css'); require_celerity_resource('font-fontawesome'); $classes[] = 'phui-font-fa'; $classes[] = $this->iconFont; if ($this->iconColor) { $classes[] = $this->iconColor; } } else { if ($this->headSize) { $classes[] = $this->headSize; } $style = 'background-image: url('.$this->image.');'; } if ($this->text) { $classes[] = 'phui-icon-has-text'; $this->appendChild($this->text); } return array( 'href' => $this->href, 'style' => $style, 'aural' => false, 'class' => $classes, ); } public static function getSheetManifest($sheet) { $root = dirname(phutil_get_library_root('phabricator')); $path = $root.'/resources/sprite/manifest/'.$sheet.'.json'; $data = Filesystem::readFile($path); return idx(phutil_json_decode($data), 'sprites'); } public static function getFontIcons() { return array( 'fa-glass', 'fa-music', 'fa-search', 'fa-envelope-o', 'fa-heart', 'fa-star', 'fa-star-o', 'fa-user', 'fa-film', 'fa-th-large', 'fa-th', 'fa-th-list', 'fa-check', 'fa-times', 'fa-search-plus', 'fa-search-minus', 'fa-power-off', 'fa-signal', 'fa-cog', 'fa-trash-o', 'fa-home', 'fa-file-o', 'fa-clock-o', 'fa-road', 'fa-download', 'fa-arrow-circle-o-down', 'fa-arrow-circle-o-up', 'fa-inbox', 'fa-play-circle-o', 'fa-repeat', 'fa-refresh', 'fa-list-alt', 'fa-lock', 'fa-flag', 'fa-headphones', 'fa-volume-off', 'fa-volume-down', 'fa-volume-up', 'fa-qrcode', 'fa-barcode', 'fa-tag', 'fa-tags', 'fa-book', 'fa-bookmark', 'fa-print', 'fa-camera', 'fa-font', 'fa-bold', 'fa-italic', 'fa-text-height', 'fa-text-width', 'fa-align-left', 'fa-align-center', 'fa-align-right', 'fa-align-justify', 'fa-list', 'fa-outdent', 'fa-indent', 'fa-video-camera', 'fa-picture-o', 'fa-pencil', 'fa-map-marker', 'fa-adjust', 'fa-tint', 'fa-pencil-square-o', 'fa-share-square-o', 'fa-check-square-o', 'fa-arrows', 'fa-step-backward', 'fa-fast-backward', 'fa-backward', 'fa-play', 'fa-pause', 'fa-stop', 'fa-forward', 'fa-fast-forward', 'fa-step-forward', 'fa-eject', 'fa-chevron-left', 'fa-chevron-right', 'fa-plus-circle', 'fa-minus-circle', 'fa-times-circle', 'fa-check-circle', 'fa-question-circle', 'fa-info-circle', 'fa-crosshairs', 'fa-times-circle-o', 'fa-check-circle-o', 'fa-ban', 'fa-arrow-left', 'fa-arrow-right', 'fa-arrow-up', 'fa-arrow-down', 'fa-share', 'fa-expand', 'fa-compress', 'fa-plus', 'fa-minus', 'fa-asterisk', 'fa-exclamation-circle', 'fa-gift', 'fa-leaf', 'fa-fire', 'fa-eye', 'fa-eye-slash', 'fa-exclamation-triangle', 'fa-plane', 'fa-calendar', 'fa-random', 'fa-comment', 'fa-magnet', 'fa-chevron-up', 'fa-chevron-down', 'fa-retweet', 'fa-shopping-cart', 'fa-folder', 'fa-folder-open', 'fa-arrows-v', 'fa-arrows-h', 'fa-bar-chart-o', 'fa-twitter-square', 'fa-facebook-square', 'fa-camera-retro', 'fa-key', 'fa-cogs', 'fa-comments', 'fa-thumbs-o-up', 'fa-thumbs-o-down', 'fa-star-half', 'fa-heart-o', 'fa-sign-out', 'fa-linkedin-square', 'fa-thumb-tack', 'fa-external-link', 'fa-sign-in', 'fa-trophy', 'fa-github-square', 'fa-upload', 'fa-lemon-o', 'fa-phone', 'fa-square-o', 'fa-bookmark-o', 'fa-phone-square', 'fa-twitter', 'fa-facebook', 'fa-github', 'fa-unlock', 'fa-credit-card', 'fa-rss', 'fa-hdd-o', 'fa-bullhorn', 'fa-bell', 'fa-certificate', 'fa-hand-o-right', 'fa-hand-o-left', 'fa-hand-o-up', 'fa-hand-o-down', 'fa-arrow-circle-left', 'fa-arrow-circle-right', 'fa-arrow-circle-up', 'fa-arrow-circle-down', 'fa-globe', 'fa-wrench', 'fa-tasks', 'fa-filter', 'fa-briefcase', 'fa-arrows-alt', 'fa-users', 'fa-link', 'fa-cloud', 'fa-flask', 'fa-scissors', 'fa-files-o', 'fa-paperclip', 'fa-floppy-o', 'fa-square', 'fa-bars', 'fa-list-ul', 'fa-list-ol', 'fa-strikethrough', 'fa-underline', 'fa-table', 'fa-magic', 'fa-truck', 'fa-pinterest', 'fa-pinterest-square', 'fa-google-plus-square', 'fa-google-plus', 'fa-money', 'fa-caret-down', 'fa-caret-up', 'fa-caret-left', 'fa-caret-right', 'fa-columns', 'fa-sort', 'fa-sort-asc', 'fa-sort-desc', 'fa-envelope', 'fa-linkedin', 'fa-undo', 'fa-gavel', 'fa-tachometer', 'fa-comment-o', 'fa-comments-o', 'fa-bolt', 'fa-sitemap', 'fa-umbrella', 'fa-clipboard', 'fa-lightbulb-o', 'fa-exchange', 'fa-cloud-download', 'fa-cloud-upload', 'fa-user-md', 'fa-stethoscope', 'fa-suitcase', 'fa-bell-o', 'fa-coffee', 'fa-cutlery', 'fa-file-text-o', 'fa-building-o', 'fa-hospital-o', 'fa-ambulance', 'fa-medkit', 'fa-fighter-jet', 'fa-beer', 'fa-h-square', 'fa-plus-square', 'fa-angle-double-left', 'fa-angle-double-right', 'fa-angle-double-up', 'fa-angle-double-down', 'fa-angle-left', 'fa-angle-right', 'fa-angle-up', 'fa-angle-down', 'fa-desktop', 'fa-laptop', 'fa-tablet', 'fa-mobile', 'fa-circle-o', 'fa-quote-left', 'fa-quote-right', 'fa-spinner', 'fa-circle', 'fa-reply', 'fa-github-alt', 'fa-folder-o', 'fa-folder-open-o', 'fa-smile-o', 'fa-frown-o', 'fa-meh-o', 'fa-gamepad', 'fa-keyboard-o', 'fa-flag-o', 'fa-flag-checkered', 'fa-terminal', 'fa-code', 'fa-reply-all', 'fa-mail-reply-all', 'fa-star-half-o', 'fa-location-arrow', 'fa-crop', 'fa-code-fork', 'fa-chain-broken', 'fa-question', 'fa-info', 'fa-exclamation', 'fa-superscript', 'fa-subscript', 'fa-eraser', 'fa-puzzle-piece', 'fa-microphone', 'fa-microphone-slash', 'fa-shield', 'fa-calendar-o', 'fa-fire-extinguisher', 'fa-rocket', 'fa-maxcdn', 'fa-chevron-circle-left', 'fa-chevron-circle-right', 'fa-chevron-circle-up', 'fa-chevron-circle-down', 'fa-html5', 'fa-css3', 'fa-anchor', 'fa-unlock-alt', 'fa-bullseye', 'fa-ellipsis-h', 'fa-ellipsis-v', 'fa-rss-square', 'fa-play-circle', 'fa-ticket', 'fa-minus-square', 'fa-minus-square-o', 'fa-level-up', 'fa-level-down', 'fa-check-square', 'fa-pencil-square', 'fa-external-link-square', 'fa-share-square', 'fa-compass', 'fa-caret-square-o-down', 'fa-caret-square-o-up', 'fa-caret-square-o-right', 'fa-eur', 'fa-gbp', 'fa-usd', 'fa-inr', 'fa-jpy', 'fa-rub', 'fa-krw', 'fa-btc', 'fa-file', 'fa-file-text', 'fa-sort-alpha-asc', 'fa-sort-alpha-desc', 'fa-sort-amount-asc', 'fa-sort-amount-desc', 'fa-sort-numeric-asc', 'fa-sort-numeric-desc', 'fa-thumbs-up', 'fa-thumbs-down', 'fa-youtube-square', 'fa-youtube', 'fa-xing', 'fa-xing-square', 'fa-youtube-play', 'fa-dropbox', 'fa-stack-overflow', 'fa-instagram', 'fa-flickr', 'fa-adn', 'fa-bitbucket', 'fa-bitbucket-square', 'fa-tumblr', 'fa-tumblr-square', 'fa-long-arrow-down', 'fa-long-arrow-up', 'fa-long-arrow-left', 'fa-long-arrow-right', 'fa-apple', 'fa-windows', 'fa-android', 'fa-linux', 'fa-dribbble', 'fa-skype', 'fa-foursquare', 'fa-trello', 'fa-female', 'fa-male', 'fa-gittip', 'fa-sun-o', 'fa-moon-o', 'fa-archive', 'fa-bug', 'fa-vk', 'fa-weibo', 'fa-renren', 'fa-pagelines', 'fa-stack-exchange', 'fa-arrow-circle-o-right', 'fa-arrow-circle-o-left', 'fa-caret-square-o-left', 'fa-dot-circle-o', 'fa-wheelchair', 'fa-vimeo-square', 'fa-try', 'fa-plus-square-o', 'fa-space-shuttle', 'fa-slack', 'fa-envelope-square', 'fa-wordpress', 'fa-openid', 'fa-institution', 'fa-bank', 'fa-university', 'fa-mortar-board', 'fa-graduation-cap', 'fa-yahoo', 'fa-google', 'fa-reddit', 'fa-reddit-square', 'fa-stumbleupon-circle', 'fa-stumbleupon', 'fa-delicious', 'fa-digg', 'fa-pied-piper-square', 'fa-pied-piper', 'fa-pied-piper-alt', 'fa-drupal', 'fa-joomla', 'fa-language', 'fa-fax', 'fa-building', 'fa-child', 'fa-paw', 'fa-spoon', 'fa-cube', 'fa-cubes', 'fa-behance', 'fa-behance-square', 'fa-steam', 'fa-steam-square', 'fa-recycle', 'fa-automobile', 'fa-car', 'fa-cab', 'fa-tree', 'fa-spotify', 'fa-deviantart', 'fa-soundcloud', 'fa-database', 'fa-file-pdf-o', 'fa-file-word-o', 'fa-file-excel-o', 'fa-file-powerpoint-o', 'fa-file-photo-o', 'fa-file-picture-o', 'fa-file-image-o', 'fa-file-zip-o', 'fa-file-archive-o', 'fa-file-sound-o', 'fa-file-movie-o', 'fa-file-code-o', 'fa-vine', 'fa-codepen', 'fa-jsfiddle', 'fa-life-bouy', 'fa-support', 'fa-life-ring', 'fa-circle-o-notch', 'fa-rebel', 'fa-empire', 'fa-git-square', 'fa-git', 'fa-hacker-news', 'fa-tencent-weibo', 'fa-qq', 'fa-wechat', 'fa-send', 'fa-paper-plane', 'fa-send-o', 'fa-paper-plane-o', 'fa-history', 'fa-circle-thin', 'fa-header', 'fa-paragraph', 'fa-sliders', 'fa-share-alt', 'fa-share-alt-square', 'fa-bomb', 'fa-soccer-ball', 'fa-futbol-o', 'fa-tty', 'fa-binoculars', 'fa-plug', 'fa-slideshare', 'fa-twitch', 'fa-yelp', 'fa-newspaper-o', 'fa-wifi', 'fa-calculator', 'fa-paypal', 'fa-google-wallet', 'fa-cc-visa', 'fa-cc-mastercard', 'fa-cc-discover', 'fa-cc-amex', 'fa-cc-paypal', 'fa-cc-stripe', 'fa-bell-slash', 'fa-bell-slash-o', 'fa-trash', 'fa-copyright', 'fa-at', 'fa-eyedropper', 'fa-paint-brush', 'fa-birthday-cake', 'fa-area-chart', 'fa-pie-chart', 'fa-line-chart', 'fa-lastfm', 'fa-lastfm-square', 'fa-toggle-off', 'fa-toggle-on', 'fa-bicycle', 'fa-bus', 'fa-ioxhost', 'fa-angellist', 'fa-cc', 'fa-shekel', 'fa-sheqel', 'fa-ils', 'fa-meanpath', 'fa-buysellads', 'fa-connectdevelop', 'fa-dashcube', 'fa-forumbee', 'fa-leanpub', 'fa-sellsy', 'fa-shirtsinbulk', 'fa-simplybuilt', 'fa-skyatlas', 'fa-cart-plus', 'fa-cart-arrow-down', 'fa-diamond', 'fa-ship', 'fa-user-secret', 'fa-motorcycle', 'fa-street-view', 'fa-heartbeat', 'fa-venus', 'fa-mars', 'fa-mercury', 'fa-transgender', 'fa-transgender-alt', 'fa-venus-double', 'fa-mars-double', 'fa-venus-mars', 'fa-mars-stroke', 'fa-mars-stroke-v', 'fa-mars-stroke-h', 'fa-neuter', 'fa-facebook-official', 'fa-pinterest-p', 'fa-whatsapp', 'fa-server', 'fa-user-plus', 'fa-user-times', 'fa-hotel', 'fa-bed', 'fa-viacoin', 'fa-train', 'fa-subway', 'fa-medium', 'fa-git', 'fa-y-combinator-square', 'fa-yc-square', 'fa-hacker-news', 'fa-yc', 'fa-y-combinator', 'fa-optin-monster', 'fa-opencart', 'fa-expeditedssl', 'fa-battery-4', 'fa-battery-full', 'fa-battery-3', 'fa-battery-three-quarters', 'fa-battery-2', 'fa-battery-half', 'fa-battery-1', 'fa-battery-quarter', 'fa-battery-0', 'fa-battery-empty', 'fa-mouse-pointer', 'fa-i-cursor', 'fa-object-group', 'fa-object-ungroup', 'fa-sticky-note', 'fa-sticky-note-o', 'fa-cc-jcb', 'fa-cc-diners-club', 'fa-clone', 'fa-balance-scale', 'fa-hourglass-o', 'fa-hourglass-1', 'fa-hourglass-start', 'fa-hourglass-2', 'fa-hourglass-half', 'fa-hourglass-3', 'fa-hourglass-end', 'fa-hourglass', 'fa-hand-grab-o', 'fa-hand-rock-o', 'fa-hand-stop-o', 'fa-hand-paper-o', 'fa-hand-scissors-o', 'fa-hand-lizard-o', 'fa-hand-spock-o', 'fa-hand-pointer-o', 'fa-hand-peace-o', 'fa-trademark', 'fa-registered', 'fa-creative-commons', 'fa-gg', 'fa-gg-circle', 'fa-tripadvisor', 'fa-odnoklassniki', 'fa-odnoklassniki-square', 'fa-get-pocket', 'fa-wikipedia-w', 'fa-safari', 'fa-chrome', 'fa-firefox', 'fa-opera', 'fa-internet-explorer', 'fa-tv', 'fa-television', 'fa-contao', 'fa-500px', 'fa-amazon', 'fa-calendar-plus-o', 'fa-calendar-minus-o', 'fa-calendar-times-o', 'fa-calendar-check-o', 'fa-industry', 'fa-map-pin', 'fa-map-signs', 'fa-map-o', 'fa-map', 'fa-commenting', 'fa-commenting-o', 'fa-houzz', 'fa-vimeo', 'fa-black-tie', 'fa-fonticons', 'fa-reddit-alien', 'fa-edge', 'fa-credit-card-alt', 'fa-codiepie:before', 'fa-modx', 'fa-fort-awesome', 'fa-usb', 'fa-product-hunt', 'fa-mixcloud', 'fa-scribd', 'fa-pause-circle', 'fa-pause-circle-o', 'fa-stop-circle', 'fa-stop-circle-o', 'fa-shopping-bag', 'fa-shopping-basket', 'fa-hashtag', 'fa-bluetooth', 'fa-bluetooth-b', 'fa-percent', ); } public static function getFontIconColors() { return array( 'bluegrey', 'white', 'red', 'orange', 'yellow', 'green', 'blue', 'sky', 'indigo', 'violet', 'pink', 'lightgreytext', 'lightbluetext', ); } } diff --git a/webroot/rsrc/css/application/people/people-profile.css b/webroot/rsrc/css/application/people/people-profile.css index 089402b4d7..c22cceb8e5 100644 --- a/webroot/rsrc/css/application/people/people-profile.css +++ b/webroot/rsrc/css/application/people/people-profile.css @@ -1,82 +1,90 @@ /** * @provides people-profile-css */ form.profile-image-form { display: inline-block; margin: 0 8px 8px 0; } button.profile-image-button { padding: 4px; margin: 0; } .compose-dialog button.profile-image-button-selected { background-image: none; background-color: {$lightblue}; border-color: {$blueborder}; } .compose-header { color: {$bluetext}; border-bottom: 1px solid {$lightblueborder}; padding: 4px 0; margin: 0 0 8px; } form.compose-dialog { width: 80%; } .compose-dialog .phui-icon-view { display: block; position: relative; width: 50px; height: 50px; background-color: {$darkgreytext}; } +.compose-dialog .compose-icon-bg { + color: #fff; + line-height: 50px; + width: 50px; + text-align: center; + font-size: 32px; +} + .compose-dialog .compose-background-red { background-color: {$red}; } .compose-dialog .compose-background-orange { background-color: {$orange}; } .compose-dialog .compose-background-yellow { background-color: {$yellow}; } .compose-dialog .compose-background-green { background-color: {$green}; } .compose-dialog .compose-background-blue { background-color: {$blue}; } .compose-dialog .compose-background-sky { background-color: {$sky}; } .compose-dialog .compose-background-indigo { background-color: {$indigo}; } .compose-dialog .compose-background-violet { background-color: {$violet}; } .compose-dialog .compose-background-pink { background-color: {$pink}; } .compose-dialog .compose-background-charcoal { background-color: {$charcoal}; } .compose-dialog .compose-background-backdrop { background-color: {$backdrop}; } diff --git a/webroot/rsrc/css/sprite-projects.css b/webroot/rsrc/css/sprite-projects.css deleted file mode 100644 index 16abde0551..0000000000 --- a/webroot/rsrc/css/sprite-projects.css +++ /dev/null @@ -1,308 +0,0 @@ -/** - * @provides sprite-projects-css - * @generated - */ - -.sprite-projects { - background-image: url(/rsrc/image/sprite-projects.png); - background-repeat: no-repeat; -} - -@media -only screen and (min-device-pixel-ratio: 1.5), -only screen and (-webkit-min-device-pixel-ratio: 1.5), -only screen and (min-resolution: 1.5dppx) { - .sprite-projects { - background-image: url(/rsrc/image/sprite-projects-X2.png); - background-size: 408px 459px; - } -} - - -.projects-8ball { - background-position: 0px 0px; -} - -.projects-alien { - background-position: -51px 0px; -} - -.projects-announce { - background-position: -102px 0px; -} - -.projects-art { - background-position: -153px 0px; -} - -.projects-award { - background-position: -204px 0px; -} - -.projects-bacon { - background-position: -255px 0px; -} - -.projects-bandaid { - background-position: -306px 0px; -} - -.projects-beer { - background-position: -357px 0px; -} - -.projects-bomb { - background-position: 0px -51px; -} - -.projects-briefcase { - background-position: -51px -51px; -} - -.projects-bug { - background-position: -102px -51px; -} - -.projects-calendar { - background-position: -153px -51px; -} - -.projects-cloud { - background-position: -204px -51px; -} - -.projects-coffee { - background-position: -255px -51px; -} - -.projects-creditcard { - background-position: -306px -51px; -} - -.projects-death { - background-position: -357px -51px; -} - -.projects-desktop { - background-position: 0px -102px; -} - -.projects-dropbox { - background-position: -51px -102px; -} - -.projects-education { - background-position: -102px -102px; -} - -.projects-experimental { - background-position: -153px -102px; -} - -.projects-fa-briefcase { - background-position: -204px -102px; -} - -.projects-fa-bug { - background-position: -255px -102px; -} - -.projects-fa-building { - background-position: -306px -102px; -} - -.projects-fa-calendar { - background-position: -357px -102px; -} - -.projects-fa-cloud { - background-position: 0px -153px; -} - -.projects-fa-credit-card { - background-position: -51px -153px; -} - -.projects-fa-envelope { - background-position: -102px -153px; -} - -.projects-fa-flag-checkered { - background-position: -153px -153px; -} - -.projects-fa-flask { - background-position: -204px -153px; -} - -.projects-fa-folder { - background-position: -255px -153px; -} - -.projects-fa-lock { - background-position: -306px -153px; -} - -.projects-fa-tags { - background-position: -357px -153px; -} - -.projects-fa-trash-o { - background-position: 0px -204px; -} - -.projects-fa-truck { - background-position: -51px -204px; -} - -.projects-fa-umbrella { - background-position: -102px -204px; -} - -.projects-fa-users { - background-position: -153px -204px; -} - -.projects-facebook { - background-position: -204px -204px; -} - -.projects-facility { - background-position: -255px -204px; -} - -.projects-film { - background-position: -306px -204px; -} - -.projects-forked { - background-position: -357px -204px; -} - -.projects-games { - background-position: 0px -255px; -} - -.projects-ghost { - background-position: -51px -255px; -} - -.projects-gift { - background-position: -102px -255px; -} - -.projects-globe { - background-position: -153px -255px; -} - -.projects-golf { - background-position: -204px -255px; -} - -.projects-heart { - background-position: -255px -255px; -} - -.projects-intergalactic { - background-position: -306px -255px; -} - -.projects-lock { - background-position: -357px -255px; -} - -.projects-mail { - background-position: 0px -306px; -} - -.projects-martini { - background-position: -51px -306px; -} - -.projects-medical { - background-position: -102px -306px; -} - -.projects-mobile { - background-position: -153px -306px; -} - -.projects-music { - background-position: -204px -306px; -} - -.projects-news { - background-position: -255px -306px; -} - -.projects-orgchart { - background-position: -306px -306px; -} - -.projects-peoples { - background-position: -357px -306px; -} - -.projects-piechart { - background-position: 0px -357px; -} - -.projects-poison { - background-position: -51px -357px; -} - -.projects-putabirdonit { - background-position: -102px -357px; -} - -.projects-radiate { - background-position: -153px -357px; -} - -.projects-savings { - background-position: -204px -357px; -} - -.projects-search { - background-position: -255px -357px; -} - -.projects-shield { - background-position: -306px -357px; -} - -.projects-speed { - background-position: -357px -357px; -} - -.projects-sprint { - background-position: 0px -408px; -} - -.projects-star { - background-position: -51px -408px; -} - -.projects-storage { - background-position: -102px -408px; -} - -.projects-tablet { - background-position: -153px -408px; -} - -.projects-travel { - background-position: -204px -408px; -} - -.projects-twitter { - background-position: -255px -408px; -} - -.projects-warning { - background-position: -306px -408px; -} - -.projects-whale { - background-position: -357px -408px; -} diff --git a/webroot/rsrc/image/sprite-projects-X2.png b/webroot/rsrc/image/sprite-projects-X2.png deleted file mode 100644 index 3b3525417a..0000000000 Binary files a/webroot/rsrc/image/sprite-projects-X2.png and /dev/null differ diff --git a/webroot/rsrc/image/sprite-projects.png b/webroot/rsrc/image/sprite-projects.png deleted file mode 100644 index 8c85c59e1b..0000000000 Binary files a/webroot/rsrc/image/sprite-projects.png and /dev/null differ diff --git a/webroot/rsrc/js/application/files/behavior-icon-composer.js b/webroot/rsrc/js/application/files/behavior-icon-composer.js index 8f574c0dc4..3a158a5ed9 100644 --- a/webroot/rsrc/js/application/files/behavior-icon-composer.js +++ b/webroot/rsrc/js/application/files/behavior-icon-composer.js @@ -1,75 +1,75 @@ /** * @provides javelin-behavior-icon-composer * @requires javelin-behavior * javelin-dom * javelin-stratcom */ JX.behavior('icon-composer', function(config) { var nodes = { root: JX.$(config.dialogID), colorInput: JX.$(config.colorInputID), iconInput: JX.$(config.iconInputID), preview: JX.$(config.previewID) }; var selected = { color: config.defaultColor, icon: config.defaultIcon }; var redraw = function() { var ii; var colors = JX.DOM.scry(nodes.root, 'button', 'compose-select-color'); for (ii = 0; ii < colors.length; ii++) { JX.DOM.alterClass( colors[ii], 'profile-image-button-selected', (JX.Stratcom.getData(colors[ii]).color == selected.color)); } var icons = JX.DOM.scry(nodes.root, 'button', 'compose-select-icon'); for (ii = 0; ii < icons.length; ii++) { JX.DOM.alterClass( icons[ii], 'profile-image-button-selected', (JX.Stratcom.getData(icons[ii]).icon == selected.icon)); } nodes.colorInput.value = selected.color; nodes.iconInput.value = selected.icon; - var classes = ['phui-icon-view', 'sprite-projects']; + var classes = ['phui-icon-view', 'phui-font-fa', 'compose-icon-bg']; classes.push('compose-background-' + selected.color); - classes.push('projects-' + selected.icon); + classes.push(selected.icon); nodes.preview.className = classes.join(' '); }; JX.DOM.listen( nodes.root, 'click', 'compose-select-color', function (e) { e.kill(); selected.color = e.getNodeData('compose-select-color').color; redraw(); }); JX.DOM.listen( nodes.root, 'click', 'compose-select-icon', function (e) { e.kill(); selected.icon = e.getNodeData('compose-select-icon').icon; redraw(); }); redraw(); });