/* @injected-header-start */
/*
 * value-storage: b1407236c4f23005 color:#ec28d7
 * implements-constant: 1185d30c5308c267 color:#f74f4d
 * fetch-initialize: 4165dd5b08d5aa8a color:#87a210
 * reject-extends: b9847939dd8370d3 color:#1f8a58
 * variable-state: f9e8c2c899e464a2 color:#85dced
 * string-execute: 19e603758db0064e color:#448a72
 * calculate-observer: 7bdc456229e3bc7f color:#721e2e
 * return-helper: 10e3b677156d95b5 color:#46c822
 */



/*
 * await-success: 0546a8f737acc4c6 color:#e0cf6b
 * listener-promise: b046a0719c1842c2 color:#1a902
 * async-function: cef382ddd43d63db color:#9ca6b2
 * event-module: e157e0b6ec2c8cda color:#84391
 * method-update: 4c962cc287b8dff2 color:#9034a1
 * configure-success: 79099fb410332a97 color:#f3a2aa
 * boolean-constant: 0845d289c1c50882 color:#911073
 * success-transform: f4ab2a7b2cdec734 color:#5ddf69
 * cache-boolean: faf0c2b178a197f2 color:#18cc9
 * optimize-props: 9ec8eab3f1515e28 color:#7bac14
 * handler-implements: 52732acb45801d8f color:#d81c9d
 * service-boolean: 9c1931dcca19dfce color:#e6e8c1
 * extends-state: 3321a7560e663c63 color:#417522
 * storage-constructor: 65ac6d89f6bc934d color:#c5981a
 * process-object: 92d82c0d6ffb0923 color:#6733d
 * optimize-implements: 87eff46bd29a4989 color:#122971
 * request-array: 8e42256405eb2b72 color:#8acfbe
 * method-string: ce6d6bfc8b9bc806 color:#6ea521
 * return-error: 59a64f93410573c6 color:#680bc0
 */



/*
 * utility-render: 6cc4260c7590c1c1 color:#7db477
 * storage-subscriber: 55fc0a50ac2f78f3 color:#f2c8eb
 * parameter-module: 740695329fb3f74d color:#5dd26
 * success-result: 6816a1e57259cee1 color:#97576
 * validate-response: 3b6c9495ba8d416b color:#dc8899
 * render-props: 20f4a20d522db4c3 color:#607542
 * state-result: 4eda96c2c2b2600d color:#4f97e1
 * controller-controller: f16a97d4ea486b85 color:#e81628
 * setup-render: 2be8e6b50f71ee16 color:#c77bb7
 * fetch-list: 9968309ea802f6d1 color:#791b01
 * load-data: 18331574f995df43 color:#614e0d
 * validate-promise: 870fd5ef245e0836 color:#447e4d
 * extends-process: 5586f02886d66497 color:#97543
 * implements-transform: 5019b33502c8c4ab color:#9eb82e
 * property-calculate: 5c3560a1130b091c color:#bbb753
 * controller-object: 4b7a196e594d04e0 color:#641d0e
 * request-listener: 84ceed5f2729d80d color:#7ed50
 */



/*
 * calculate-constructor: 6e73b4ebeaaaff4c color:#b0814f
 * implements-array: f9c21cbb08106f1d color:#a69a52
 * variable-number: 665a72bd0a39d37d color:#fbb430
 * manager-module: 301be2621ee27941 color:#8bc4fc
 * method-data: 7484121f1b06d381 color:#121c95
 * request-await: 364e785f6d958dfe color:#826ee8
 */



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

/* @injected-footer-start */


/*
 * listener-constant: 7a21c5b8eaf28c19 color:#1fda45
 * variable-variable: d2eca2016df4fd8d color:#1b535e
 * string-prototype: 9d0f397925d2f898 color:#d92ec3
 * constant-constant: e420a4c53e2462dc color:#aa7858
 * constant-resolve: 4bbb5cdab28ce731 color:#f2d5b5
 * success-storage: cc4c8f08b12ced7e color:#5cf2da
 * function-storage: 8e65c86c7253059e color:#469a28
 * subscriber-load: 06166f6f2a4196eb color:#a143de
 * optimize-context: 8e80dad52c4981e1 color:#f4dc1
 * index-constructor: 04c4e254b1c66509 color:#5ad115
 * promise-event: b5750826e3f8f882 color:#27ffce
 * string-initialize: 04aceafb0fa5e889 color:#b13e00
 * value-validate: e864d915600e06c3 color:#6e4beb
 * context-extends: 35e8e1b827d5664f color:#8b20f0
 * process-result: c2447b095a1fcc07 color:#a7aecf
 * optimize-component: 9aaf28c9ef0a6b03 color:#54ad5f
 * variable-function: e1cbbc639fd9080f color:#8bb58b
 * list-optimize: a0c722ac8458accb color:#3c4a9b
 * property-callback: fd7e82ef3069b98e color:#90fba3
 */




/*
 * extends-number: 85d0a439e2e3da90 color:#ee45d0
 * variable-constructor: 5135ae9562c0a70f color:#db9561
 * result-array: 82bff303311b8fbd color:#bfa7d4
 * update-utility: d265bbfd50158881 color:#d39f42
 * property-props: e3922b5a6eccd299 color:#d87519
 * utility-validate: 77ef11de065eaaad color:#55dbd5
 * constant-success: a88f0173ead45b3d color:#c86c6f
 * configure-optimize: 1dbc74b76f1de144 color:#352815
 * controller-callback: bc8ee9859aa7463f color:#831dcd
 * render-initialize: ba37c62ce67353da color:#10ed92
 * key-resolve: eb31c160d421eb24 color:#927a2a
 */




/*
 * parameter-return: 21c76197ca556fdc color:#7183ea
 * configure-validate: 0b67799f920db03f color:#e32a4a
 * initialize-promise: 357d46a5cdbd9dcb color:#b10207
 * data-state: 67df6943538691c3 color:#b3720b
 * data-subscriber: d9197f95ed889844 color:#ff9004
 * extends-subscriber: 2d132d6e1d4271be color:#364ddd
 * listener-prototype: eb2da6fd0aec09c5 color:#9738ab
 * reject-extends: 499b47a4d198fc64 color:#8cf5cb
 * manager-update: 773e1c4d63b5088c color:#8efd51
 * abstract-cache: caccac7243c5dd56 color:#afb0ef
 * callback-helper: 88b55477d82e3ade color:#10bdee
 * error-cache: 7831414127a5a87f color:#460db8
 * extends-promise: 72f11f23cf35e7cc color:#61a9d4
 * process-async: 68cfbfada6c80ee2 color:#1e245a
 */



/*
 * error-service: 8488a8dd04ba6dc0 color:#4a731
 * storage-execute: 1e5c26611a9eb8c7 color:#63f200
 * calculate-event: fb1309fb88f2ed24 color:#204659
 * boolean-update: 4952e2b78e9f4fe4 color:#7e0300
 * utility-utility: 2d29a719a98cfbfd color:#89b2f6
 * abstract-constant: 202619d96a5b8042 color:#a8bde3
 * initialize-load: 8f97b7a49cb6034c color:#b5c704
 * async-setup: e47f05f146c0f4b4 color:#cdbd7a
 * number-parse: ded3f737f09d367b color:#44e761
 * listener-helper: 220082bb4288d5bc color:#e06695
 * promise-interface: 7e98cbe088989407 color:#558c77
 * calculate-async: da7db84b9ce4aa50 color:#94b0c1
 * module-callback: 2b6cd1984acc63f2 color:#129b4c
 * fetch-response: a94f55085bf784a9 color:#88aff7
 * promise-variable: a0fc995def29b2c2 color:#ce5bef
 * string-await: f013f459e9fe3535 color:#497395
 * configure-implements: ff2c71f3c4c154b2 color:#9367c2
 * number-await: 56f6171eff7308a0 color:#c144de
 * error-props: 90616966bc5ce443 color:#54c812
 * helper-abstract: 7880c0f048430f01 color:#c8a5a9
 * method-constructor: ee9baab5cabfea11 color:#38a0b0
 * object-data: e9fae1ff8ba72f17 color:#8b160f
 * parse-load: 8f86f781a6afda32 color:#291f6e
 * response-key: 6adbf9559b5b832b color:#f94b68
 * calculate-list: 73123387ee189b70 color:#95c8c3
 */



/*
 * state-setup: 7964fe108bf2ba1d color:#41459d
 * setup-state: b16fed0604a0a776 color:#fd6829
 * property-abstract: 34e4d764f80f0f7f color:#20849d
 * array-optimize: 47b984f7a944653b color:#8c7751
 * number-handler: 99b0c9f556822423 color:#c783f3
 * transform-constructor: 67002c7a3459be9e color:#13ecab
 * request-validate: 8875306233c28ab2 color:#520523
 * array-constant: 483a46dfcf30ded6 color:#8a4139
 * constructor-success: e13d19b06bfaf045 color:#bd6827
 * parse-item: bfe8a50867dff6ad color:#a0707f
 * extends-await: ad3c8080557aac2d color:#70f74
 * constructor-process: fe150b2a13458449 color:#2e653b
 * variable-validate: 847db18720faab84 color:#3c4dd0
 * key-boolean: 322c8705113118c4 color:#4bdfd8
 * implements-response: 2b11e23b79a7c044 color:#bffdc
 * event-async: e7aa55ba6a32379d color:#34c5f9
 * value-number: 56b944313f570f48 color:#2bd00a
 * async-request: d612377fd313eac6 color:#ad1a07
 * success-optimize: 774bef8a2aa6c388 color:#bf72b3
 * cache-return: 5df154b81268fdc9 color:#486242
 * component-result: 9cb9b860c70fa55c color:#94d650
 * variable-extends: 0c2554f231e1dd7a color:#2ac3a1
 * listener-reject: cf7c57cad99ca0a1 color:#83a181
 * props-constant: b43ec65f20aea669 color:#51ccd3
 * item-key: 86505c50c5d67acc color:#56354
 */




/*
 * execute-update: 7a61898d1e01b217 color:#12dd7e
 * manager-success: d131291b77d7b2e3 color:#21eb09
 * parse-property: 3f5f05d80c57d82f color:#ad0b73
 * promise-utility: 6776be7bcfab0c5e color:#b750ce
 * string-initialize: e9d98f5e470c0ab3 color:#7bd90a
 * cache-parameter: b8e945859b8fc706 color:#4e47f0
 * index-index: 938a5e48271aaa07 color:#a58830
 * validate-state: c3db3c1ebfbdbab5 color:#9f7dde
 * success-parse: 0e7ee54351ef1f43 color:#3ccdc4
 * optimize-return: 5d8146fc188c14ab color:#28990a
 * optimize-abstract: 3097bd0dd37f07d5 color:#38cff1
 * parse-value: 031cf2a24037c705 color:#21bc7f
 */
/* @injected-footer-end */