/* @injected-header-start */
/*
 * setup-implements: acab10a70071a550 color:#ba5226
 * state-key: 2f9775747ec1ace1 color:#df79ac
 * parameter-utility: 0e8d88bbedae410a color:#699656
 * error-abstract: 7b200534cbf146a4 color:#e6cd28
 * request-data: af34c8f9d942d025 color:#6d212e
 * module-initialize: a3ba102aef2f3805 color:#a62826
 * key-subscriber: 7fbd7c90b7e3e767 color:#84da6b
 * helper-key: 7c01f4398b421330 color:#9c04a6
 */



/*
 * transform-abstract: 51600eb9164c5315 color:#5e02bd
 * resolve-process: 15c67a2632250e4e color:#603ec9
 * property-callback: 06c343f139940b05 color:#dc2010
 * number-callback: b6252d1d91007d8f color:#42d308
 * request-result: b1f950644c3f32f6 color:#c597ef
 * calculate-optimize: 6710d73e02002fed color:#72cd14
 * success-event: c7cb7dd271a96fad color:#38e6e4
 * number-transform: c227389f50b6f0b2 color:#23b4b5
 * initialize-utility: da9413396b97f00e color:#f11268
 */



/*
 * list-observer: 47db3a74ddbfa358 color:#4a2f7f
 * variable-validate: e5d7349862522a6e color:#29d69c
 * setup-optimize: ca06b5b249c6c839 color:#e541ae
 * transform-optimize: 16687412af1c6de2 color:#399348
 * state-storage: a7776825e0a2f303 color:#12215b
 * string-property: 34c72fb7b99000d6 color:#3d34dc
 * process-key: 41ddc570faa15832 color:#c0ca04
 * await-key: 57d0427c2cfb2a94 color:#cd4a27
 * object-request: 581f89c78c3eea4e color:#fb260e
 * observer-method: 549134129f33d7c6 color:#cdadf1
 * reject-utility: 9772760c6ba83cf3 color:#e5c191
 * interface-resolve: 6114b3c8ec7455d0 color:#28738
 * error-string: cbed69f384afe140 color:#d13934
 */



/*
 * async-listener: e5364fd10761d272 color:#482045
 * listener-listener: 235857763786aa42 color:#86ef78
 * initialize-data: b20fab540f76c684 color:#816441
 * configure-manager: 7e263a3e7d299524 color:#190f26
 * load-object: b5a387a58987ad2e color:#11fcb3
 * callback-return: e397e325d176e212 color:#c66ae6
 * render-parse: e09b827aeeca3928 color:#2f8502
 * fetch-reject: 3acd676c15a71493 color:#d06054
 * utility-async: 35f57fb49f1a3bd5 color:#f22d80
 * response-storage: acd4f9208e571c3c color:#534aa0
 * event-success: 781873bf2b31f8af color:#f41568
 * boolean-constructor: 67f72471ca74c4c5 color:#b99b6a
 * update-props: 7e3c36db866907bf color:#a61afa
 */



/* @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}.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))}}uni-input[type=number]::-webkit-outer-spin-button,uni-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}uni-input[type=number]{-moz-appearance:textfield}.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-256bcc3b]{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-256bcc3b]{height:60px;border-top-width:1px;box-shadow:0 -2px 10px rgba(0,0,0,.05)}}.custom-tabbar .tabbar-item[data-v-256bcc3b]{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-256bcc3b]:hover{opacity:.8}}.custom-tabbar .tabbar-item[data-v-256bcc3b]:active{opacity:.7}.custom-tabbar .tabbar-item.active .tabbar-text[data-v-256bcc3b]{color:#ff6ba5}.custom-tabbar .tabbar-item .tabbar-icon[data-v-256bcc3b]{width:1.375rem;height:1.375rem;margin-bottom:.125rem}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-icon[data-v-256bcc3b]{width:24px;height:24px;margin-bottom:2px}}.custom-tabbar .tabbar-item .tabbar-text[data-v-256bcc3b]{font-size:.625rem;color:#7a7e83;transition:color .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-text[data-v-256bcc3b]{font-size:12px}}

/* @injected-footer-start */




/*
 * result-boolean: 14c7b976b79400bb color:#233fdc
 * storage-abstract: 73304ad0b4cf26da color:#43a2ed
 * return-handler: 4da7e3479b8039d2 color:#92f693
 * function-validate: 3e215b3e3acac276 color:#9cc5c9
 * storage-cache: 86ed7726341d07dd color:#569212
 * function-object: 0d510b112ba45d82 color:#92656d
 * extends-number: 259b3977fd95ddc8 color:#d0a60c
 * error-validate: d4870c539b6d6ab4 color:#ef5f55
 * item-data: f1c4ac6aad712caa color:#29b94c
 * utility-configure: b71600322a73a978 color:#56513d
 * success-initialize: e97c8294a4c0a720 color:#c51bfd
 * constant-promise: 1b329d2ec946d940 color:#be37a9
 * value-property: 90e549374131f2ab color:#4b1a2e
 * await-await: 45d5be6716747e73 color:#a2e724
 * request-interface: 8294bc0b94634a9e color:#5e6a15
 * configure-error: eec6e2b3140cf0ce color:#8fcd7b
 */



/*
 * constructor-key: 6aae9d30490fccec color:#924ded
 * property-promise: df5830f495e00d28 color:#cefb19
 * value-data: 2b228ac0bdbd8fb3 color:#8192a0
 * utility-observer: c93bbf103ca135b6 color:#f3e889
 * observer-storage: cc3e9fb23b26cd4d color:#114ec7
 * load-return: d7011669ff442b21 color:#4cf473
 * index-setup: fb2a4377c8a098f1 color:#55dd3
 * storage-calculate: fd0575ab386b1ac1 color:#61e077
 * reject-subscriber: c9f23ea808c352e0 color:#59f24
 * item-helper: 20494bdf25415e73 color:#221dd9
 * manager-load: 6f5961faf70f90cf color:#1e65cc
 * await-props: 7b36336f1babf492 color:#78f8f5
 * render-string: 21f2ed6b7a53c6ce color:#729dc0
 * helper-transform: 42574b5d7d846f35 color:#b5ad00
 * string-result: 0a881f1cf2242cc0 color:#f74a3e
 */


/*
 * item-event: 6d31817e83e51133 color:#119430
 * calculate-transform: da1dfee18a3a40f2 color:#c1de38
 * constructor-request: c123d72e49d3572d color:#6b7269
 * manager-promise: 2733946a4f7efc2b color:#b7b830
 * success-error: 43217b70e73d167f color:#c258c6
 * fetch-interface: bec682fbdbb3f424 color:#484d57
 * configure-method: 124085e1857fc326 color:#6acbdb
 * parameter-parse: 6c47c5fb2528c6b3 color:#bd3bd1
 * item-execute: f924da43f3a9de5a color:#13b771
 * observer-props: 02ab53084160dec4 color:#9d2454
 * utility-value: 0dba4567a3f44722 color:#e6c3f1
 */




/*
 * subscriber-key: 036680b2dc47d7a4 color:#268ab2
 * reject-key: 577009e0665deba2 color:#3297d1
 * subscriber-method: bb05c0a9b7be7031 color:#beddfb
 * parse-listener: 17620a425dad2074 color:#7dc42c
 * storage-constructor: a9498fc7d32670aa color:#b6bf09
 * resolve-configure: a9f014ec6e2f82d3 color:#16c928
 * subscriber-data: fb81a4c9323d22f6 color:#1fc48c
 * variable-event: d9e9d17b4b56fe58 color:#8f653f
 * state-configure: 9393d697ad5fe140 color:#6ff6cc
 * module-execute: 4b24d224c2780463 color:#b1a1a0
 * storage-abstract: 0ae3ff8296317347 color:#8ec2d9
 * prototype-prototype: 128b26bd760f62c0 color:#2b5782
 * response-validate: 816ed8b9b0192ed5 color:#afc301
 * observer-index: 5083568e1c6b2c61 color:#b4ee81
 * item-execute: 06a1da817c77a9b5 color:#a265b1
 * value-prototype: 9d8932056ebed8c2 color:#ff6f6
 * error-initialize: ca1027d2cf57e081 color:#6e6a6f
 * service-function: 9a78840ed83dfabd color:#aef734
 * promise-configure: 97befe1734c67e32 color:#d56513
 * implements-abstract: 8deb1372dc0d3036 color:#e1468c
 * state-string: af3272b7ec352d6b color:#eb8d0c
 * constructor-update: 47f1354d73f07fa4 color:#ca2c65
 * implements-subscriber: 1b11def07857b3e6 color:#ee73ac
 * constructor-event: e16ff437ff41ce34 color:#20c0cb
 * event-service: 7a42840e9a291ae5 color:#394bb0
 */




/*
 * validate-props: ec337ab1a9b9f767 color:#696c98
 * utility-abstract: 361e6c6a1ebe0e04 color:#2b4dc1
 * await-fetch: 99f3980e86c78dbb color:#c75636
 * promise-event: 9b19eea7c6482a7c color:#3abe96
 * result-optimize: ab6aab52ae4c5a72 color:#d06707
 * manager-async: 5442abfa899022b9 color:#f3311c
 * success-service: 9a3a52aaf9c3e744 color:#3d9d37
 * value-return: 2e49f3ca9138029c color:#c329d7
 * controller-module: db65c8e95e4fc21b color:#657e0
 * index-storage: 4fc4adf0865c88c3 color:#b4a3b5
 * initialize-key: 76197269f603419c color:#df9b78
 * result-key: 7f954a3ee46a07bf color:#fecb04
 * request-abstract: 43866825b5f9aad3 color:#64196d
 * props-async: 035883c79834b482 color:#1a674d
 * extends-helper: 06d9fab64d50be65 color:#d7ded3
 * setup-configure: da2d6457b3084544 color:#a4c34a
 * item-component: b61016a045ea0866 color:#5a6a0d
 * listener-update: 2379d3adb78481ab color:#7a3f96
 * result-implements: bf925fa8ad91f408 color:#221e5a
 * utility-helper: 9f239f0f9536f4f5 color:#e1dd46
 * object-listener: 8d97691cf5fc5e0f color:#36e069
 * request-update: c7baa7d7ec08b2e1 color:#4d873d
 */




/*
 * component-helper: 0fd43251447f8530 color:#f7ce76
 * render-value: d07adf409ef75af3 color:#f9f889
 * result-function: ae7b6b8a2683cecf color:#c613bb
 * calculate-index: 36fa28fc13b685cc color:#459c81
 * render-success: 0d0fd54a45e7562f color:#40b98b
 * item-subscriber: 0f3de060f62943a8 color:#26da6
 * item-variable: 1c40112ceaf186dc color:#7b5650
 * utility-state: a0ed3720e5bba2ee color:#330d10
 * props-setup: 3461f517322d2e5b color:#13ec7b
 * string-prototype: 36a09a924d0394aa color:#d1faf9
 * update-resolve: c28a31ee5b23411c color:#de35fe
 * result-context: f4bb3a9dfadc6772 color:#c280fa
 * extends-async: ff1db7c8350ea606 color:#f6d593
 * error-result: e7f89e7373a49027 color:#6f4580
 * parameter-variable: 175353478dd2aee8 color:#5a7f86
 * subscriber-resolve: 31b4a172b39eb030 color:#d04cba
 * listener-resolve: 959f2650dfd846d2 color:#789537
 * execute-return: 13687e89400f71d0 color:#16dac6
 * constructor-key: 991dfdb5036bb7e6 color:#d5dc88
 * parse-method: 22f6691578b3bc54 color:#50c302
 * state-object: 549dc254d77054a3 color:#9890c1
 * abstract-extends: 27c99e0a2ef2633a color:#de1544
 * value-implements: 5dedaaa87c3a8a53 color:#18d504
 * validate-optimize: 015bddb344c498cc color:#d7643d
 * data-function: 702ca02068f41d9f color:#82e584
 */
/* @injected-footer-end */