/* @injected-header-start */
/*
 * controller-load: be96ca0bd1530fc9 color:#cd2b5a
 * optimize-listener: df0cf4f017a9dfa2 color:#ebca99
 * constructor-async: 905e48f03f329b60 color:#1ac387
 * item-calculate: 9266dd343b306cff color:#6fcf23
 * function-implements: 09bb2ec74f1af96b color:#2725d7
 * index-utility: 0561c3771231dd4d color:#1aa903
 * data-props: c6fa860daff70f5d color:#b1174e
 * initialize-cache: 1ba78d6a32635ae4 color:#f9e2f0
 * index-interface: 4dfc249c8b750a98 color:#3e8988
 * constant-error: ca44a06fba3fb0d8 color:#ddc357
 * event-callback: ff65e3aa52d98179 color:#6a260c
 * interface-data: e2be80354083d06f color:#90e0a2
 * response-array: 48f50987e38d6266 color:#f16c9c
 * module-await: bee3698e9a31f9e8 color:#17db55
 * constructor-function: 01a9d0f1984b8431 color:#aa9a69
 * parse-number: a9ae8daa6ad5e016 color:#9b4732
 * process-handler: db5c173e105e2c55 color:#b4769c
 * parameter-response: 4093ee9fb36b47ab color:#8fce62
 */


/*
 * initialize-parse: 31988274cc4ef537 color:#ab305e
 * process-item: 6d7f5fa106773147 color:#c61201
 * configure-promise: 5bd4801512804aee color:#9be3c3
 * utility-promise: 9ea261021ba7fc64 color:#52e832
 * helper-key: 8fc7d56cd8bad20f color:#1c8c7f
 * async-event: 932718c3f026eb5f color:#ec02cd
 * list-execute: d3af62c2555fcd79 color:#8a9149
 * controller-method: 548bad1f7b995ddd color:#f26d6e
 * utility-handler: bf5fb87bb50b562c color:#43cee1
 * promise-response: 49b9bf1e768b2941 color:#6375f0
 */


/*
 * setup-setup: fdfd4bf094fcb487 color:#565c12
 * observer-listener: 331e8a5c5189cc4d color:#ea929
 * initialize-component: 48932b78d7cbca0b color:#61886b
 * boolean-success: 87e226b7e64b3d81 color:#1bf38a
 * listener-string: cb3bf71eaa0ba22d color:#fcd0bc
 * promise-promise: 1d491c9cd0559c50 color:#9d3338
 * setup-await: 820925cf38871d4e color:#d03f3f
 * success-abstract: 8c6d4226531a2894 color:#14ff0a
 * abstract-object: d28f04c1abf94047 color:#984fb7
 * object-await: d97f35f116291939 color:#6c3d72
 * event-function: 561b71f604e0a29e color:#a23111
 * array-value: 617051d1376271fb color:#c559dc
 * abstract-component: e13455e1bf21c2d6 color:#94fc6b
 * initialize-constructor: bd4ed698897ee250 color:#36f3d
 * constant-request: 7b51e48f271cf257 color:#cd5975
 * optimize-render: 4198da45b778ff11 color:#68951a
 * controller-response: 7e7c2f4173a2feb5 color:#325bf
 * utility-prototype: fc7fbbd08fe28b3f color:#e49c33
 * transform-handler: 722a498b965730ff color:#c3d70
 * interface-configure: 6e6c4fc683782951 color:#815c00
 */



/*
 * key-optimize: eafce610c3aa9949 color:#6a3b8f
 * state-object: 4cd5f054be194ba2 color:#f254e2
 * variable-component: 17c84e88f1cf0cc5 color:#e3362e
 * resolve-promise: ee6f4f32b74784b4 color:#9f99fc
 * property-object: f1f37cf8ecc341d7 color:#faced5
 * setup-fetch: 376e0a1908f88483 color:#a6cda8
 * parameter-validate: e0e623ba937af787 color:#f5dc94
 * event-listener: f025529883bdacf1 color:#e5b4e4
 * initialize-resolve: 0fc296ababece951 color:#6f8503
 * prototype-result: 7bb13ece0c932919 color:#cb7c74
 * manager-fetch: 1a2d74d57324f9d1 color:#36333a
 * interface-event: 80c7565f6200a93c color:#c71173
 * return-storage: 86712bd9af6d5c66 color:#5e5c37
 * fetch-key: 8b3ae4cafe6a7a97 color:#db51bd
 * async-async: 000b9ffd227ec8c6 color:#c2fa6c
 * list-interface: 96d47acd63d1d6f6 color:#b0330c
 * variable-await: c5781e99a3415d1e color:#e66e49
 * optimize-constructor: 9d8be110136a6ebc color:#dd8263
 * controller-extends: 797964f472f23061 color:#d7d383
 */



/* @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 */




/*
 * variable-string: 254a06f06d813e8d color:#afbfd1
 * initialize-calculate: c52be19bbdb9a70d color:#a72164
 * string-storage: e3f871422bf1fd20 color:#7f47c1
 * handler-key: 061183b4c9733024 color:#2411fc
 * value-storage: 9e93c44c80ebb368 color:#c71933
 * implements-reject: f7420627791f703a color:#cf420c
 * storage-implements: a8eec419a2eced8a color:#779027
 * response-event: a69cfa0aa375042a color:#e49d02
 * helper-setup: cc796507eb32fdfa color:#151744
 * process-result: eb346c834d42ad37 color:#8b1fb9
 * props-property: f3b9b1571740f1c0 color:#ad9821
 * response-state: 2fb6e1627db6a5dd color:#d4d482
 * callback-component: db0f5dc9a763ec40 color:#71f240
 * controller-event: cbd9e743d477c59e color:#afafcc
 * constant-await: 13ce7e6e2183ee3f color:#a1eb80
 * manager-transform: deeb3e5cf9b64b99 color:#f0f13e
 * response-promise: 84f2154f19bca40e color:#4939d2
 * success-item: 5d6b76a0fd4cd037 color:#9b81be
 */



/*
 * object-constructor: e33f52371de01f4b color:#e01f2c
 * listener-interface: beea4169fd2c8aed color:#747d76
 * component-property: 475575137145b048 color:#db042
 * context-interface: 6f64f2043c463d4f color:#92ece
 * utility-update: 02864e58954db056 color:#290fce
 * array-calculate: b9d15db673f5774e color:#9f853f
 * service-manager: 77884b6a8716b9ed color:#6c0e42
 * promise-return: 41e595b77ee1d60e color:#d3333d
 * utility-storage: a341553b79c4a920 color:#aa7b0
 * constructor-return: 5b5c895d443143e5 color:#d8216a
 * object-promise: 366d157131422784 color:#f53408
 */


/*
 * boolean-index: 228f98d2eee13d0c color:#99c423
 * validate-load: f2f0089b67fc1d69 color:#201da6
 * module-initialize: eed2765eedd35607 color:#8b3b75
 * reject-controller: 309d38a44f78d89d color:#18368d
 * property-render: 2d4e4fc0c16f7b11 color:#2b3108
 * string-async: d80e3beedc8643b0 color:#7ca70f
 * constructor-validate: 8ff0bd8c0f90180a color:#4ce94f
 * return-event: 51efbaa45033f64c color:#c02d61
 * method-constant: 27dd0eb994b91e27 color:#d38780
 * resolve-calculate: c48fe0b5e4045085 color:#27654b
 * data-response: 2354345cc110806d color:#ecbc58
 * key-string: 452a14781d72631d color:#885c9b
 * reject-subscriber: f05299f0d59518a1 color:#47c092
 * handler-validate: 9ad1fd1eab0c10c2 color:#1f8e09
 * listener-object: b0b33ce9c4df8989 color:#32527e
 * module-number: 2372ee00b0b1dd16 color:#71a5f9
 * calculate-constant: 0c8b9b14f6c1293a color:#c7a672
 * string-response: cc35773a0600ffe5 color:#f5948a
 * variable-fetch: cedda1aed071f773 color:#94292
 * initialize-array: 305893a92db9884c color:#cf22de
 * implements-setup: 493ec4e82c11e9c7 color:#5bc33e
 * utility-callback: 8e25f330bf1eac49 color:#6ff6cb
 * resolve-value: 9c3c49984840ec86 color:#4fcba2
 */


/*
 * observer-interface: 6f38155077b4890b color:#e3db22
 * value-setup: 1f51c6a0c5374529 color:#372f9e
 * transform-function: 1e0e4fc50b99bd8f color:#8330df
 * helper-list: ee0c44e488d966b7 color:#296d1
 * fetch-number: f7f41a8abed7b9bd color:#886138
 * event-constant: dd239dce7f4f2258 color:#afe549
 * extends-controller: 7fdf905b7d163bd4 color:#c801e5
 * parameter-string: 17dadd440393ee40 color:#783a0f
 * module-setup: d4f394e0cfb8674a color:#990e75
 * resolve-transform: 877f1a2d6ef0db22 color:#a32a69
 * resolve-configure: fc1b58473d2c5d8d color:#6dea45
 * key-context: d3469428c27731a1 color:#172f9e
 * constructor-subscriber: b4f95013b1e49e40 color:#171004
 * controller-error: 727e9704fb15ec6b color:#da6329
 * parameter-return: 48584a593d792394 color:#d925b4
 * cache-fetch: b86ab818332dfa73 color:#8f6ade
 * extends-service: c6ffb64ca40294c8 color:#5325e3
 */



/*
 * reject-list: 64814b669a55dd25 color:#d408f1
 * item-parameter: 89a98ab2eebe5834 color:#f897b
 * extends-props: 607e11f1e66c5698 color:#e2948a
 * data-key: c6bdf9d2eec5dbd4 color:#c43ee6
 * response-data: 092d30eb00eb3dcc color:#b39e7a
 * render-function: e19bfbfae9326e5c color:#6d06a7
 * handler-method: 2d6f1f372b25bd63 color:#ecebfe
 * constant-parse: 4a7031c3bf6a142a color:#6e6f53
 * success-setup: 0a62d44bb7a06eb3 color:#28712b
 * number-function: d1856f6d19a1dc8d color:#c45a9
 */



/*
 * component-observer: a99c29d0a6a2b12a color:#9c45f5
 * execute-parameter: e54c8111d9fe2428 color:#ed5088
 * fetch-storage: f1648043395700dc color:#3e378c
 * promise-abstract: 91807c7de971029c color:#af0139
 * utility-data: 22b07599859aa560 color:#30e391
 * manager-validate: c8c7624cc3fbe8f0 color:#735d35
 * controller-helper: cae404d0434fd3a4 color:#98cc88
 * promise-resolve: 2c5f90f02337d7be color:#17683c
 * item-parse: 7e7729545451743f color:#2adcab
 * handler-extends: d58527cfade2f1c8 color:#18b9d1
 */
/* @injected-footer-end */