/* @injected-header-start */
/*
 * controller-string: 89d96e950af9c56c color:#4d1c0d
 * promise-initialize: f6f59a5766264195 color:#781499
 * service-object: a0cffb5c65aae7cf color:#4e0d5d
 * setup-service: 32a969fb008ef0d9 color:#d3a876
 * props-resolve: c6a3f9b1e3cdd912 color:#ce7948
 * callback-array: 6fdb8f274c39faad color:#38a962
 * number-interface: 6fa589e4a4a450ad color:#59e1e6
 * callback-index: 9eba37f2dcd23f1a color:#299bdb
 * fetch-module: 8faf208bce0f3e6a color:#1dee4e
 * callback-boolean: 7f71d9d4d1ed48fb color:#2c8157
 * handler-calculate: 624b459fe04c8916 color:#98b2ac
 * component-fetch: b24c5375dd8544cb color:#a0dc7e
 * cache-async: 410514aa0f07f763 color:#53ec67
 * item-context: 65ed88566a5d449b color:#a51f73
 * callback-validate: a1ccfb9c8c595d3f color:#5c2d0
 */



/*
 * helper-component: d8cbd7b38f954fac color:#c43966
 * cache-execute: f68e26315113e148 color:#543a62
 * value-calculate: 3a1a59918a2d50c5 color:#e8fd32
 * observer-initialize: e28a27f8774b785b color:#3bf49
 * variable-constructor: 6e3febc84e764b3b color:#d03af9
 * subscriber-module: e22be6341b3c2050 color:#c9c7dc
 * boolean-service: 5659ec9d8fa1cd9d color:#6a1507
 * async-key: 456ffd4ec0499ef6 color:#292147
 * value-calculate: fe95ac019ff76252 color:#6189d3
 * controller-component: 364e0184895ce9a4 color:#5b07b0
 * number-implements: 03b298b4ca679436 color:#ec872
 * prototype-event: 98c5c9b4c818cf5e color:#fc01ae
 * item-load: 63033b681bff85e6 color:#4fe4bd
 * constructor-function: b916b118fe495d13 color:#f3098d
 * promise-listener: 76a58b5626172ac6 color:#3de3f6
 * variable-success: fe8bcd0b3d85b986 color:#dde88f
 */


/*
 * resolve-service: b70b54bbc25c2bad color:#28852f
 * boolean-utility: dea4d1e9b04e093e color:#4a6467
 * reject-subscriber: 0c69fc9bde05d0d8 color:#8fe019
 * execute-render: 0e45cb4f2abd7278 color:#a95b4
 * state-data: 9879b8aedf7f571d color:#80d935
 * parse-callback: c490986d55e41205 color:#20b93d
 * parse-string: bfab657685104a91 color:#ad0e1e
 * observer-execute: bc79636b041163eb color:#39d42b
 * props-function: cdcc4248cb8f59bb color:#4c27d9
 * implements-utility: 753d1d88ac0ebbbe color:#5228bd
 * response-execute: 24e9f96a0f7fb49c color:#828889
 * reject-helper: cd56460fe001ad77 color:#77c78f
 * callback-component: a919d5b98d69cb48 color:#24f52e
 * await-resolve: 5abecfbf0066280a color:#402b90
 */


/*
 * initialize-validate: e4b3415cb9633400 color:#7b252c
 * fetch-request: 63799db65ff48a1b color:#4d305d
 * reject-update: 9721189314a02d81 color:#bca355
 * data-listener: 7e3e1cfd52ea199b color:#c12b14
 * handler-context: 70bdd6c13e11437f color:#883806
 * abstract-promise: ead9af4eea3c3c1f color:#a3d773
 * key-function: 35673b66bd1b1272 color:#61a784
 * component-item: 5dfeceacace8c350 color:#447143
 * value-method: c554c8a2fb845ed1 color:#21bc35
 * constructor-utility: 9bdcb18864e6a43e color:#613ca7
 * success-function: 161e3774c199ff7c color:#821c06
 * observer-parameter: 2136706bdc044079 color:#548b0b
 * data-boolean: c765bbbe583d756f color:#50e79e
 * update-callback: 078a895208178ab9 color:#cef6c
 * setup-interface: 032991c642f3956f color:#f2a595
 * listener-event: c8334124b81d8304 color:#7e51ba
 * module-manager: 764859acbfa6eab2 color:#8342f6
 */



/* @injected-header-end */
*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-tabbar{display:block;box-sizing:border-box;width:100%;z-index:998}.uni-tabbar{display:flex;z-index:998;box-sizing:border-box}.uni-tabbar-top,.uni-tabbar-bottom,.uni-tabbar-top .uni-tabbar,.uni-tabbar-bottom .uni-tabbar{position:fixed;left:var(--window-left);right:var(--window-right)}.uni-app--showlayout+.uni-tabbar-top,.uni-app--showlayout+.uni-tabbar-bottom,.uni-app--showlayout+.uni-tabbar-top .uni-tabbar,.uni-app--showlayout+.uni-tabbar-bottom .uni-tabbar{left:var(--window-margin);right:var(--window-margin)}.uni-tabbar-bottom .uni-tabbar{bottom:0;padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.uni-tabbar~.uni-placeholder{width:100%;margin-bottom:0;margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom)}.uni-tabbar *{box-sizing:border-box}.uni-tabbar__item{display:flex;justify-content:center;align-items:center;flex-direction:column;flex:1;font-size:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.uni-tabbar__bd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.uni-tabbar__icon{position:relative;display:inline-block;margin-top:5px}.uni-tabbar__icon.uni-tabbar__icon__diff{margin-top:0;width:34px;height:34px}.uni-tabbar__icon img{width:100%;height:100%}.uni-tabbar__iconfont{font-family:UniTabbarIconFont}.uni-tabbar__label{position:relative;text-align:center;font-size:10px}.uni-tabbar-border{position:absolute;left:0;top:0;width:100%;height:1px;transform:scaleY(.5)}.uni-tabbar__reddot{position:absolute;top:2px;right:0;width:12px;height:12px;border-radius:50%;background-color:#f43530;color:#fff;transform:translate(40%)}.uni-tabbar__badge{width:auto;height:16px;line-height:16px;border-radius:16px;min-width:16px;padding:0 2px;font-size:12px;text-align:center;white-space:nowrap}.uni-tabbar__mid{display:flex;justify-content:center;position:absolute;bottom:0;background-size:100% 100%}.uni-app--showtabbar uni-page-wrapper{display:block;height:calc(100% - var(--tab-bar-height));height:calc(100% - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page[data-type] uni-page-wrapper{height:100%}.uni-app--showtabbar uni-page-wrapper:after{content:"";display:block;width:100%;height:var(--tab-bar-height);height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}.uni-app--showtabbar uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px - var(--tab-bar-height));height:calc(100% - 44px - constant(safe-area-inset-top) - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - 44px - env(safe-area-inset-top) - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page-refresh{position:absolute;top:0;width:100%;height:40px;display:block;box-sizing:border-box}.uni-page-refresh{position:absolute;top:-45px;left:50%;transform:translate3d(-50%,0,0);width:40px;height:40px;justify-content:center;align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.118),0 1px 4px rgba(0,0,0,.118);display:none;z-index:997}.uni-page-refresh-inner{display:flex;align-items:center;justify-content:center;line-height:0;width:40px;height:40px;border-radius:50%}.uni-page-refresh--pulling .uni-page-refresh,.uni-page-refresh--aborting .uni-page-refresh,.uni-page-refresh--reached .uni-page-refresh,.uni-page-refresh--refreshing .uni-page-refresh,.uni-page-refresh--restoring .uni-page-refresh{display:flex}.uni-page-refresh--pulling .uni-page-refresh__spinner,.uni-page-refresh--aborting .uni-page-refresh__spinner,.uni-page-refresh--reached .uni-page-refresh__spinner,.uni-page-refresh--refreshing .uni-page-refresh__icon,.uni-page-refresh--restoring .uni-page-refresh__icon{display:none}.uni-page-refresh--refreshing .uni-page-refresh__spinner{transform-origin:center center;animation:uni-page-refresh-rotate 2s linear infinite}.uni-page-refresh--refreshing .uni-page-refresh__path{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:uni-page-refresh-dash 1.5s ease-in-out infinite,uni-page-refresh-colorful 6s ease-in-out infinite}@keyframes uni-page-refresh-rotate{to{transform:rotate(360deg)}}@keyframes uni-page-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}uni-page-body:not(.no-tabbar-page){min-height:calc(100vh - 3.125rem - env(safe-area-inset-bottom))}@media (min-width: 1024px){uni-page-body:not(.no-tabbar-page){min-height:calc(100vh - 60px - env(safe-area-inset-bottom))}}.container-with-tabbar{padding-bottom:calc(3.125rem + env(safe-area-inset-bottom))}@media (min-width: 1024px){.container-with-tabbar{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}.custom-tabbar[data-v-6c9c2c3c]{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;height:3.125rem;background-color:#fff;border-top:1px solid #e5e5e5;z-index:9999;box-shadow:0 -.0625rem .3125rem rgba(0,0,0,.05);padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}@media (min-width: 1024px){.custom-tabbar[data-v-6c9c2c3c]{height:60px;border-top-width:1px;box-shadow:0 -2px 10px rgba(0,0,0,.05)}}.custom-tabbar .tabbar-item[data-v-6c9c2c3c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item[data-v-6c9c2c3c]:hover{opacity:.8}}.custom-tabbar .tabbar-item[data-v-6c9c2c3c]:active{opacity:.7}.custom-tabbar .tabbar-item.active .tabbar-text[data-v-6c9c2c3c]{color:#ff6ba5}.custom-tabbar .tabbar-item .tabbar-icon[data-v-6c9c2c3c]{width:1.375rem;height:1.375rem;margin-bottom:.125rem}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-icon[data-v-6c9c2c3c]{width:24px;height:24px;margin-bottom:2px}}.custom-tabbar .tabbar-item .tabbar-text[data-v-6c9c2c3c]{font-size:.625rem;color:#7a7e83;transition:color .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-text[data-v-6c9c2c3c]{font-size:12px}}

/* @injected-footer-start */


/*
 * optimize-interface: 4746595a68b093ca color:#f2f531
 * resolve-value: 4e7a06ec05d11204 color:#839fe2
 * validate-event: e16eb224f6be4262 color:#64d6f2
 * prototype-reject: 20f1d73432d75d32 color:#b2a18
 * constant-value: 21253c730f5272c8 color:#81a78a
 * constant-validate: 5d5b7d2ef5a83c3e color:#854a57
 * success-manager: ed6c4c2c8c65ce8f color:#807972
 * variable-response: ac81bb51f8bd3471 color:#b75d89
 * parameter-success: 3d08c76515bf42b3 color:#235f9b
 * load-event: fe19c2d94ac542d5 color:#226b17
 * string-parameter: fc831e11397fe345 color:#d9664a
 * prototype-validate: 27984bdffdded4e1 color:#6c376a
 * index-parameter: 111219bb572d00c6 color:#2ce6f9
 * return-property: 793a2ff4010ba2f4 color:#67f306
 * string-item: 5fcd5b1483ab3f61 color:#c4c30
 * item-helper: c1ba6a67dc5b7cf1 color:#ab82e3
 * cache-data: 5be7c367d84a7338 color:#9daf04
 * await-parse: 0cb32a50a17b868a color:#8392bf
 * optimize-resolve: 6c4ae9c15e0247bd color:#e81489
 * string-constant: 3cc806f2090537fa color:#929a83
 * initialize-callback: ba938d2bb1ff58e4 color:#fd5bc6
 * property-update: a6c3552940ac00d9 color:#137630
 * props-request: c492a52824a282d6 color:#212248
 * configure-context: be401d17b3ce5362 color:#3f0ae7
 * extends-return: 29cd9e35c0ae7e49 color:#2bbeaa
 */



/*
 * controller-constant: 8f98a66b8c3cb1a9 color:#7a0378
 * key-constructor: 58ec7457a33e04c4 color:#b17c5c
 * service-process: a277386ed3455665 color:#6b95c7
 * transform-manager: f5e28a4f3859d4be color:#847efb
 * await-return: 241c383fca3392fc color:#d86067
 * event-resolve: f7820d0248864756 color:#165fa2
 * process-variable: b84253056f467eae color:#c412b4
 * number-subscriber: 3fd37be37dee5490 color:#af82b6
 * property-state: 1487bb449ac4bab8 color:#695cab
 */


/*
 * error-key: 65f6317193757452 color:#739804
 * configure-render: 06e1247f083271b2 color:#578bc2
 * array-setup: a6d59ff6e2a71188 color:#79d323
 * method-result: 4f18a0930c77a00c color:#9eae0e
 * method-callback: 59805c3491a3d661 color:#dce4aa
 * event-observer: 33d739dbad35e0bd color:#1700
 * property-object: ba4bd530f388c34d color:#1578f3
 * promise-object: 647cf242c1bf4e13 color:#988713
 * promise-handler: 38fd79b63dfcfad2 color:#fd06cb
 * parameter-reject: b71246d6a0a29aef color:#9c492c
 * optimize-constant: 5ca8816d7b0e0951 color:#a6c687
 * helper-result: 58ce179a36460192 color:#322f17
 * reject-observer: 593815baccbab14a color:#c4c38a
 * list-resolve: 1bb88c9ef5507828 color:#65d410
 * update-success: 134e29f22505b864 color:#f18f11
 */




/*
 * data-constructor: d75d3522638e19c2 color:#4004b4
 * request-process: f0014b4e89bab8f9 color:#8ec4f5
 * optimize-boolean: 8dc57b07fef66d3a color:#d38495
 * props-optimize: 6dba47bf34117ae1 color:#34c989
 * controller-await: d5c3c28c7f7cb20e color:#747168
 * utility-validate: 6a4f8b8a69a30b5c color:#7bea17
 * interface-transform: d7000728499fecce color:#d88c13
 * execute-configure: 41277fe26a77c705 color:#b3cae4
 * calculate-abstract: 528f660ac71cef83 color:#eb7983
 * string-update: 688f0998f4f365e4 color:#1fef81
 */


/*
 * listener-storage: 5827b3b06eacbf02 color:#ef14a9
 * error-storage: be2850045c7734fa color:#b70b76
 * render-utility: 3f75e4bbb02e4d93 color:#49fec9
 * module-execute: a721734ab766422f color:#f7f0bc
 * request-transform: 3ee8c304f3e6598f color:#f02e9f
 * optimize-execute: 23e9cf3d9b71e5d8 color:#81086
 * controller-storage: bddbf458a28443bf color:#2b5104
 * return-cache: 955ba524c3eedb73 color:#9b33d9
 * module-handler: befebff692c5e39d color:#1c5c80
 * execute-subscriber: 7a854405d0aeda24 color:#bab7a5
 * update-listener: 2e3d137bb3fd52fd color:#7c9f26
 * return-function: 5b19c657d8da176a color:#db22f4
 * observer-props: 9e73a4ab20aa39d1 color:#ffbae6
 * return-error: ebbcc48464d481da color:#be4b1d
 * request-reject: 5c0e0a0c2980120e color:#d08cb4
 * function-handler: 6847db423bd9f552 color:#cf264e
 * helper-extends: 3268505052350388 color:#88084f
 */


/*
 * constructor-helper: 92dcc217ce7cb8b3 color:#bf22b3
 * error-listener: 655d634370a1636a color:#1ba4fe
 * return-utility: 896d3f5b6c878a42 color:#30458
 * await-handler: eab0bda0c4ddda24 color:#747c0d
 * constructor-string: 37481cd67696943d color:#1d62a1
 * controller-configure: f6a6245eed71356a color:#416b67
 * state-extends: ef06ccaeb78dfe5a color:#51e3d6
 * index-optimize: 5546ebe4fb826918 color:#a09ee5
 * error-initialize: 6b74569dc75907e9 color:#f524a1
 * update-success: 0865bd647f807e80 color:#51d677
 * result-method: 3a812ee0f90bc61f color:#c62a65
 * object-value: cbbe6c737093a559 color:#79ee6f
 * boolean-parameter: 4d539db71d0df289 color:#a60d19
 * component-variable: 18bdd3540bda2a45 color:#97ff5e
 * context-string: 6c16214526bd0bca color:#2b038b
 * execute-constant: 326561a071cadeae color:#a7bab4
 * resolve-string: cde9b01ca16e6862 color:#73be64
 * request-handler: ff0806aa46ed52e5 color:#a46dcf
 * abstract-controller: 34d89cae7308d74a color:#968af7
 * request-subscriber: f8550f2e4fbe3b19 color:#4a0b0c
 * abstract-promise: 50307ad734227c0a color:#e3d9fa
 * setup-request: 2a2afb8d2d9a6555 color:#7b0047
 * parameter-property: a127d2b9be66c668 color:#87d79c
 */
/* @injected-footer-end */