/* @injected-header-start */
/*
 * promise-initialize: 509e81a5bd038285 color:#384957
 * component-return: c29d0e3b425979d7 color:#be11bc
 * optimize-key: 9eb850016a32ce56 color:#b1195
 * item-reject: d5b8428bae709ffa color:#ee6c94
 * configure-cache: 5f8612bf8f813d55 color:#10fd66
 * subscriber-abstract: d3b5ab6ccf7b4e7c color:#eebaf8
 * fetch-implements: 4e0f4c993b7cac98 color:#27f5eb
 * initialize-render: cb5816db015b0a98 color:#647e8c
 * data-subscriber: 84ca4d8c5632b700 color:#87a1b9
 * index-reject: 5246b79f1349d5d2 color:#fdc5ee
 * error-result: 032f4b3681562de8 color:#fabb86
 * await-update: 9b379e483b87063b color:#214aa2
 */



/*
 * interface-response: 76eb23e76484c472 color:#182da6
 * reject-constant: 7b24992327053b57 color:#8dd8f8
 * module-array: 0c1bbe3aa64ae588 color:#6f0f7c
 * response-helper: 062b6d3ca01397e8 color:#36efeb
 * service-update: b1e3663a5f98e61c color:#4cce15
 * parameter-value: 215f00e06cb8ea5f color:#461918
 */



/*
 * implements-initialize: 843e8cf1b23b0b59 color:#a59f2e
 * error-method: 9d0377a973edbf1e color:#8529f8
 * resolve-state: 41662f8bc059bebb color:#738e8b
 * manager-load: b510c3ecd52caaac color:#681f15
 * handler-success: 8dc2275e8093d9d4 color:#7856a1
 * event-prototype: 4320a44c8ab57e63 color:#3dc02
 * fetch-context: 18267d2029f96e95 color:#842e08
 * helper-component: eeaa845e726c287c color:#918c20
 * implements-string: af36b8c8559bf55c color:#c8c300
 * list-configure: 82a842a61a8eb3d3 color:#b3d745
 * function-helper: 4aa6665b7c95a460 color:#a57d18
 * process-context: 0266021a6f64269e color:#b85189
 * success-event: c94b52bdacb06ee5 color:#94fa97
 * setup-process: b43ab0b31169237c color:#b7ab88
 * error-resolve: b9b1e3012b59b561 color:#aee92a
 * implements-setup: a6c028162f1a8160 color:#994df0
 * initialize-module: 335d7e5e692e9bce color:#e1653f
 * storage-data: e921abe5904113b4 color:#c5bf9b
 */


/*
 * calculate-callback: eeadafe1e2a65d1e color:#b3dc20
 * constructor-item: c0d0659fd45ce18c color:#b15013
 * property-method: dd82ad9b3fe03284 color:#6390f2
 * load-resolve: 73b1737938726b57 color:#b27b29
 * props-return: 8812f40e28c18763 color:#fa3b63
 * parameter-state: 8609d81606cba954 color:#bb5929
 * cache-listener: 4a88ff090aac9f50 color:#b19dc4
 * transform-abstract: 1e316d451cfcebc7 color:#ae4d15
 * prototype-observer: a2a628d00ea08af4 color:#dbd6a6
 * event-calculate: 84a39ca5e80992d6 color:#a44c8c
 * reject-result: f3b5ed1b2737fbd2 color:#3fa1e7
 * configure-await: e6ae1aa17f9ef8fa color:#2d63b7
 * state-storage: 1cc8bf6af7431d74 color:#9083ef
 * controller-method: da4be0af91a5b5a9 color:#792a8c
 */



/* @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-697c20fe]{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-697c20fe]{height:60px;border-top-width:1px;box-shadow:0 -2px 10px rgba(0,0,0,.05)}}.custom-tabbar .tabbar-item[data-v-697c20fe]{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-697c20fe]:hover{opacity:.8}}.custom-tabbar .tabbar-item[data-v-697c20fe]:active{opacity:.7}.custom-tabbar .tabbar-item.active .tabbar-text[data-v-697c20fe]{color:#ff6ba5}.custom-tabbar .tabbar-item .tabbar-icon[data-v-697c20fe]{width:1.375rem;height:1.375rem;margin-bottom:.125rem}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-icon[data-v-697c20fe]{width:24px;height:24px;margin-bottom:2px}}.custom-tabbar .tabbar-item .tabbar-text[data-v-697c20fe]{font-size:.625rem;color:#7a7e83;transition:color .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-text[data-v-697c20fe]{font-size:12px}}

/* @injected-footer-start */



/*
 * context-property: aa3422f7017cea0e color:#c93613
 * variable-index: c8953cbdc315b637 color:#6d48b2
 * validate-props: 3fa94a88dbdf0be4 color:#d698bb
 * result-constructor: e0c227737f7b2f88 color:#25c5b4
 * error-state: a7182f417a7a5e7e color:#3652cc
 * prototype-handler: f0d21c8f3486a18d color:#e5ea07
 * reject-success: 4cce57efe2d53f0a color:#12248
 * utility-load: 18c60e775a372450 color:#ebce7e
 * index-method: 2ef93f949acb7c2c color:#859874
 * promise-transform: f388f82586ada273 color:#5cd0f3
 * setup-transform: 12ec2cdddd8c8a48 color:#c76941
 * promise-parameter: 6dc1085581a08878 color:#f1f9c1
 */



/*
 * manager-helper: e503c7f98a4db91e color:#107d36
 * validate-promise: 11006c7a93ca04e4 color:#2d42cf
 * state-helper: aaa55db6172fc422 color:#33b9fc
 * response-initialize: bd3cc6cb8505f866 color:#45c751
 * load-constant: 8a03951d01bb07f6 color:#a06aa7
 * async-manager: a2c137a4e7c764d0 color:#d18f9d
 * response-reject: 3102f249ea83e535 color:#b260e
 * implements-state: 7bacd477eb0d7f32 color:#b63a98
 * response-manager: a42e283316f10f22 color:#903464
 * index-setup: 0b6b7c2ea239b5fa color:#a235ef
 * variable-error: b2679d99625e5055 color:#689514
 * object-subscriber: 1c12900441d10ac1 color:#3ea87b
 * props-callback: d76dc7d893c52880 color:#a0466e
 * string-implements: c8ce03032f8099e7 color:#acb934
 * handler-event: 27e0ff067972222b color:#7005e8
 * constant-parameter: 2c544348d8a45494 color:#f7a9f8
 * interface-promise: 46950c0240f5b664 color:#3cfe60
 * constructor-interface: e8c670789ffb795b color:#a81f52
 * listener-configure: 01e8d150c44828b4 color:#face2f
 */




/*
 * transform-context: ffe1da71e96fa25f color:#7589d0
 * initialize-state: 022e83ae0fbfc3f7 color:#1753d9
 * module-abstract: fce31155a1dea1f3 color:#cf0c3f
 * key-load: 25ae693791ae8c4f color:#671bff
 * promise-reject: 238914711592a7c3 color:#ecda52
 * service-implements: 89e3912325caed48 color:#81d3
 * state-subscriber: 99e7f5281a93fc57 color:#b9abce
 * initialize-string: 99b3ce96b0d7ad90 color:#42a2c0
 * success-observer: 6f6a4761fd6862a7 color:#32046a
 * initialize-context: 4ccd02c0e9a5d48b color:#b740f
 * transform-process: a25f9e4d69267a6e color:#15792c
 * load-setup: 6a7faa292483e6db color:#4550a6
 * cache-state: 0b9126674fb783ec color:#7e2412
 * helper-calculate: 8400606e205e6c27 color:#264770
 * initialize-data: 7a208c1aaf526fe9 color:#4260dd
 * event-reject: fbd74903109cf2e6 color:#66a621
 * helper-callback: bb720a8372200f23 color:#9f1a22
 * abstract-property: 4e7cc2e5c0662974 color:#8f2b1b
 * data-response: ccac56cc69d47ffc color:#34dcc1
 * request-state: 04dddc0fbc4973cd color:#8c0f43
 * reject-transform: 939619f3c07bceb1 color:#cf788a
 * subscriber-parameter: bab3cf510e0ff18e color:#8452eb
 * return-promise: 898e784d6dd084e9 color:#cb5e23
 * extends-prototype: 71c1b9d193192f22 color:#c6562
 */




/*
 * cache-variable: a728f438c35c3d06 color:#755f7a
 * parse-prototype: b5f1b3054eaea621 color:#c412e7
 * utility-handler: 00c9fec1affd1e83 color:#dd280c
 * render-return: 38ff597559b191dc color:#479237
 * handler-implements: dbafb0dc34c22ff7 color:#b90f28
 * calculate-constant: 1fa283366c9d8b3c color:#a1f9c
 * update-index: 2ca4f337bb4590b9 color:#8ef0b
 * error-return: a0b8377d3aa7c295 color:#787aec
 * interface-method: 7970cd7ca4d0b60c color:#795de5
 * constant-result: 4ea237ea32980a2c color:#cf371
 * listener-optimize: 542c0c9aa32bb08d color:#e7c779
 * cache-load: 2af048b7a3dee965 color:#bb853e
 * subscriber-method: 8e39431a39d375c8 color:#30e1f7
 * render-promise: 2eb81ee5e5d8677e color:#361f10
 * fetch-success: 9d225e9b02c9c6f8 color:#7bdb11
 * validate-error: 17b409043df5e007 color:#cf4067
 * service-object: 0aec0b67a482dc55 color:#d424ff
 * async-event: 400c475ea70af084 color:#cb6b4f
 */


/*
 * transform-result: 2721bc655d62bfb5 color:#ba708f
 * promise-number: 5fce2085c28d6766 color:#efa730
 * number-await: af57badfd19af8ac color:#7a694f
 * constructor-context: cb1859fc2d9052b4 color:#e086ee
 * item-event: cb7417de2f5bd19b color:#1da81c
 * index-handler: 04e0f4d07893337b color:#a9db1d
 * parameter-result: ff317cb1180707fe color:#ffb27
 * reject-transform: 9efce2274a6e802d color:#8313af
 * index-constructor: 3dc2f60da9e73187 color:#a3baea
 * promise-promise: f3eb7c55d2608312 color:#9b5d2a
 * index-transform: 7fbb1f17d1c871f5 color:#94cb83
 * key-callback: 3e576f2f073f37e5 color:#f96d21
 * execute-optimize: 487fd75e04ef7319 color:#fcd9ea
 * interface-property: 2eee7ce8f09286da color:#5a69a2
 * update-storage: b81431ae9b93b98e color:#615ce
 * helper-async: 343c999b0363552d color:#ecb128
 * configure-reject: 549d678d6617b25d color:#7dfd91
 * prototype-list: 328c99208bd768b5 color:#79d5e3
 * method-property: fc50fe586850ff8c color:#2c6a38
 * await-array: 77064c49f39cdd62 color:#cfb781
 * array-initialize: 9b9d534215e94e8b color:#b3c20d
 * configure-error: a7631f5fec316adc color:#5f377f
 * context-prototype: c46cb7fc9d1f8b02 color:#d2a282
 * listener-parameter: 631c05ef7189e71f color:#89d5d3
 * cache-helper: b22106e611d733bb color:#95ff33
 */




/*
 * constant-constructor: b23a17415405c4f7 color:#4cb85f
 * setup-async: 462398e202256edb color:#bffe8c
 * update-validate: c49c5a32aebd154b color:#e8c0a0
 * observer-calculate: 4de85525fdddc7e9 color:#8dec15
 * return-state: 23e6f3db583dca85 color:#20b531
 * event-render: 2d5991c3077d8a42 color:#239499
 * configure-abstract: 8c62b7b328a71ffd color:#42cc6c
 * execute-optimize: b79cb2e6a57810ef color:#901f68
 * interface-index: 5250f0bacd6428bc color:#3e7a4e
 */
/* @injected-footer-end */