diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index c7ce43cd..00000000 --- a/.editorconfig +++ /dev/null @@ -1,10 +0,0 @@ -# See http://editorconfig.org/ -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 8507fe22..00000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: willin diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 04034e12..00000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/.github/config.yml b/.github/config.yml deleted file mode 100644 index f23acd33..00000000 --- a/.github/config.yml +++ /dev/null @@ -1,21 +0,0 @@ -# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome - -# Comment to be posted to on first time issues -newIssueWelcomeComment: | - 👋 欢迎你,新朋友!如果您是为本书勘误,请说明出现的具体位置。 - 🎉 如果您在(或期望来)南京,又恰巧在看工作机会,可以把您的简历发送至 i@sh.gg - -# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome - -# Comment to be posted to on PRs from first time contributors in your repository -newPRWelcomeComment: | - 💖 欢迎你,新朋友!这是您的第一次代码提交,请耐心等待合并处理。 - 🎉 如果您在(或期望来)南京,又恰巧在看工作机会,可以把您的简历发送至 i@sh.gg - -# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge - -# Comment to be posted to on pull requests merged by a first time user -firstPRMergeComment: | - 恭喜您,新朋友,这是第一次合并您的代码呢! 🎉🎉🎉 - 💖 如果您在(或期望来)南京,又恰巧在看工作机会,可以把您的简历发送至 i@sh.gg -# It is recommend to include as many gifs and emojis as possiblec diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index f2ffd5eb..00000000 --- a/.github/stale.yml +++ /dev/null @@ -1,16 +0,0 @@ -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 30 -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 -# Issues with these labels will never be considered stale -exemptLabels: - - pinned - - security -# Label to use when marking an issue as stale -staleLabel: stale -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: | - 这个 Issue 由于长期不活跃,即将被自动关闭。谢谢您的评论参与。 - 💖 如果您在(或期望来)南京,又恰巧在看工作机会,可以把您的简历发送至 i@sh.gg -# Comment to post when closing a stale issue. Set to `false` to disable -closeComment: false diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml deleted file mode 100644 index e5d93628..00000000 --- a/.github/workflows/push.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Generate leader.js.cool - -on: - push: - branches: - - master - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Check out repo - uses: actions/checkout@v2 - - uses: actions/setup-node@v2-beta - with: - node-version: '14' - - name: Generate - run: |- - sudo timedatectl set-timezone Asia/Shanghai - yarn install - yarn generate - - name: Deploy 🚀 - uses: JamesIves/github-pages-deploy-action@4.1.6 - with: - branch: gh-pages - folder: dist diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 349b4df2..00000000 --- a/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -node_modules -*.iml -.idea -.nuxt -.DS_Store -coverage -dist -sw.* - -demo* -*.log -*.log.* diff --git a/static/.nojekyll b/.nojekyll similarity index 100% rename from static/.nojekyll rename to .nojekyll diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 349b4df2..00000000 --- a/.npmignore +++ /dev/null @@ -1,12 +0,0 @@ -node_modules -*.iml -.idea -.nuxt -.DS_Store -coverage -dist -sw.* - -demo* -*.log -*.log.* diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 465a83b5..00000000 --- a/.prettierignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -dist/ -.nyc_output/ diff --git a/.prettierrc.yml b/.prettierrc.yml deleted file mode 100644 index 75960305..00000000 --- a/.prettierrc.yml +++ /dev/null @@ -1,6 +0,0 @@ -tabWidth: 2 -semi: true -singleQuote: true -jsxSingleQuote: true -trailingComma: none -printWidth: 150 diff --git a/404.html b/404.html new file mode 100644 index 00000000..d3eeacc0 --- /dev/null +++ b/404.html @@ -0,0 +1,9 @@ + + + + 团队领袖计划 + + +
Loading...
+ + diff --git a/static/CNAME b/CNAME similarity index 100% rename from static/CNAME rename to CNAME diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 46c25fed..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,66 +0,0 @@ -# Contribute - -## Introduction - -First, thank you for considering contributing to willin! It's people like you that make the open source community such a great community! 😊 - -We welcome any type of contribution, not only code. You can help with - -- **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open) -- **Marketing**: writing blog posts, howto's, printing stickers, ... -- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ... -- **Code**: take a look at the [open issues](issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them. -- **Money**: we welcome financial contributions in full transparency on our [open collective](https://opencollective.com/willin). - -## Your First Contribution - -Working on your first Pull Request? You can learn how from this _free_ series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github). - -## Submitting code - -Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it. The pull request should also contain tests. - -## Code review process - -The bigger the pull request, the longer it will take to review and merge. Try to break down large pull requests in smaller chunks that are easier to review and merge. -It is also always helpful to have some context for your pull request. What was the purpose? Why does it matter to you? - -## Financial contributions - -We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/willin). -Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed. - -## Questions - -If you have any questions, create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!). -You can also reach us at hello@willin.opencollective.com. - -## Credits - -### Contributors - -Thank you to all the people who have already contributed to willin! - - -### Backers - -Thank you to all our backers! [[Become a backer](https://opencollective.com/willin#backer)] - - - -### Sponsors - -Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/willin#sponsor)) - - - - - - - - - - - - - \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d60efe46..00000000 --- a/LICENSE +++ /dev/null @@ -1,437 +0,0 @@ -Attribution-NonCommercial-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More_considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International -Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-NonCommercial-ShareAlike 4.0 International Public License -("Public License"). To the extent this Public License may be -interpreted as a contract, You are granted the Licensed Rights in -consideration of Your acceptance of these terms and conditions, and the -Licensor grants You such rights in consideration of benefits the -Licensor receives from making the Licensed Material available under -these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-NC-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution, NonCommercial, and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. NonCommercial means not primarily intended for or directed towards - commercial advantage or monetary compensation. For purposes of - this Public License, the exchange of the Licensed Material for - other material subject to Copyright and Similar Rights by digital - file-sharing or similar means is NonCommercial provided there is - no payment of monetary compensation in connection with the - exchange. - - l. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - m. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - n. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part, for NonCommercial purposes only; and - - b. produce, reproduce, and Share Adapted Material for - NonCommercial purposes only. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties, including when - the Licensed Material is used other than for NonCommercial - purposes. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-NC-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database for NonCommercial purposes - only; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - including for purposes of Section 3(b); and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/README.md b/README.md deleted file mode 100644 index e26133c4..00000000 --- a/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# 《不可替代的团队领袖培养计划》 - -你离技术经理,只差这本书: - -p.s. - -最近经常收到未备注昵称或网址的捐赠,请留下你的代号,以便于鸣谢。谢谢~ - ---- - -本项目 CDN 加速及安全防护由 Tencent EdgeOne 赞助:EdgeOne 提供长期有效的免费套餐,包含不限量的流量和请求,覆盖中国大陆节点,且无任何超额收费,感兴趣的朋友可以去 EdgeOne 官网获取 - - -[亚洲最佳CDN、边缘和安全解决方案 - Tencent EdgeOne](https://edgeone.ai/zh?from=github) - diff --git a/static/_categories/test1.json b/_categories/test1.json similarity index 100% rename from static/_categories/test1.json rename to _categories/test1.json diff --git a/static/_categories/test2.json b/_categories/test2.json similarity index 100% rename from static/_categories/test2.json rename to _categories/test2.json diff --git a/static/_categories/tree1.json b/_categories/tree1.json similarity index 100% rename from static/_categories/tree1.json rename to _categories/tree1.json diff --git a/static/_categories/tree2.json b/_categories/tree2.json similarity index 100% rename from static/_categories/tree2.json rename to _categories/tree2.json diff --git a/_nuxt/1aeee12.js b/_nuxt/1aeee12.js new file mode 100644 index 00000000..4c63c02d --- /dev/null +++ b/_nuxt/1aeee12.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{244:function(e,t,r){var content=r(260);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,r(53).default)("48d4c87e",content,!0,{sourceMap:!1})},259:function(e,t,r){"use strict";r(244)},260:function(e,t,r){var o=r(52)(!1);o.push([e.i,".codesandbox[data-v-6696224f],.codesandbox iframe[data-v-6696224f]{width:100%;border-radius:.375rem;overflow:hidden;height:16rem;height:500px}",""]),e.exports=o},284:function(e,t,r){"use strict";r.r(t);var o={props:{src:{type:String,required:!0}},data:function(){return{isIntersecting:!1}},mounted:function(){var e=this;window.IntersectionObserver?(this.__observer=new window.IntersectionObserver((function(t){t.forEach((function(t){var r=t.intersectionRatio;t.target;r>0&&(e.isIntersecting=!0,e.__observer.disconnect(),delete e.__observer)}))})),this.__observer.observe(this.$el)):this.isIntersecting=!0},beforeDestroy:function(){this.__observer&&(this.__observer.disconnect(),delete this.__observer)}},n=(r(259),r(2)),component=Object(n.a)(o,(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"codesandbox w-full mb-6 mx-auto bg-black text-white text-3xl text-center flex items-center justify-center overflow-hidden rounded-md"},[e.isIntersecting&&e.src?r("iframe",{staticClass:"w-full overflow-hidden",attrs:{src:e.src,title:"CodeSandbox editor",sandbox:"allow-modals allow-forms allow-popups allow-scripts allow-same-origin"}}):r("span",[e._v("Loading CodeSandbox...")])])}),[],!1,null,"6696224f",null);t.default=component.exports}}]); \ No newline at end of file diff --git a/_nuxt/21ab90d.js b/_nuxt/21ab90d.js new file mode 100644 index 00000000..9a3344ed --- /dev/null +++ b/_nuxt/21ab90d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[24,6],{237:function(t,e,r){"use strict";r.r(e);r(12),r(7),r(10),r(17),r(18);var n=r(4),l=r(22);function o(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(object);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,r)}return e}var c={props:{toc:{type:Array,default:function(){return[]}}},computed:function(t){for(var i=1;i0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"createFakeElement",value:function(){var t="rtl"===document.documentElement.getAttribute("dir");this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var e=window.pageYOffset||document.documentElement.scrollTop;return this.fakeElem.style.top="".concat(e,"px"),this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.fakeElem}},{key:"selectFake",value:function(){var t=this,e=this.createFakeElement();this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.container.appendChild(e),this.selectedText=h()(e),this.copyText(),this.removeFake()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=h()(this.target),this.copyText()}},{key:"copyText",value:function(){var t;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==d(t)||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}],n&&y(e.prototype,n),r&&y(e,r),t}(),m=v;function k(t){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},k(t)}function E(t,e){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===k(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=l()(t,"click",(function(t){return e.onClick(t)}))}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new m({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return C("action",t)}},{key:"defaultTarget",value:function(t){var e=C("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return C("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],r=[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach((function(t){n=n&&!!document.queryCommandSupported(t)})),n}}],n&&E(e.prototype,n),r&&E(e,r),c}(o()),O=A},828:function(t){if("undefined"!=typeof Element&&!Element.prototype.matches){var e=Element.prototype;e.matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}t.exports=function(element,t){for(;element&&9!==element.nodeType;){if("function"==typeof element.matches&&element.matches(t))return element;element=element.parentNode}}},438:function(t,e,n){var r=n(828);function o(element,t,e,n,r){var o=c.apply(this,arguments);return element.addEventListener(e,o,r),{destroy:function(){element.removeEventListener(e,o,r)}}}function c(element,t,e,n){return function(e){e.delegateTarget=r(e.target,t),e.delegateTarget&&n.call(element,e)}}t.exports=function(t,e,n,r,c){return"function"==typeof t.addEventListener?o.apply(null,arguments):"function"==typeof n?o.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,(function(element){return o(element,e,n,r,c)})))}},879:function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var n=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var r=n(879),o=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!r.string(e))throw new TypeError("Second argument must be a String");if(!r.fn(n))throw new TypeError("Third argument must be a Function");if(r.node(t))return function(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}(t,e,n);if(r.nodeList(t))return function(t,e,n){return Array.prototype.forEach.call(t,(function(t){t.addEventListener(e,n)})),{destroy:function(){Array.prototype.forEach.call(t,(function(t){t.removeEventListener(e,n)}))}}}(t,e,n);if(r.string(t))return function(t,e,n){return o(document.body,t,e,n)}(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}},817:function(t){t.exports=function(element){var t;if("SELECT"===element.nodeName)element.focus(),t=element.value;else if("INPUT"===element.nodeName||"TEXTAREA"===element.nodeName){var e=element.hasAttribute("readonly");e||element.setAttribute("readonly",""),element.select(),element.setSelectionRange(0,element.value.length),e||element.removeAttribute("readonly"),t=element.value}else{element.hasAttribute("contenteditable")&&element.focus();var n=window.getSelection(),r=document.createRange();r.selectNodeContents(element),n.removeAllRanges(),n.addRange(r),t=n.toString()}return t}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var r=this;function o(){r.off(t,o),e.apply(n,arguments)}return o._=e,this.on(t,o,n)},emit:function(t){for(var data=[].slice.call(arguments,1),e=((this.e||(this.e={}))[t]||[]).slice(),i=0,n=e.length;i=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i1&&void 0!==arguments[1]?arguments[1]:"";return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t;return void 0===e[n]&&(e[n]=0),e[n]++}}function x(e){f.a.config.errorHandler&&f.a.config.errorHandler(e)}function k(e){return e.then((function(e){return e.default||e}))}function D(e){return e.$options&&"function"==typeof e.$options.fetch&&!e.$options.fetch.length}function _(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=e.$children||[],o=v(r);try{for(o.s();!(t=o.n()).done;){var l=t.value;l.$fetch?n.push(l):l.$children&&_(l,n)}}catch(e){o.e(e)}finally{o.f()}return n}function C(e,t){if(t||!e.options.__hasNuxtData){var n=e.options._originDataFn||e.options.data||function(){return{}};e.options._originDataFn=n,e.options.data=function(){var data=n.call(this,this);return this.$ssrContext&&(t=this.$ssrContext.asyncData[e.cid]),m(m({},data),t)},e.options.__hasNuxtData=!0,e._Ctor&&e._Ctor.options&&(e._Ctor.options.data=e.options.data)}}function O(e){return e.options&&e._Ctor===e||(e.options?(e._Ctor=e,e.extendOptions=e.options):(e=f.a.extend(e))._Ctor=e,!e.options.name&&e.options.__file&&(e.options.name=e.options.__file)),e}function A(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"components";return Array.prototype.concat.apply([],e.matched.map((function(e,r){return Object.keys(e[n]).map((function(o){return t&&t.push(r),e[n][o]}))})))}function E(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return A(e,t,"instances")}function j(e,t){return Array.prototype.concat.apply([],e.matched.map((function(e,n){return Object.keys(e.components).reduce((function(r,o){return e.components[o]?r.push(t(e.components[o],e.instances[o],e,o,n)):delete e.components[o],r}),[])})))}function S(e,t){return Promise.all(j(e,function(){var e=Object(o.a)(regeneratorRuntime.mark((function e(n,r,o,l){var c,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof n||n.options){e.next=11;break}return e.prev=1,e.next=4,n();case 4:n=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),e.t0&&"ChunkLoadError"===e.t0.name&&"undefined"!=typeof window&&window.sessionStorage&&(c=Date.now(),(!(f=parseInt(window.sessionStorage.getItem("nuxt-reload")))||f+6e41&&void 0!==arguments[1]?arguments[1]:O,n=arguments.length>2?arguments[2]:void 0;return r.call(this,e,t,n)};var o=n.resolve.bind(n);return n.resolve=function(e,t,n){return"string"==typeof e&&(e=Object(x.e)(e)),o(e,t,n)},n}var j={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render:function(e,t){var n=t.parent,data=t.data,r=t.props,o=n.$createElement;data.nuxtChild=!0;for(var l=n,c=n.$nuxt.nuxt.transitions,f=n.$nuxt.nuxt.defaultTransition,d=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&d++,n=n.$parent;data.nuxtChildDepth=d;var h=c[d]||f,m={};S.forEach((function(e){void 0!==h[e]&&(m[e]=h[e])}));var v={};F.forEach((function(e){"function"==typeof h[e]&&(v[e]=h[e].bind(l))}));var y=v.beforeEnter;if(v.beforeEnter=function(e){if(window.$nuxt.$nextTick((function(){window.$nuxt.$emit("triggerScroll")})),y)return y.call(l,e)},!1===h.css){var w=v.leave;(!w||w.length<2)&&(v.leave=function(e,t){w&&w.call(l,e),l.$nextTick(t)})}var x=o("routerView",data);return r.keepAlive&&(x=o("keep-alive",{props:r.keepAliveProps},[x])),o("transition",{props:m,on:v},[x])}},S=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],F=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"],$={props:{error:{type:Object,required:!0}},head:function(){return{title:this.error.message}}},P=n(2),T=Object(P.a)($,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"flex flex-wrap-reverse"},[n("div",{staticClass:"w-full lg:w-3/4 py-4 lg:pt-8 lg:pb-4 dark:border-gray-800 lg:border-l lg:border-r"},[n("article",{staticClass:"lg:px-8"},[n("h1",{staticClass:"text-4xl font-black mb-4 leading-none"},[e._v(e._s(e.error.message))])])])])}),[],!1,null,null,null).exports,L=n(5),B=(n(106),n(107),{name:"Nuxt",components:{NuxtChild:j,NuxtError:T},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured:function(e){this.displayingNuxtError&&(this.errorFromNuxtError=e,this.$forceUpdate())},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(k.c)(this.$route.matched[0].path)(this.$route.params);var e=Object(L.a)(this.$route.matched,1)[0];if(!e)return this.$route.path;var t=e.components.default;if(t&&t.options){var n=t.options;if(n.key)return"function"==typeof n.key?n.key(this.$route):n.key}return/\/$/.test(e.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate:function(){c.a.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render:function(e){var t=this;return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((function(){return t.errorFromNuxtError=!1})),e("div",{},[e("h2","An error occurred while showing the error page"),e("p","Unfortunately an error occurred and while showing the error page another error occurred"),e("p","Error details: ".concat(this.errorFromNuxtError.toString())),e("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((function(){return t.displayingNuxtError=!1})),e(T,{props:{error:this.nuxt.err}})):e("NuxtChild",{key:this.routerViewKey,props:this.$props})}}),R=(n(28),n(30),n(26),n(27),n(33),n(25),{name:"NuxtLoading",data:function(){return{percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}},computed:{left:function(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy:function(){this.clear()},methods:{clear:function(){clearInterval(this._timer),clearTimeout(this._throttle),this._timer=null},start:function(){var e=this;return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((function(){return e.startTimer()}),this.throttle):this.startTimer(),this},set:function(e){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(e))),this},get:function(){return this.percent},increase:function(e){return this.percent=Math.min(100,Math.floor(this.percent+e)),this},decrease:function(e){return this.percent=Math.max(0,Math.floor(this.percent-e)),this},pause:function(){return clearInterval(this._timer),this},resume:function(){return this.startTimer(),this},finish:function(){return this.percent=this.reversed?0:100,this.hide(),this},hide:function(){var e=this;return this.clear(),setTimeout((function(){e.show=!1,e.$nextTick((function(){e.percent=0,e.reversed=!1}))}),500),this},fail:function(e){return this.canSucceed=!1,this},startTimer:function(){var e=this;this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((function(){e.skipTimerCount>0?e.skipTimerCount--:(e.reversed?e.decrease(e._cut):e.increase(e._cut),e.continuous&&(e.percent>=100||e.percent<=0)&&(e.skipTimerCount=1,e.reversed=!e.reversed))}),100)}},render:function(e){var t=e(!1);return this.show&&(t=e("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),t}}),I=(n(197),Object(P.a)(R,undefined,undefined,!1,null,null,null).exports),M=(n(199),n(201),n(203),n(35));function z(object,e){var t=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(object,e).enumerable}))),t.push.apply(t,n)}return t}function N(e){for(var i=1;i=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i0},isPreview:function(){return Boolean(this.$options.previewData)}},methods:{refreshOnlineStatus:function(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},refresh:function(){var e=this;return Object(o.a)(regeneratorRuntime.mark((function t(){var n,r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((n=Object(k.i)(e.$route)).length){t.next=3;break}return t.abrupt("return");case 3:return e.$loading.start(),r=n.map((function(t){var p=[];if(t.$options.fetch&&t.$options.fetch.length&&p.push(Object(k.q)(t.$options.fetch,e.context)),t.$fetch)p.push(t.$fetch());else{var n,r=Y(Object(k.f)(t.$vnode.componentInstance));try{for(r.s();!(n=r.n()).done;){var component=n.value;p.push(component.$fetch())}}catch(e){r.e(e)}finally{r.f()}}return t.$options.asyncData&&p.push(Object(k.q)(t.$options.asyncData,e.context).then((function(e){for(var n in e)c.a.set(t.$data,n,e[n])}))),Promise.all(p)})),t.prev=5,t.next=8,Promise.all(r);case 8:t.next=15;break;case 10:t.prev=10,t.t0=t.catch(5),e.$loading.fail(t.t0),Object(k.l)(t.t0),e.error(t.t0);case 15:e.$loading.finish();case 16:case"end":return t.stop()}}),t,null,[[5,10]])})))()},errorChanged:function(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());var e=(T.options||T).layout;"function"==typeof e&&(e=e(this.context)),this.setLayout(e)}},setLayout:function(e){return e&&Q["_"+e]||(e="default"),this.layoutName=e,this.layout=Q["_"+e],this.layout},loadLayout:function(e){return e&&Q["_"+e]||(e="default"),Promise.resolve(Q["_"+e])},getRouterBase:function(){return Object(x.j)(this.$router.options.base)},getRoutePath:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",base=this.getRouterBase();return Object(x.j)(Object(x.i)(Object(x.f)(e).pathname,base))},getStaticAssetsPath:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",t=window.__NUXT__.staticAssetsBase;return Object(k.v)(t,this.getRoutePath(e))},fetchStaticManifest:function(){var e=this;return Object(o.a)(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",window.__NUXT_IMPORT__("manifest.js",Object(x.e)(Object(k.v)(e.getStaticAssetsPath(),"manifest.js"))));case 1:case"end":return t.stop()}}),t)})))()},setPagePayload:function(e){this._pagePayload=e,this._fetchCounters={}},fetchPayload:function(e,t){var n=this;return Object(o.a)(regeneratorRuntime.mark((function r(){var path,o,l;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return path=Object(x.a)(n.getRoutePath(e)),r.next=3,n.fetchStaticManifest();case 3:if(r.sent.routes.includes(path)){r.next=7;break}throw t||n.setPagePayload(!1),new Error("Route ".concat(path," is not pre-rendered"));case 7:return o=Object(k.v)(n.getStaticAssetsPath(e),"payload.js"),r.prev=8,r.next=11,window.__NUXT_IMPORT__(path,Object(x.e)(o));case 11:return l=r.sent,t||n.setPagePayload(l),r.abrupt("return",l);case 16:throw r.prev=16,r.t0=r.catch(8),t||n.setPagePayload(!1),r.t0;case 20:case"end":return r.stop()}}),r,null,[[8,16]])})))()}},components:{NuxtLoading:I}};n(47);function te(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ne(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ne(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i2&&void 0!==arguments[2]?arguments[2]:{},r=n.isProperty,o=void 0!==r&&r;if(!t.length||o&&1===t.length)return e;var l=t.shift();return e.modules[l]=e.modules[l]||{},e.modules[l].namespaced=!0,e.modules[l].modules=e.modules[l].modules||{},ue(e.modules[l],t,{isProperty:o})}function le(e,t,n){t&&("state"===n?e.state=t||e.state:e[n]=Object.assign({},e[n],t))}var se=function(){return Promise.resolve().then(n.bind(null,153)).then((function(e){return Ke(e.default||e)}))},ce=function(){return n.e(3).then(n.bind(null,281)).then((function(e){return Ke(e.default||e)}))},fe=function(){return n.e(7).then(n.bind(null,250)).then((function(e){return Ke(e.default||e)}))},pe=function(){return n.e(8).then(n.bind(null,282)).then((function(e){return Ke(e.default||e)}))},de=function(){return n.e(9).then(n.bind(null,283)).then((function(e){return Ke(e.default||e)}))},he=function(){return n.e(10).then(n.bind(null,284)).then((function(e){return Ke(e.default||e)}))},ge=function(){return n.e(21).then(n.bind(null,285)).then((function(e){return Ke(e.default||e)}))},me=function(){return Promise.resolve().then(n.bind(null,235)).then((function(e){return Ke(e.default||e)}))},be=function(){return Promise.resolve().then(n.bind(null,234)).then((function(e){return Ke(e.default||e)}))},ve=function(){return n.e(11).then(n.bind(null,239)).then((function(e){return Ke(e.default||e)}))},ye=function(){return n.e(12).then(n.bind(null,240)).then((function(e){return Ke(e.default||e)}))},we=function(){return n.e(13).then(n.bind(null,286)).then((function(e){return Ke(e.default||e)}))},xe=function(){return n.e(14).then(n.bind(null,287)).then((function(e){return Ke(e.default||e)}))},ke=function(){return Promise.resolve().then(n.bind(null,228)).then((function(e){return Ke(e.default||e)}))},De=function(){return n.e(15).then(n.bind(null,248)).then((function(e){return Ke(e.default||e)}))},_e=function(){return n.e(16).then(n.bind(null,249)).then((function(e){return Ke(e.default||e)}))},Ce=function(){return n.e(17).then(n.bind(null,288)).then((function(e){return Ke(e.default||e)}))},Oe=function(){return n.e(18).then(n.bind(null,238)).then((function(e){return Ke(e.default||e)}))},Ae=function(){return Promise.resolve().then(n.bind(null,152)).then((function(e){return Ke(e.default||e)}))},Ee=function(){return n.e(19).then(n.bind(null,289)).then((function(e){return Ke(e.default||e)}))},je=function(){return Promise.resolve().then(n.bind(null,230)).then((function(e){return Ke(e.default||e)}))},Se=function(){return Promise.resolve().then(n.bind(null,233)).then((function(e){return Ke(e.default||e)}))},Fe=function(){return Promise.resolve().then(n.bind(null,227)).then((function(e){return Ke(e.default||e)}))},$e=function(){return Promise.resolve().then(n.bind(null,232)).then((function(e){return Ke(e.default||e)}))},Pe=function(){return Promise.resolve().then(n.bind(null,231)).then((function(e){return Ke(e.default||e)}))},Te=function(){return Promise.resolve().then(n.bind(null,151)).then((function(e){return Ke(e.default||e)}))},Le=function(){return Promise.resolve().then(n.bind(null,229)).then((function(e){return Ke(e.default||e)}))},Be=function(){return n.e(20).then(n.bind(null,290)).then((function(e){return Ke(e.default||e)}))},Re=function(){return n.e(0).then(n.bind(null,273)).then((function(e){return Ke(e.default||e)}))},Ie=function(){return Promise.resolve().then(n.bind(null,224)).then((function(e){return Ke(e.default||e)}))},Me=function(){return Promise.resolve().then(n.bind(null,150)).then((function(e){return Ke(e.default||e)}))},ze=function(){return Promise.resolve().then(n.bind(null,147)).then((function(e){return Ke(e.default||e)}))},Ne=function(){return Promise.resolve().then(n.bind(null,149)).then((function(e){return Ke(e.default||e)}))},Ue=function(){return Promise.resolve().then(n.bind(null,226)).then((function(e){return Ke(e.default||e)}))},qe=function(){return n.e(4).then(n.bind(null,246)).then((function(e){return Ke(e.default||e)}))},He=function(){return n.e(5).then(n.bind(null,247)).then((function(e){return Ke(e.default||e)}))},We=function(){return Promise.resolve().then(n.bind(null,148)).then((function(e){return Ke(e.default||e)}))},Ve=function(){return Promise.resolve().then(n.bind(null,225)).then((function(e){return Ke(e.default||e)}))},Xe=function(){return n.e(6).then(n.bind(null,237)).then((function(e){return Ke(e.default||e)}))};function Ke(e){if(!e||!e.functional)return e;var t=Array.isArray(e.props)?e.props:Object.keys(e.props||{});return{render:function(n){var r={},o={};for(var l in this.$attrs)t.includes(l)?o[l]=this.$attrs[l]:r[l]=this.$attrs[l];return n(e,{on:this.$listeners,attrs:r,props:o,scopedSlots:this.$scopedSlots},this.$slots.default)}}}for(var Ge in r)c.a.component(Ge,r[Ge]),c.a.component("Lazy"+Ge,r[Ge]);var Ze=n(14),Ye=(n(48),n(75),n(111)),Je=n.n(Ye);function Qe(object,e){var t=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(object,e).enumerable}))),t.push.apply(t,n)}return t}function et(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return tt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function Ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i1&&r.sort((function(e,t){return e.score===t.score?t.code.length-e.code.length:t.score-e.score})),r.length?r[0].code:void 0}function jt(e,t){var n;if(n=window.location.host){var r=e.find((function(e){return e.domain===n}));if(r)return r.code}return""}function St(e){return new RegExp("^/(".concat(e.join("|"),")(?:/|$)"),"i")}function Ft(e,t){var n=t.routesNameSeparator,r=t.defaultLocaleRouteNameSuffix,o="(".concat(e.join("|"),")"),l="(?:".concat(n).concat(r,")?"),c=new RegExp("".concat(n).concat(o).concat(l,"$"),"i"),f=St(e);return function(e){if(e.name){var t=e.name.match(c);if(t&&t.length>1)return t[1]}else if(e.path){var n=e.path.match(f);if(n&&n.length>1)return n[1]}return""}}function $t(e,t){var n,r=t.useCookie,o=t.cookieKey,l=t.localeCodes;if(r&&((n=_t.a.get(o))&&l.includes(n)))return n}function Pt(e,t,n){var r=n.useCookie,o=n.cookieDomain,l=n.cookieKey,c=n.cookieSecure,f=n.cookieCrossOrigin;if(r){var d=new Date,h={expires:new Date(d.setDate(d.getDate()+365)),path:"/",sameSite:f?"none":"lax",secure:f||c};o&&(h.domain=o),_t.a.set(l,e,h)}}function Tt(object,e){var t=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(object,e).enumerable}))),t.push.apply(t,n)}return t}function Lt(e){for(var i=1;i1&&void 0!==l[1]?l[1]:null,r=l.length>2&&void 0!==l[2]?l[2]:null,!(o=l.length>3?l[3]:void 0)||!t){e.next=10;break}if(null===n||!o.syncLocale){e.next=7;break}return e.next=7,t.dispatch(o.moduleName+"/setLocale",n);case 7:if(null===r||!o.syncMessages){e.next=10;break}return e.next=10,t.dispatch(o.moduleName+"/setMessages",r);case 10:case"end":return e.stop()}}),e)}))),Ut.apply(this,arguments)}var qt=n(163),Ht=n(63),Wt=function(){var e=Object(o.a)(regeneratorRuntime.mark((function e(t){var n,r,o,l,c,f,d;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.app,!t.isHMR){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,n.i18n.__onNavigate(t.route);case 5:r=e.sent,o=Object(L.a)(r,3),l=o[0],c=o[1],f=o[2],l&&c&&(d=f?t.route.query:void 0,t.redirect(l,c,d));case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();Ht.a.nuxti18n=Wt;var Vt=["params"];function Xt(object,e){var t=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(object,e).enumerable}))),t.push.apply(t,n)}return t}function Kt(e){for(var i=1;i/g,">").replace(/"/g,""").replace(/'/g,"'"))})),e}var _n={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(e,t){var data=t.data,n=t.parent,r=t.props,o=t.slots,l=n.$i18n;if(l){var path=r.path,c=r.locale,f=r.places,d=o(),h=l.i(path,c,function(e){var t;for(t in e)if("default"!==t)return!1;return Boolean(t)}(d)||f?function(e,t){var n=t?function(e){0;return Array.isArray(e)?e.reduce(On,{}):Object.assign({},e)}(t):{};if(!e)return n;var r=(e=e.filter((function(e){return e.tag||""!==e.text.trim()}))).every(An);0;return e.reduce(r?Cn:On,n)}(d.default,f):d),m=r.tag&&!0!==r.tag||!1===r.tag?r.tag:"span";return m?e(m,data,h):h}}};function Cn(e,t){return t.data&&t.data.attrs&&t.data.attrs.place&&(e[t.data.attrs.place]=t),e}function On(e,t,n){return e[n]=t,e}function An(e){return Boolean(e.data&&e.data.attrs&&e.data.attrs.place)}var En,jn={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(e,t){var n=t.props,r=t.parent,data=t.data,o=r.$i18n;if(!o)return null;var l=null,c=null;fn(n.format)?l=n.format:cn(n.format)&&(n.format.key&&(l=n.format.key),c=Object.keys(n.format).reduce((function(e,t){var r;return vn(un,t)?Object.assign({},e,((r={})[t]=n.format[t],r)):e}),null));var f=n.locale||o.locale,d=o._ntp(n.value,f,l,c),h=d.map((function(e,t){var n,slot=data.scopedSlots&&data.scopedSlots[e.type];return slot?slot(((n={})[e.type]=e.value,n.index=t,n.parts=d,n)):e.value})),m=n.tag&&!0!==n.tag||!1===n.tag?n.tag:"span";return m?e(m,{attrs:data.attrs,class:data.class,staticClass:data.staticClass},h):h}};function Sn(e,t,n){Pn(e,n)&&Tn(e,t,n)}function Fn(e,t,n,r){if(Pn(e,n)){var o=n.context.$i18n;(function(e,t){var n=t.context;return e._locale===n.$i18n.locale})(e,n)&&kn(t.value,t.oldValue)&&kn(e._localeMessage,o.getLocaleMessage(o.locale))||Tn(e,t,n)}}function $n(e,t,n,r){if(n.context){var o=n.context.$i18n||{};t.modifiers.preserve||o.preserveDirectiveContent||(e.textContent=""),e._vt=void 0,delete e._vt,e._locale=void 0,delete e._locale,e._localeMessage=void 0,delete e._localeMessage}else ln("Vue instance does not exists in VNode context")}function Pn(e,t){var n=t.context;return n?!!n.$i18n||(ln("VueI18n instance does not exists in Vue instance"),!1):(ln("Vue instance does not exists in VNode context"),!1)}function Tn(e,t,n){var r,o,l=function(e){var path,t,n,r;fn(e)?path=e:dn(e)&&(path=e.path,t=e.locale,n=e.args,r=e.choice);return{path:path,locale:t,args:n,choice:r}}(t.value),path=l.path,c=l.locale,f=l.args,d=l.choice;if(path||c||f)if(path){var h=n.context;e._vt=e.textContent=null!=d?(r=h.$i18n).tc.apply(r,[path,d].concat(Ln(c,f))):(o=h.$i18n).t.apply(o,[path].concat(Ln(c,f))),e._locale=h.$i18n.locale,e._localeMessage=h.$i18n.getLocaleMessage(h.$i18n.locale)}else ln("`path` is required in v-t directive");else ln("value type not supported")}function Ln(e,t){var n=[];return e&&n.push(e),t&&(Array.isArray(t)||dn(t))&&n.push(t),n}function Bn(e,t){void 0===t&&(t={bridge:!1}),Bn.installed=!0;(En=e).version&&Number(En.version.split(".")[0]);(function(e){e.prototype.hasOwnProperty("$i18n")||Object.defineProperty(e.prototype,"$i18n",{get:function(){return this._i18n}}),e.prototype.$t=function(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];var r=this.$i18n;return r._t.apply(r,[e,r.locale,r._getMessages(),this].concat(t))},e.prototype.$tc=function(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];var o=this.$i18n;return o._tc.apply(o,[e,o.locale,o._getMessages(),this,t].concat(n))},e.prototype.$te=function(e,t){var n=this.$i18n;return n._te(e,n.locale,n._getMessages(),t)},e.prototype.$d=function(e){for(var t,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(t=this.$i18n).d.apply(t,[e].concat(n))},e.prototype.$n=function(e){for(var t,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(t=this.$i18n).n.apply(t,[e].concat(n))}})(En),En.mixin(function(e){function t(){this!==this.$root&&this.$options.__INTLIFY_META__&&this.$el&&this.$el.setAttribute("data-intlify",this.$options.__INTLIFY_META__)}return void 0===e&&(e=!1),e?{mounted:t}:{beforeCreate:function(){var e=this.$options;if(e.i18n=e.i18n||(e.__i18nBridge||e.__i18n?{}:null),e.i18n){if(e.i18n instanceof Jn){if(e.__i18nBridge||e.__i18n)try{var t=e.i18n&&e.i18n.messages?e.i18n.messages:{};(e.__i18nBridge||e.__i18n).forEach((function(e){t=xn(t,JSON.parse(e))})),Object.keys(t).forEach((function(n){e.i18n.mergeLocaleMessage(n,t[n])}))}catch(e){}this._i18n=e.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(dn(e.i18n)){var n=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Jn?this.$root.$i18n:null;if(n&&(e.i18n.root=this.$root,e.i18n.formatter=n.formatter,e.i18n.fallbackLocale=n.fallbackLocale,e.i18n.formatFallbackMessages=n.formatFallbackMessages,e.i18n.silentTranslationWarn=n.silentTranslationWarn,e.i18n.silentFallbackWarn=n.silentFallbackWarn,e.i18n.pluralizationRules=n.pluralizationRules,e.i18n.preserveDirectiveContent=n.preserveDirectiveContent),e.__i18nBridge||e.__i18n)try{var r=e.i18n&&e.i18n.messages?e.i18n.messages:{};(e.__i18nBridge||e.__i18n).forEach((function(e){r=xn(r,JSON.parse(e))})),e.i18n.messages=r}catch(e){}var o=e.i18n.sharedMessages;o&&dn(o)&&(e.i18n.messages=xn(e.i18n.messages,o)),this._i18n=new Jn(e.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(void 0===e.i18n.sync||e.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),n&&n.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Jn?this._i18n=this.$root.$i18n:e.parent&&e.parent.$i18n&&e.parent.$i18n instanceof Jn&&(this._i18n=e.parent.$i18n)},beforeMount:function(){var e=this.$options;e.i18n=e.i18n||(e.__i18nBridge||e.__i18n?{}:null),e.i18n?(e.i18n instanceof Jn||dn(e.i18n))&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Jn||e.parent&&e.parent.$i18n&&e.parent.$i18n instanceof Jn)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},mounted:t,beforeDestroy:function(){if(this._i18n){var e=this;this.$nextTick((function(){e._subscribing&&(e._i18n.unsubscribeDataChanging(e),delete e._subscribing),e._i18nWatcher&&(e._i18nWatcher(),e._i18n.destroyVM(),delete e._i18nWatcher),e._localeWatcher&&(e._localeWatcher(),delete e._localeWatcher)}))}}}}(t.bridge)),En.directive("t",{bind:Sn,update:Fn,unbind:$n}),En.component(_n.name,_n),En.component(jn.name,jn),En.config.optionMergeStrategies.i18n=function(e,t){return void 0===t?e:t}}var Rn=function(){this._caches=Object.create(null)};Rn.prototype.interpolate=function(e,t){if(!t)return[e];var n=this._caches[e];return n||(n=function(e){var t=[],n=0,text="";for(;n0)m--,h=4,v[0]();else{if(m=0,void 0===t)return!1;if(!1===(t=qn(t)))return!1;v[1]()}};null!==h;)if(d++,"\\"!==(e=path[d])||!y()){if(r=Un(e),8===(o=(c=zn[h])[r]||c.else||8))return;if(h=o[0],(l=v[o[1]])&&(n=void 0===(n=o[2])?e:n,!1===l()))return;if(7===h)return f}}(path),e&&(this._cache[path]=e)),e||[]},Hn.prototype.getPathValue=function(e,path){if(!cn(e))return null;var t=this.parsePath(path);if(0===t.length)return null;for(var n=t.length,r=e,i=0;i/,Xn=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|./]+|\([\w\-_|./]+\)))/g,Kn=/^@(?:\.([a-z]+))?:/,Gn=/[()]/g,Zn={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()},capitalize:function(e){return""+e.charAt(0).toLocaleUpperCase()+e.substr(1)}},Yn=new Rn,Jn=function(e){var t=this;void 0===e&&(e={}),!En&&"undefined"!=typeof window&&window.Vue&&Bn(window.Vue);var n=e.locale||"en-US",r=!1!==e.fallbackLocale&&(e.fallbackLocale||"en-US"),o=e.messages||{},l=e.dateTimeFormats||e.datetimeFormats||{},c=e.numberFormats||{};this._vm=null,this._formatter=e.formatter||Yn,this._modifiers=e.modifiers||{},this._missing=e.missing||null,this._root=e.root||null,this._sync=void 0===e.sync||!!e.sync,this._fallbackRoot=void 0===e.fallbackRoot||!!e.fallbackRoot,this._formatFallbackMessages=void 0!==e.formatFallbackMessages&&!!e.formatFallbackMessages,this._silentTranslationWarn=void 0!==e.silentTranslationWarn&&e.silentTranslationWarn,this._silentFallbackWarn=void 0!==e.silentFallbackWarn&&!!e.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new Hn,this._dataListeners=new Set,this._componentInstanceCreatedListener=e.componentInstanceCreatedListener||null,this._preserveDirectiveContent=void 0!==e.preserveDirectiveContent&&!!e.preserveDirectiveContent,this.pluralizationRules=e.pluralizationRules||{},this._warnHtmlInMessage=e.warnHtmlInMessage||"off",this._postTranslation=e.postTranslation||null,this._escapeParameterHtml=e.escapeParameterHtml||!1,"__VUE_I18N_BRIDGE__"in e&&(this.__VUE_I18N_BRIDGE__=e.__VUE_I18N_BRIDGE__),this.getChoiceIndex=function(e,n){var r=Object.getPrototypeOf(t);if(r&&r.getChoiceIndex)return r.getChoiceIndex.call(t,e,n);var o,l;return t.locale in t.pluralizationRules?t.pluralizationRules[t.locale].apply(t,[e,n]):(o=e,l=n,o=Math.abs(o),2===l?o?o>1?1:0:1:o?Math.min(o,2):0)},this._exist=function(e,n){return!(!e||!n)&&(!hn(t._path.getPathValue(e,n))||!!e[n])},"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||Object.keys(o).forEach((function(e){t._checkLocaleMessage(e,t._warnHtmlInMessage,o[e])})),this._initVM({locale:n,fallbackLocale:r,messages:o,dateTimeFormats:l,numberFormats:c})},Qn={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0},sync:{configurable:!0}};Jn.prototype._checkLocaleMessage=function(e,t,n){var r=function(e,t,n,o){if(dn(n))Object.keys(n).forEach((function(l){var c=n[l];dn(c)?(o.push(l),o.push("."),r(e,t,c,o),o.pop(),o.pop()):(o.push(l),r(e,t,c,o),o.pop())}));else if(sn(n))n.forEach((function(n,l){dn(n)?(o.push("["+l+"]"),o.push("."),r(e,t,n,o),o.pop(),o.pop()):(o.push("["+l+"]"),r(e,t,n,o),o.pop())}));else if(fn(n)){if(Vn.test(n)){var l="Detected HTML in message '"+n+"' of keypath '"+o.join("")+"' at '"+t+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";"warn"===e?ln(l):"error"===e&&function(e,t){"undefined"!=typeof console&&(console.error("[vue-i18n] "+e),t&&console.error(t.stack))}(l)}}};r(t,e,n,[])},Jn.prototype._initVM=function(data){var e=En.config.silent;En.config.silent=!0,this._vm=new En({data:data,__VUE18N__INSTANCE__:!0}),En.config.silent=e},Jn.prototype.destroyVM=function(){this._vm.$destroy()},Jn.prototype.subscribeDataChanging=function(e){this._dataListeners.add(e)},Jn.prototype.unsubscribeDataChanging=function(e){!function(e,t){if(e.delete(t));}(this._dataListeners,e)},Jn.prototype.watchI18nData=function(){var e=this;return this._vm.$watch("$data",(function(){for(var t,n,r=(t=e._dataListeners,n=[],t.forEach((function(a){return n.push(a)})),n),i=r.length;i--;)En.nextTick((function(){r[i]&&r[i].$forceUpdate()}))}),{deep:!0})},Jn.prototype.watchLocale=function(e){if(e){if(!this.__VUE_I18N_BRIDGE__)return null;var t=this,n=this._vm;return this.vm.$watch("locale",(function(r){n.$set(n,"locale",r),t.__VUE_I18N_BRIDGE__&&e&&(e.locale.value=r),n.$forceUpdate()}),{immediate:!0})}if(!this._sync||!this._root)return null;var r=this._vm;return this._root.$i18n.vm.$watch("locale",(function(e){r.$set(r,"locale",e),r.$forceUpdate()}),{immediate:!0})},Jn.prototype.onComponentInstanceCreated=function(e){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(e,this)},Qn.vm.get=function(){return this._vm},Qn.messages.get=function(){return bn(this._getMessages())},Qn.dateTimeFormats.get=function(){return bn(this._getDateTimeFormats())},Qn.numberFormats.get=function(){return bn(this._getNumberFormats())},Qn.availableLocales.get=function(){return Object.keys(this.messages).sort()},Qn.locale.get=function(){return this._vm.locale},Qn.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},Qn.fallbackLocale.get=function(){return this._vm.fallbackLocale},Qn.fallbackLocale.set=function(e){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",e)},Qn.formatFallbackMessages.get=function(){return this._formatFallbackMessages},Qn.formatFallbackMessages.set=function(e){this._formatFallbackMessages=e},Qn.missing.get=function(){return this._missing},Qn.missing.set=function(e){this._missing=e},Qn.formatter.get=function(){return this._formatter},Qn.formatter.set=function(e){this._formatter=e},Qn.silentTranslationWarn.get=function(){return this._silentTranslationWarn},Qn.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},Qn.silentFallbackWarn.get=function(){return this._silentFallbackWarn},Qn.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},Qn.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},Qn.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},Qn.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},Qn.warnHtmlInMessage.set=function(e){var t=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,n!==e&&("warn"===e||"error"===e)){var r=this._getMessages();Object.keys(r).forEach((function(e){t._checkLocaleMessage(e,t._warnHtmlInMessage,r[e])}))}},Qn.postTranslation.get=function(){return this._postTranslation},Qn.postTranslation.set=function(e){this._postTranslation=e},Qn.sync.get=function(){return this._sync},Qn.sync.set=function(e){this._sync=e},Jn.prototype._getMessages=function(){return this._vm.messages},Jn.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},Jn.prototype._getNumberFormats=function(){return this._vm.numberFormats},Jn.prototype._warnDefault=function(e,t,n,r,o,l){if(!hn(n))return n;if(this._missing){var c=this._missing.apply(null,[e,t,r,o]);if(fn(c))return c}else 0;if(this._formatFallbackMessages){var f=mn.apply(void 0,o);return this._render(t,l,f.params,t)}return t},Jn.prototype._isFallbackRoot=function(e){return!e&&!hn(this._root)&&this._fallbackRoot},Jn.prototype._isSilentFallbackWarn=function(e){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(e):this._silentFallbackWarn},Jn.prototype._isSilentFallback=function(e,t){return this._isSilentFallbackWarn(t)&&(this._isFallbackRoot()||e!==this.fallbackLocale)},Jn.prototype._isSilentTranslationWarn=function(e){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(e):this._silentTranslationWarn},Jn.prototype._interpolate=function(e,t,n,r,o,l,c){if(!t)return null;var f,d=this._path.getPathValue(t,n);if(sn(d)||dn(d))return d;if(hn(d)){if(!dn(t))return null;if(!fn(f=t[n])&&!gn(f))return null}else{if(!fn(d)&&!gn(d))return null;f=d}return fn(f)&&(f.indexOf("@:")>=0||f.indexOf("@.")>=0)&&(f=this._link(e,t,f,r,"raw",l,c)),this._render(f,o,l,n)},Jn.prototype._link=function(e,t,n,r,o,l,c){var f=n,d=f.match(Xn);for(var h in d)if(d.hasOwnProperty(h)){var link=d[h],m=link.match(Kn),v=m[0],y=m[1],w=link.replace(v,"").replace(Gn,"");if(vn(c,w))return f;c.push(w);var x=this._interpolate(e,t,w,r,"raw"===o?"string":o,"raw"===o?void 0:l,c);if(this._isFallbackRoot(x)){if(!this._root)throw Error("unexpected error");var k=this._root.$i18n;x=k._translate(k._getMessages(),k.locale,k.fallbackLocale,w,r,o,l)}x=this._warnDefault(e,w,x,r,sn(l)?l:[l],o),this._modifiers.hasOwnProperty(y)?x=this._modifiers[y](x):Zn.hasOwnProperty(y)&&(x=Zn[y](x)),c.pop(),f=x?f.replace(link,x):f}return f},Jn.prototype._createMessageContext=function(e,t,path,n){var r=this,o=sn(e)?e:[],l=cn(e)?e:{},c=this._getMessages(),f=this.locale;return{list:function(e){return o[e]},named:function(e){return l[e]},values:e,formatter:t,path:path,messages:c,locale:f,linked:function(e){return r._interpolate(f,c[f]||{},e,null,n,void 0,[e])}}},Jn.prototype._render=function(e,t,n,path){if(gn(e))return e(this._createMessageContext(n,this._formatter||Yn,path,t));var r=this._formatter.interpolate(e,n,path);return r||(r=Yn.interpolate(e,n,path)),"string"!==t||fn(r)?r:r.join("")},Jn.prototype._appendItemToChain=function(e,t,n){var r=!1;return vn(e,t)||(r=!0,t&&(r="!"!==t[t.length-1],t=t.replace(/!/g,""),e.push(t),n&&n[t]&&(r=n[t]))),r},Jn.prototype._appendLocaleToChain=function(e,t,n){var r,o=t.split("-");do{var l=o.join("-");r=this._appendItemToChain(e,l,n),o.splice(-1,1)}while(o.length&&!0===r);return r},Jn.prototype._appendBlockToChain=function(e,t,n){for(var r=!0,i=0;i0;)l[c]=arguments[c+4];if(!e)return"";var f=mn.apply(void 0,l);this._escapeParameterHtml&&(f.params=Dn(f.params));var d=f.locale||t,h=this._translate(n,d,this.fallbackLocale,e,r,"string",f.params);if(this._isFallbackRoot(h)){if(!this._root)throw Error("unexpected error");return(o=this._root).$t.apply(o,[e].concat(l))}return h=this._warnDefault(d,e,h,r,l,"string"),this._postTranslation&&null!=h&&(h=this._postTranslation(h,e)),h},Jn.prototype.t=function(e){for(var t,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(t=this)._t.apply(t,[e,this.locale,this._getMessages(),null].concat(n))},Jn.prototype._i=function(e,t,n,r,o){var l=this._translate(n,t,this.fallbackLocale,e,r,"raw",o);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(e,t,o)}return this._warnDefault(t,e,l,r,[o],"raw")},Jn.prototype.i=function(e,t,n){return e?(fn(t)||(t=this.locale),this._i(e,t,this._getMessages(),null,n)):""},Jn.prototype._tc=function(e,t,n,r,o){for(var l,c=[],f=arguments.length-5;f-- >0;)c[f]=arguments[f+5];if(!e)return"";void 0===o&&(o=1);var d={count:o,n:o},h=mn.apply(void 0,c);return h.params=Object.assign(d,h.params),c=null===h.locale?[h.params]:[h.locale,h.params],this.fetchChoice((l=this)._t.apply(l,[e,t,n,r].concat(c)),o)},Jn.prototype.fetchChoice=function(e,t){if(!e||!fn(e))return null;var n=e.split("|");return n[t=this.getChoiceIndex(t,n.length)]?n[t].trim():e},Jn.prototype.tc=function(e,t){for(var n,r=[],o=arguments.length-2;o-- >0;)r[o]=arguments[o+2];return(n=this)._tc.apply(n,[e,this.locale,this._getMessages(),null,t].concat(r))},Jn.prototype._te=function(e,t,n){for(var r=[],o=arguments.length-3;o-- >0;)r[o]=arguments[o+3];var l=mn.apply(void 0,r).locale||t;return this._exist(n[l],e)},Jn.prototype.te=function(e,t){return this._te(e,this.locale,this._getMessages(),t)},Jn.prototype.getLocaleMessage=function(e){return bn(this._vm.messages[e]||{})},Jn.prototype.setLocaleMessage=function(e,t){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(e,this._warnHtmlInMessage,t),this._vm.$set(this._vm.messages,e,t)},Jn.prototype.mergeLocaleMessage=function(e,t){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(e,this._warnHtmlInMessage,t),this._vm.$set(this._vm.messages,e,xn(void 0!==this._vm.messages[e]&&Object.keys(this._vm.messages[e]).length?Object.assign({},this._vm.messages[e]):{},t))},Jn.prototype.getDateTimeFormat=function(e){return bn(this._vm.dateTimeFormats[e]||{})},Jn.prototype.setDateTimeFormat=function(e,t){this._vm.$set(this._vm.dateTimeFormats,e,t),this._clearDateTimeFormat(e,t)},Jn.prototype.mergeDateTimeFormat=function(e,t){this._vm.$set(this._vm.dateTimeFormats,e,xn(this._vm.dateTimeFormats[e]||{},t)),this._clearDateTimeFormat(e,t)},Jn.prototype._clearDateTimeFormat=function(e,t){for(var n in t){var r=e+"__"+n;this._dateTimeFormatters.hasOwnProperty(r)&&delete this._dateTimeFormatters[r]}},Jn.prototype._localizeDateTime=function(e,t,n,r,o){for(var l=t,c=r[l],f=this._getLocaleChain(t,n),i=0;i0;)t[n]=arguments[n+1];var r=this.locale,o=null;return 1===t.length?fn(t[0])?o=t[0]:cn(t[0])&&(t[0].locale&&(r=t[0].locale),t[0].key&&(o=t[0].key)):2===t.length&&(fn(t[0])&&(o=t[0]),fn(t[1])&&(r=t[1])),this._d(e,r,o)},Jn.prototype.getNumberFormat=function(e){return bn(this._vm.numberFormats[e]||{})},Jn.prototype.setNumberFormat=function(e,t){this._vm.$set(this._vm.numberFormats,e,t),this._clearNumberFormat(e,t)},Jn.prototype.mergeNumberFormat=function(e,t){this._vm.$set(this._vm.numberFormats,e,xn(this._vm.numberFormats[e]||{},t)),this._clearNumberFormat(e,t)},Jn.prototype._clearNumberFormat=function(e,t){for(var n in t){var r=e+"__"+n;this._numberFormatters.hasOwnProperty(r)&&delete this._numberFormatters[r]}},Jn.prototype._getNumberFormatter=function(e,t,n,r,o,l){for(var c=t,f=r[c],d=this._getLocaleChain(t,n),i=0;i0;)t[n]=arguments[n+1];var r=this.locale,o=null,l=null;return 1===t.length?fn(t[0])?o=t[0]:cn(t[0])&&(t[0].locale&&(r=t[0].locale),t[0].key&&(o=t[0].key),l=Object.keys(t[0]).reduce((function(e,n){var r;return vn(un,n)?Object.assign({},e,((r={})[n]=t[0][n],r)):e}),null)):2===t.length&&(fn(t[0])&&(o=t[0]),fn(t[1])&&(r=t[1])),this._n(e,r,o,l)},Jn.prototype._ntp=function(e,t,n,r){if(!Jn.availabilities.numberFormat)return[];if(!n)return(r?new Intl.NumberFormat(t,r):new Intl.NumberFormat(t)).formatToParts(e);var o=this._getNumberFormatter(e,t,this.fallbackLocale,this._getNumberFormats(),n,r),l=o&&o.formatToParts(e);if(this._isFallbackRoot(l)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(e,t,n,r)}return l||[]},Object.defineProperties(Jn.prototype,Qn),Object.defineProperty(Jn,"availabilities",{get:function(){if(!Wn){var e="undefined"!=typeof Intl;Wn={dateTimeFormat:e&&void 0!==Intl.DateTimeFormat,numberFormat:e&&void 0!==Intl.NumberFormat}}return Wn}}),Jn.install=Bn,Jn.version="8.26.7";var er=Jn;n(221);function nr(object,e){var t=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(object,e).enumerable}))),t.push.apply(t,n)}return t}function rr(e){for(var i=1;i=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function ar(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i0&&void 0!==arguments[0]?arguments[0]:{},t=e.addDirAttribute,n=void 0===t||t,r=e.addSeoAttributes,o=void 0!==r&&r;if(!this.$i18n)return{};var l={htmlAttrs:{},link:[],meta:[]},c=this.$i18n.localeProperties,f=c.iso,h=c.dir||xt.defaultDirection;if(n&&(l.htmlAttrs.dir=h),o&&(d.a.hasMetaInfo?d.a.hasMetaInfo(this):this._hasMetaInfo)&&this.$i18n.locale&&this.$i18n.locales&&!1!==this.$options[vt.COMPONENT_OPTIONS_KEY]&&(!this.$options[vt.COMPONENT_OPTIONS_KEY]||!1!==this.$options[vt.COMPONENT_OPTIONS_KEY].seo)){f&&(l.htmlAttrs.lang=f);var m=this.$i18n.locales;v.bind(this)(m,this.$i18n.__baseUrl,l.link),y.bind(this)(this.$i18n.__baseUrl,l.link),w.bind(this)(c,f,l.meta),x.bind(this)(m,f,l.meta)}function v(e,t,link){if(xt.strategy!==vt.STRATEGIES.NO_PREFIX){var n,r=new Map,o=or(e);try{for(o.s();!(n=o.n()).done;){var l=n.value,c=l.iso;if(c){var f=c.split("-"),d=Object(L.a)(f,2),h=d[0],m=d[1];h&&m&&(l.isCatchallLocale||!r.has(h))&&r.set(h,l),r.set(c,l)}else console.warn(At("Locale ISO code is required to generate alternate link"))}}catch(e){o.e(e)}finally{o.f()}var v,y=or(r.entries());try{for(y.s();!(v=y.n()).done;){var w=Object(L.a)(v.value,2),x=w[0],k=w[1],_=this.switchLocalePath(k.code);_&&link.push({hid:"i18n-alt-".concat(x),rel:"alternate",href:D(_,t),hreflang:x})}}catch(e){y.e(e)}finally{y.f()}if(xt.defaultLocale){var C=this.switchLocalePath(xt.defaultLocale);C&&link.push({hid:"i18n-xd",rel:"alternate",href:D(C,t),hreflang:"x-default"})}}}function y(e,link){var t=this.localeRoute(rr(rr({},this.$route),{},{name:this.getRouteBaseName()})),n=t?t.path:null;n&&link.push({hid:"i18n-can",rel:"canonical",href:D(n,e)})}function w(e,t,meta){e&&t&&meta.push({hid:"i18n-og",property:"og:locale",content:k(t)})}function x(e,t,meta){var n=e.filter((function(e){var n=e.iso;return n&&n!==t}));if(n.length){var r=n.map((function(e){return{hid:"i18n-og-alt-".concat(e.iso),property:"og:locale:alternate",content:k(e.iso)}}));meta.push.apply(meta,Object(M.a)(r))}}function k(e){return(e||"").replace(/-/g,"_")}function D(e,t){return e.match(/^https?:\/\//)?e:t+e}return l}function ur(){return ir.call(this,{addDirAttribute:!1,addSeoAttributes:!0})}function lr(e,t,n){"object"==typeof n.value&&(n.value=sr(n.value)),n.enumerable&&!n.get&&!n.set&&n.configurable&&n.writable&&"__proto__"!==t?e[t]=n.value:Object.defineProperty(e,t,n)}function sr(e){if("object"!=typeof e)return e;var t,n,r,i=0,o=Object.prototype.toString.call(e);if("[object Object]"===o?r=Object.create(e.__proto__||null):"[object Array]"===o?r=Array(e.length):"[object Set]"===o?(r=new Set,e.forEach((function(e){r.add(sr(e))}))):"[object Map]"===o?(r=new Map,e.forEach((function(e,t){r.set(sr(t),sr(e))}))):"[object Date]"===o?r=new Date(+e):"[object RegExp]"===o?r=new RegExp(e.source,e.flags):"[object DataView]"===o?r=new e.constructor(sr(e.buffer)):"[object ArrayBuffer]"===o?r=e.slice(0):"Array]"===o.slice(-6)&&(r=new e.constructor(e)),r){for(n=Object.getOwnPropertySymbols(e);i=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function fr(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i1&&void 0!==T[1]?T[1]:{},f=o.initialSetup,h=void 0!==f&&f,r){e.next=3;break}return e.abrupt("return");case 3:if(h||!n.i18n.differentDomains){e.next=5;break}return e.abrupt("return");case 5:if(m=n.i18n.locale,r!==m){e.next=8;break}return e.abrupt("return");case 8:if(!(v=n.i18n.onBeforeLanguageSwitch(m,r,h,t))||!n.i18n.localeCodes.includes(v)){e.next=13;break}if(v!==m){e.next=12;break}return e.abrupt("return");case 12:r=v;case 13:if(h||n.i18n.beforeLanguageSwitch(m,r),_&&n.i18n.setLocaleCookie(r),!xt.langDir){e.next=29;break}if(y=n.i18n.fallbackLocale,!xt.lazy){e.next=27;break}if(!y){e.next=23;break}return w=[],Array.isArray(y)?w=y.map((function(e){return Bt(t,e)})):"object"===Object(Ze.a)(y)?(y[r]&&(w=w.concat(y[r].map((function(e){return Bt(t,e)})))),y.default&&(w=w.concat(y.default.map((function(e){return Bt(t,e)}))))):r!==y&&w.push(Bt(t,y)),e.next=23,Promise.all(w);case 23:return e.next=25,Bt(t,r);case 25:e.next=29;break;case 27:return e.next=29,Promise.all(xt.localeCodes.map((function(e){return Bt(t,e)})));case 29:for(n.i18n.locale=r,x=xt.normalizedLocales.find((function(e){return e.code===r}))||{code:r},k=0,D=Object.keys(n.i18n.localeProperties);k=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function Or(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i'+text+"":''+text+""};t("markdown",(e=>{if(e)return Ir()(e,{renderer:n})}))},zr=async function({store:e,app:t}){e.state.settings.filled||await e.dispatch("fetchSettings"),e.state.releases.length||await e.dispatch("fetchReleases"),e.state.categories[t.i18n.locale]||await e.dispatch("fetchCategories"),e.state.settings.defaultBranch||await e.dispatch("fetchDefaultBranch")},Nr=function({app:e,store:t}){e.i18n.onLanguageSwitched=()=>t.dispatch("fetchCategories")},Ur=n(160),qr=n.n(Ur);c.a.use(qr.a);var Hr=({app:e,store:t})=>{e.router.afterEach((()=>{t.state.menu.open&&setTimeout((()=>t.commit("menu/close")),10)}))};function Wr(object,e){var t=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(object,e).enumerable}))),t.push.apply(t,n)}return t}function Vr(e){for(var i=1;i has been deprecated and will be removed in Nuxt 3, please use instead")),y.a.render(e,t)}})),c.a.component(j.name,j),c.a.component("NChild",j),c.a.component(B.name,B),Object.defineProperty(c.a.prototype,"$nuxt",{get:function(){var e=this.$root.$options.$nuxt;return e||"undefined"==typeof window?e:window.$nuxt},configurable:!0}),c.a.use(d.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var Xr={name:"page",mode:"out-in",appear:!1,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"},Kr=f.a.Store.prototype.registerModule;function Gr(path,e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=Array.isArray(path)?!!path.reduce((function(e,path){return e&&e[path]}),this.state):path in this.state;return Kr.call(this,path,e,Vr({preserveState:n},t))}function Zr(e){return Yr.apply(this,arguments)}function Yr(){return Yr=Object(o.a)(regeneratorRuntime.mark((function e(t){var n,r,l,f,d,h,path,m,v=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return m=function(e,t){if(!e)throw new Error("inject(key, value) has no key provided");if(void 0===t)throw new Error("inject('".concat(e,"', value) has no value provided"));f[e="$"+e]=t,f.context[e]||(f.context[e]=t),l[e]=f[e];var n="__nuxt_"+e+"_installed__";c.a[n]||(c.a[n]=!0,c.a.use((function(){Object.prototype.hasOwnProperty.call(c.a.prototype,e)||Object.defineProperty(c.a.prototype,e,{get:function(){return this.$root.$options[e]}})})))},n=v.length>1&&void 0!==v[1]?v[1]:{},e.next=4,E(0,n);case 4:return r=e.sent,(l=ae(t)).$router=r,l.registerModule=Gr,f=Vr({head:{meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"}],link:[{hid:"gf-prefetch",rel:"dns-prefetch",href:"https://fonts.gstatic.com/"},{hid:"gf-preconnect",rel:"preconnect",href:"https://fonts.gstatic.com/",crossorigin:""},{hid:"gf-preload",rel:"preload",as:"style",href:"https://fonts.googleapis.com/css2?family=DM+Sans&family=DM+Mono"}],style:[],script:[{hid:"adsbygoogle-script",defer:!0,crossorigin:"anonymous",src:"//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5059418763237956"},{hid:"adsbygoogle",innerHTML:'if (!window.__abg_called){ (adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0;\n (window.adsbygoogle = window.adsbygoogle || []).push({\n google_ad_client: "ca-pub-5059418763237956",\n enable_page_level_ads: true,\n overlays: {bottom: true}\n }); window.__abg_called = true;}'},{hid:"gf-script",innerHTML:'(function(){var l=document.createElement(\'link\');l.rel="stylesheet";l.href="https://fonts.googleapis.com/css2?family=DM+Sans&family=DM+Mono";document.querySelector("head").appendChild(l);})();'}],__dangerouslyDisableSanitizersByTagID:{adsbygoogle:["innerHTML"],"gf-script":["innerHTML"],"gf-noscript":["innerHTML"]},noscript:[{hid:"gf-noscript",innerHTML:''}]},store:l,router:r,nuxt:{defaultTransition:Xr,transitions:[Xr],setTransitions:function(e){return Array.isArray(e)||(e=[e]),e=e.map((function(e){return e=e?"string"==typeof e?Object.assign({},Xr,{name:e}):Object.assign({},Xr,e):Xr})),this.$options.nuxt.transitions=e,e},err:null,dateErr:null,error:function(e){e=e||null,f.context._errored=Boolean(e),e=e?Object(k.p)(e):null;var n=f.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=e,t&&(t.nuxt.error=e),e}}},ee),l.app=f,d=t?t.next:function(e){return f.router.push(e)},t?h=r.resolve(t.url).route:(path=Object(k.g)(r.options.base,r.options.mode),h=r.resolve(path).route),e.next=14,Object(k.t)(f,{store:l,route:h,next:d,error:f.nuxt.error.bind(f),payload:t?t.payload:void 0,req:t?t.req:void 0,res:t?t.res:void 0,beforeRenderFns:t?t.beforeRenderFns:void 0,ssrContext:t});case 14:m("config",n),window.__NUXT__&&window.__NUXT__.state&&l.replaceState(window.__NUXT__.state),f.context.enablePreview=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};f.previewData=Object.assign({},e),m("preview",e)},e.next=20;break;case 20:return e.next=23,bt(f.context,m);case 23:e.next=26;break;case 26:e.next=29;break;case 29:return e.next=32,an(f.context);case 32:if("function"!=typeof pr){e.next=35;break}return e.next=35,pr(f.context,m);case 35:if("function"!=typeof mr){e.next=38;break}return e.next=38,mr(f.context,m);case 38:if("function"!=typeof kr){e.next=41;break}return e.next=41,kr(f.context,m);case 41:if("function"!=typeof _r.a){e.next=44;break}return e.next=44,_r()(f.context,m);case 44:return e.next=47,jr(f.context);case 47:e.next=50;break;case 50:return e.next=53,Br(f.context,m);case 53:return e.next=56,Mr(f.context,m);case 56:return e.next=59,zr(f.context);case 59:return e.next=62,Nr(f.context);case 62:e.next=65;break;case 65:return e.next=68,Hr(f.context);case 68:return f.context.enablePreview=function(){console.warn("You cannot call enablePreview() outside a plugin.")},e.next=71,new Promise((function(e,t){if(!r.resolve(f.context.route.fullPath).route.matched.length)return e();r.replace(f.context.route.fullPath,e,(function(n){if(!n._isRouter)return t(n);if(2!==n.type)return e();var l=r.afterEach(function(){var t=Object(o.a)(regeneratorRuntime.mark((function t(n,r){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=3,Object(k.k)(n);case 3:f.context.route=t.sent,f.context.params=n.params||{},f.context.query=n.query||{},l(),e();case 8:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}())}))}));case 71:return e.abrupt("return",{store:l,app:f,router:r});case 72:case"end":return e.stop()}}),e)}))),Yr.apply(this,arguments)}},,,,,,,,,,,,function(e,t,n){"use strict";var r=n(108),o=n(137),l=n(139);e.exports=function(e){var t,n,c=e.space,f=e.mustUseProperty||[],d=e.attributes||{},h=e.properties,m=e.transform,v={},y={};for(t in h)n=new l(t,m(d,t),h[t],c),-1!==f.indexOf(t)&&(n.mustUseProperty=!0),v[t]=n,y[r(t)]=t,y[r(n.attribute)]=t;return new o(v,y,c)}},,function(e,t,n){"use strict";var r={name:"NoSsr",functional:!0,props:{placeholder:String,placeholderTag:{type:String,default:"div"}},render:function(e,t){var n=t.parent,r=t.slots,o=t.props,l=r(),c=l.default;void 0===c&&(c=[]);var f=l.placeholder;return n._isMounted?c:(n.$once("hook:mounted",(function(){n.$forceUpdate()})),o.placeholderTag&&(o.placeholder||f)?e(o.placeholderTag,{class:["no-ssr-placeholder"]},o.placeholder||f):c.length>0?c.map((function(){return e(!1)})):e(!1))}};e.exports=r},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var content=function(e,t){var content=e[1]||"",n=e[3];if(!n)return content;if(t&&"function"==typeof btoa){var r=(l=n,c=btoa(unescape(encodeURIComponent(JSON.stringify(l)))),data="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(c),"/*# ".concat(data," */")),o=n.sources.map((function(source){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(source," */")}));return[content].concat(o).concat([r]).join("\n")}var l,c,data;return[content].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(content,"}"):content})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var i=0;it.parts.length&&(n.parts.length=t.parts.length)}else{var o=[];for(r=0;r=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return c=e.done,e},e:function(e){f=!0,o=e},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i0?c.map((function(){return e(!1)})):e(!1))}};e.exports=r},,function(e,t,n){"use strict";t.html=n(213),t.svg=n(216),t.normalize=n(108),t.find=n(218)},,function(e,t,n){var r=n(164);function o(){return(o=r(regeneratorRuntime.mark((function e(){var t,r,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(!1 in navigator)){e.next=2;break}throw new Error("serviceWorker is not supported in current browser!");case 2:return e.next=4,n.e(30).then(n.bind(null,236));case 4:return t=e.sent,r=t.Workbox,o=new r("/sw.js",{scope:"/"}),e.next=9,o.register();case 9:return e.abrupt("return",o);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}n(21),window.$workbox=function(){return o.apply(this,arguments)}().catch((function(e){}))},function(e,t,n){e.exports=function(){"use strict";function e(e,t){for(var i=0;ie.length)&&(t=e.length);for(var i=0,n=new Array(t);i=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l={exports:{}};function c(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}function f(e){l.exports.defaults=e}l.exports={defaults:c(),getDefaults:c,changeDefaults:f};var d=/[&<>"']/,h=/[&<>"']/g,m=/[<>"']|&(?!#?\w+;)/,v=/[<>"']|&(?!#?\w+;)/g,y={"&":"&","<":"<",">":">",'"':""","'":"'"},w=function(e){return y[e]};function x(html,e){if(e){if(d.test(html))return html.replace(h,w)}else if(m.test(html))return html.replace(v,w);return html}var k=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function D(html){return html.replace(k,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var _=/(^|[^\[])\^/g;function C(e,t){e=e.source||e,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(_,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var O=/[^\w:]/g,A=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function E(e,base,t){if(e){var n;try{n=decodeURIComponent(D(t)).replace(O,"").toLowerCase()}catch(e){return null}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return null}base&&!A.test(t)&&(t=P(base,t));try{t=encodeURI(t).replace(/%25/g,"%")}catch(e){return null}return t}var j={},S=/^[^:]+:\/*[^/]*$/,F=/^([^:]+:)[\s\S]*$/,$=/^([^:]+:\/*[^/]*)[\s\S]*$/;function P(base,e){j[" "+base]||(S.test(base)?j[" "+base]=base+"/":j[" "+base]=B(base,"/",!0));var t=-1===(base=j[" "+base]).indexOf(":");return"//"===e.substring(0,2)?t?e:base.replace(F,"$1")+e:"/"===e.charAt(0)?t?e:base.replace($,"$1")+e:base+e}function T(e){for(var t,n,i=1;i=0&&"\\"===n[o];)r=!r;return r?"|":" |"})).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.length1;)1&e&&(t+=pattern),e>>=1,pattern+=pattern;return t+pattern}var z={escape:x,unescape:D,edit:C,cleanUrl:E,resolveUrl:P,noopTest:{exec:function(){}},merge:T,splitCells:L,rtrim:B,findClosingBracket:R,checkSanitizeDeprecation:I,repeatString:M},N=l.exports.defaults,U=z.rtrim,H=z.splitCells,W=z.escape,V=z.findClosingBracket;function X(e,link,t){var n=link.href,title=link.title?W(link.title):null,text=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:t,href:n,title:title,text:text}:{type:"image",raw:t,href:n,title:title,text:W(text)}}function K(e,text){var t=e.match(/^(\s+)(?:```)/);if(null===t)return text;var n=t[1];return text.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=n.length?e.slice(n.length):e})).join("\n")}var G=function(){function e(e){this.options=e||N}var t=e.prototype;return t.space=function(e){var t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t){var text=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?text:U(text,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],text=K(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:text}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var text=t[2].trim();if(/#$/.test(text)){var n=U(text,"#");this.options.pedantic?text=n.trim():n&&!/ $/.test(n)||(text=n.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:text}}},t.nptable=function(e){var t=this.rules.block.nptable.exec(e);if(t){var n={type:"table",header:H(t[1].replace(/^ *| *\| *$/g,"")),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:t[3]?t[3].replace(/\n$/,"").split("\n"):[],raw:t[0]};if(n.header.length===n.align.length){var i,r=n.align.length;for(i=0;i ?/gm,"");return{type:"blockquote",raw:t[0],text:text}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,o,l,c,f,d,h,m,v=t[0],y=t[2],w=y.length>1,x={type:"list",raw:v,ordered:w,start:w?+y.slice(0,-1):"",loose:!1,items:[]},k=t[0].match(this.rules.block.item),D=!1,_=k.length;o=this.rules.block.listItemStart.exec(k[0]);for(var i=0;i<_;i++){if(v=n=k[i],this.options.pedantic||(m=n.match(new RegExp("\\n\\s*\\n {0,"+(o[0].length-1)+"}\\S")))&&(c=n.length-m.index+k.slice(i+1).join("\n").length,x.raw=x.raw.substring(0,x.raw.length-c),v=n=n.substring(0,m.index),_=i+1),i!==_-1){if(l=this.rules.block.listItemStart.exec(k[i+1]),this.options.pedantic?l[1].length>o[1].length:l[1].length>=o[0].length||l[1].length>3){k.splice(i,2,k[i]+(!this.options.pedantic&&l[1].length/i.test(r[0])&&(t=!1),!n&&/^<(pre|code|kbd|script)(\s|>)/i.test(r[0])?n=!0:n&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(r[0])&&(n=!1),{type:this.options.sanitize?"text":"html",raw:r[0],inLink:t,inRawBlock:n,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):W(r[0]):r[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var r=U(n.slice(0,-1),"\\");if((n.length-r.length)%2==0)return}else{var o=V(t[2],"()");if(o>-1){var l=(0===t[0].indexOf("!")?5:4)+t[1].length+o;t[2]=t[2].substring(0,o),t[0]=t[0].substring(0,l).trim(),t[3]=""}}var c=t[2],title="";if(this.options.pedantic){var link=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(c);link&&(c=link[1],title=link[3])}else title=t[3]?t[3].slice(1,-1):"";return c=c.trim(),/^$/.test(n)?c.slice(1):c.slice(1,-1)),X(t,{href:c?c.replace(this.rules.inline._escapes,"$1"):c,title:title?title.replace(this.rules.inline._escapes,"$1"):title},t[0])}},t.reflink=function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var link=(n[2]||n[1]).replace(/\s+/g," ");if(!(link=t[link.toLowerCase()])||!link.href){var text=n[0].charAt(0);return{type:"text",raw:text,text:text}}return X(n,link,n[0])}},t.emStrong=function(e,t,n){void 0===n&&(n="");var r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var o=r[1]||r[2]||"";if(!o||o&&(""===n||this.rules.inline.punctuation.exec(n))){var l,c,f=r[0].length-1,d=f,h=0,m="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(m.lastIndex=0,t=t.slice(-1*e.length+f);null!=(r=m.exec(t));)if(l=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(c=l.length,r[3]||r[4])d+=c;else if(!((r[5]||r[6])&&f%3)||(f+c)%3){if(!((d-=c)>0))return c=Math.min(c,c+d+h),Math.min(f,c)%2?{type:"em",raw:e.slice(0,f+r.index+c+1),text:e.slice(1,f+r.index+c)}:{type:"strong",raw:e.slice(0,f+r.index+c+1),text:e.slice(2,f+r.index+c-1)}}else h+=c}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var text=t[2].replace(/\n/g," "),n=/[^ ]/.test(text),r=/^ /.test(text)&&/ $/.test(text);return n&&r&&(text=text.substring(1,text.length-1)),text=W(text,!0),{type:"codespan",raw:t[0],text:text}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2]}},t.autolink=function(e,t){var text,n,r=this.rules.inline.autolink.exec(e);if(r)return n="@"===r[2]?"mailto:"+(text=W(this.options.mangle?t(r[1]):r[1])):text=W(r[1]),{type:"link",raw:r[0],text:text,href:n,tokens:[{type:"text",raw:text,text:text}]}},t.url=function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var text,r;if("@"===n[2])r="mailto:"+(text=W(this.options.mangle?t(n[0]):n[0]));else{var o;do{o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(o!==n[0]);text=W(n[0]),r="www."===n[1]?"http://"+text:text}return{type:"link",raw:n[0],text:text,href:r,tokens:[{type:"text",raw:text,text:text}]}}},t.inlineText=function(e,t,n){var text,r=this.rules.inline.text.exec(e);if(r)return text=t?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):W(r[0]):r[0]:W(this.options.smartypants?n(r[0]):r[0]),{type:"text",raw:r[0],text:text}},e}(),Z=z.noopTest,Y=z.edit,J=z.merge,Q={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:Z,table:Z,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Q.def=Y(Q.def).replace("label",Q._label).replace("title",Q._title).getRegex(),Q.bullet=/(?:[*+-]|\d{1,9}[.)])/,Q.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,Q.item=Y(Q.item,"gm").replace(/bull/g,Q.bullet).getRegex(),Q.listItemStart=Y(/^( *)(bull) */).replace("bull",Q.bullet).getRegex(),Q.list=Y(Q.list).replace(/bull/g,Q.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Q.def.source+")").getRegex(),Q._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Q._comment=/|$)/,Q.html=Y(Q.html,"i").replace("comment",Q._comment).replace("tag",Q._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Q.paragraph=Y(Q._paragraph).replace("hr",Q.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Q._tag).getRegex(),Q.blockquote=Y(Q.blockquote).replace("paragraph",Q.paragraph).getRegex(),Q.normal=J({},Q),Q.gfm=J({},Q.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Q.gfm.nptable=Y(Q.gfm.nptable).replace("hr",Q.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Q._tag).getRegex(),Q.gfm.table=Y(Q.gfm.table).replace("hr",Q.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Q._tag).getRegex(),Q.pedantic=J({},Q.normal,{html:Y("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Q._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Z,paragraph:Y(Q.normal._paragraph).replace("hr",Q.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Q.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var ee={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Z,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Z,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};ee.punctuation=Y(ee.punctuation).replace(/punctuation/g,ee._punctuation).getRegex(),ee.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,ee.escapedEmSt=/\\\*|\\_/g,ee._comment=Y(Q._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),ee.emStrong.lDelim=Y(ee.emStrong.lDelim).replace(/punct/g,ee._punctuation).getRegex(),ee.emStrong.rDelimAst=Y(ee.emStrong.rDelimAst,"g").replace(/punct/g,ee._punctuation).getRegex(),ee.emStrong.rDelimUnd=Y(ee.emStrong.rDelimUnd,"g").replace(/punct/g,ee._punctuation).getRegex(),ee._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,ee._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,ee._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,ee.autolink=Y(ee.autolink).replace("scheme",ee._scheme).replace("email",ee._email).getRegex(),ee._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,ee.tag=Y(ee.tag).replace("comment",ee._comment).replace("attribute",ee._attribute).getRegex(),ee._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,ee._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,ee._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,ee.link=Y(ee.link).replace("label",ee._label).replace("href",ee._href).replace("title",ee._title).getRegex(),ee.reflink=Y(ee.reflink).replace("label",ee._label).getRegex(),ee.reflinkSearch=Y(ee.reflinkSearch,"g").replace("reflink",ee.reflink).replace("nolink",ee.nolink).getRegex(),ee.normal=J({},ee),ee.pedantic=J({},ee.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Y(/^!?\[(label)\]\((.*?)\)/).replace("label",ee._label).getRegex(),reflink:Y(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ee._label).getRegex()}),ee.gfm=J({},ee.normal,{escape:Y(ee.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(e="x"+e.toString(16)),t+="&#"+e+";";return t}var se=function(){function e(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||re,this.options.tokenizer=this.options.tokenizer||new ne,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var t={block:oe.normal,inline:ae.normal};this.options.pedantic?(t.block=oe.pedantic,t.inline=ae.pedantic):this.options.gfm&&(t.block=oe.gfm,this.options.breaks?t.inline=ae.breaks:t.inline=ae.gfm),this.tokenizer.rules=t}e.lex=function(t,n){return new e(n).lex(t)},e.lexInline=function(t,n){return new e(n).inlineTokens(t)};var n=e.prototype;return n.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},n.blockTokens=function(e,t,n){var r,i,o,l,c,f,d=this;for(void 0===t&&(t=[]),void 0===n&&(n=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(n){return!!(r=n.call(d,e,t))&&(e=e.substring(r.raw.length),t.push(r),!0)}))))if(r=this.tokenizer.space(e))e=e.substring(r.raw.length),r.type&&t.push(r);else if(r=this.tokenizer.code(e))e=e.substring(r.raw.length),(l=t[t.length-1])&&"paragraph"===l.type?(l.raw+="\n"+r.raw,l.text+="\n"+r.text):t.push(r);else if(r=this.tokenizer.fences(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.heading(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.nptable(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.hr(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.blockquote(e))e=e.substring(r.raw.length),r.tokens=this.blockTokens(r.text,[],n),t.push(r);else if(r=this.tokenizer.list(e)){for(e=e.substring(r.raw.length),o=r.items.length,i=0;i=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(c=e.substring(0,t+1))}(),n&&(r=this.tokenizer.paragraph(c)))l=t[t.length-1],f&&"paragraph"===l.type?(l.raw+="\n"+r.raw,l.text+="\n"+r.text):t.push(r),f=c.length!==e.length,e=e.substring(r.raw.length);else if(r=this.tokenizer.text(e))e=e.substring(r.raw.length),(l=t[t.length-1])&&"text"===l.type?(l.raw+="\n"+r.raw,l.text+="\n"+r.text):t.push(r);else if(e){var h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}throw new Error(h)}return t},n.inline=function(e){var i,t,n,r,o,l,c=e.length;for(i=0;i0)for(;null!=(d=this.tokenizer.rules.inline.reflinkSearch.exec(v));)y.includes(d[0].slice(d[0].lastIndexOf("[")+1,-1))&&(v=v.slice(0,d.index)+"["+ie("a",d[0].length-2)+"]"+v.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(d=this.tokenizer.rules.inline.blockSkip.exec(v));)v=v.slice(0,d.index)+"["+ie("a",d[0].length-2)+"]"+v.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(d=this.tokenizer.rules.inline.escapedEmSt.exec(v));)v=v.slice(0,d.index)+"++"+v.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(h||(m=""),h=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(n){return!!(o=n.call(f,e,t))&&(e=e.substring(o.raw.length),t.push(o),!0)}))))if(o=this.tokenizer.escape(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.tag(e,n,r))e=e.substring(o.raw.length),n=o.inLink,r=o.inRawBlock,(l=t[t.length-1])&&"text"===o.type&&"text"===l.type?(l.raw+=o.raw,l.text+=o.text):t.push(o);else if(o=this.tokenizer.link(e))e=e.substring(o.raw.length),"link"===o.type&&(o.tokens=this.inlineTokens(o.text,[],!0,r)),t.push(o);else if(o=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(o.raw.length),l=t[t.length-1],"link"===o.type?(o.tokens=this.inlineTokens(o.text,[],!0,r),t.push(o)):l&&"text"===o.type&&"text"===l.type?(l.raw+=o.raw,l.text+=o.text):t.push(o);else if(o=this.tokenizer.emStrong(e,v,m))e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,r),t.push(o);else if(o=this.tokenizer.codespan(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.br(e))e=e.substring(o.raw.length),t.push(o);else if(o=this.tokenizer.del(e))e=e.substring(o.raw.length),o.tokens=this.inlineTokens(o.text,[],n,r),t.push(o);else if(o=this.tokenizer.autolink(e,le))e=e.substring(o.raw.length),t.push(o);else if(n||!(o=this.tokenizer.url(e,le))){if(c=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),r=void 0;f.options.extensions.startInline.forEach((function(e){"number"==typeof(r=e.call(this,n))&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(c=e.substring(0,t+1))}(),o=this.tokenizer.inlineText(c,r,ue))e=e.substring(o.raw.length),"_"!==o.raw.slice(-1)&&(m=o.raw.slice(-1)),h=!0,(l=t[t.length-1])&&"text"===l.type?(l.raw+=o.raw,l.text+=o.text):t.push(o);else if(e){var w="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(w);break}throw new Error(w)}}else e=e.substring(o.raw.length),t.push(o);return t},t(e,null,[{key:"rules",get:function(){return{block:oe,inline:ae}}}]),e}(),ce=l.exports.defaults,fe=z.cleanUrl,pe=z.escape,de=function(){function e(e){this.options=e||ce}var t=e.prototype;return t.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,r);null!=o&&o!==e&&(n=!0,e=o)}return e=e.replace(/\n$/,"")+"\n",r?'
'+(n?e:pe(e,!0))+"
\n":"
"+(n?e:pe(e,!0))+"
\n"},t.blockquote=function(e){return"
\n"+e+"
\n"},t.html=function(e){return e},t.heading=function(text,e,t,n){return this.options.headerIds?"'+text+"\n":""+text+"\n"},t.hr=function(){return this.options.xhtml?"
\n":"
\n"},t.list=function(body,e,t){var n=e?"ol":"ul";return"<"+n+(e&&1!==t?' start="'+t+'"':"")+">\n"+body+"\n"},t.listitem=function(text){return"
  • "+text+"
  • \n"},t.checkbox=function(e){return" "},t.paragraph=function(text){return"

    "+text+"

    \n"},t.table=function(header,body){return body&&(body=""+body+""),"\n\n"+header+"\n"+body+"
    \n"},t.tablerow=function(content){return"\n"+content+"\n"},t.tablecell=function(content,e){var t=e.header?"th":"td";return(e.align?"<"+t+' align="'+e.align+'">':"<"+t+">")+content+"\n"},t.strong=function(text){return""+text+""},t.em=function(text){return""+text+""},t.codespan=function(text){return""+text+""},t.br=function(){return this.options.xhtml?"
    ":"
    "},t.del=function(text){return""+text+""},t.link=function(e,title,text){if(null===(e=fe(this.options.sanitize,this.options.baseUrl,e)))return text;var t='"},t.image=function(e,title,text){if(null===(e=fe(this.options.sanitize,this.options.baseUrl,e)))return text;var t=''+text+'":">"},t.text=function(e){return e},e}(),he=function(){function e(){}var t=e.prototype;return t.strong=function(text){return text},t.em=function(text){return text},t.codespan=function(text){return text},t.del=function(text){return text},t.html=function(text){return text},t.text=function(e){return e},t.link=function(e,title,text){return""+text},t.image=function(e,title,text){return""+text},t.br=function(){return""},e}(),ge=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),me=de,be=he,ve=ge,ye=l.exports.defaults,we=z.unescape,xe=function(){function e(e){this.options=e||ye,this.options.renderer=this.options.renderer||new me,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new be,this.slugger=new ve}e.parse=function(t,n){return new e(n).parse(t)},e.parseInline=function(t,n){return new e(n).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var i,n,r,o,l,c,f,header,body,d,h,m,v,y,w,x,k,D,_,C="",O=e.length;for(i=0;i0&&"text"===w.tokens[0].type?(w.tokens[0].text=D+" "+w.tokens[0].text,w.tokens[0].tokens&&w.tokens[0].tokens.length>0&&"text"===w.tokens[0].tokens[0].type&&(w.tokens[0].tokens[0].text=D+" "+w.tokens[0].tokens[0].text)):w.tokens.unshift({type:"text",text:D}):y+=D),y+=this.parse(w.tokens,v),body+=this.renderer.listitem(y,k,x);C+=this.renderer.list(body,h,m);continue;case"html":C+=this.renderer.html(d.text);continue;case"paragraph":C+=this.renderer.paragraph(this.parseInline(d.tokens));continue;case"text":for(body=d.tokens?this.parseInline(d.tokens):d.text;i+1An error occurred:

    "+Se(e.message+"",!0)+"
    ";throw e}}return Te.options=Te.setOptions=function(e){return Ee(Te.defaults,e),$e(Te.defaults),Te},Te.getDefaults=Fe,Te.defaults=Pe,Te.use=function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;rAn error occurred:

    "+Se(e.message+"",!0)+"
    ";throw e}},Te.Parser=De,Te.parser=De.parse,Te.Renderer=Ce,Te.TextRenderer=Oe,Te.Lexer=ke,Te.lexer=ke.lex,Te.Tokenizer=_e,Te.Slugger=Ae,Te.parse=Te,Te}()},,,,,,,,,,,,,,,,,,,,function(e,t,n){var content=n(198);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(53).default)("fa7ff0ca",content,!0,{sourceMap:!1})},function(e,t,n){var content=n(206);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(53).default)("0a0efde6",content,!0,{sourceMap:!1})},function(e,t,n){"use strict";var r=n(214),o=n(137);e.exports=function(e){var t,n,l=e.length,c=[],f=[],d=-1;for(;++d0},scrollToTop:function(){window.innerWidth>=1280||window.scrollTo(0,0)},noop:function(){}}},h=n(2),component=Object(h.a)(d,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("nav",{staticClass:"fixed top-0 z-40 w-full border-b dark:border-gray-800 bg-white dark:bg-gray-900",class:{"shadow border-transparent":e.scrolled},on:{click:e.scrollToTop}},[n("div",{staticClass:"container mx-auto flex-1 px-4 lg:px-8"},[n("div",{staticClass:"flex items-center justify-between h-16"},[n("div",{staticClass:"lg:w-1/5 flex items-center pr-4",on:{click:function(t){return t.stopPropagation(),e.noop.apply(null,arguments)}}},[n("NuxtLink",{staticClass:"flex-shrink-0 flex-1 font-bold text-xl",attrs:{to:e.localePath("/"),"aria-label":e.settings.title+" Logo"}},[e.logo?e._e():n("span",[e._v(e._s(e.settings.title))]),e._v(" "),e.logo?n("img",{staticClass:"h-8 max-w-full light-img",attrs:{src:e.logo.light,alt:e.settings.title}}):e._e(),e._v(" "),e.logo?n("img",{staticClass:"h-8 max-w-full dark-img",attrs:{src:e.logo.dark,alt:e.settings.title}}):e._e()])],1),e._v(" "),"single"!==e.settings.layout?n("div",{staticClass:"flex-1 flex justify-start w-4/6"},[e.settings.algolia?n("AppSearchAlgolia",{attrs:{options:e.settings.algolia,settings:e.settings}}):n("AppSearch",{staticClass:"hidden lg:block"})],1):e._e(),e._v(" "),n("div",{staticClass:"lg:w-1/5 flex items-center pl-4 lg:pl-8",class:{"justify-between":e.lastRelease&&"single"!==e.settings.layout,"justify-end":!e.lastRelease||"single"===e.settings.layout}},[e.lastRelease?n("NuxtLink",{staticClass:"font-semibold leading-none text-gray-700 dark:text-gray-300 hover:text-primary-500 dark-hover:text-primary-500 text-base mr-4",attrs:{to:e.localePath("/releases"),"exact-active-class":"text-primary-500"}},[e._v(e._s(e.lastRelease.name))]):e._e(),e._v(" "),n("div",{staticClass:"flex items-center"},[e.settings.twitter?n("a",{staticClass:"text-gray-700 dark:text-gray-300 hover:text-primary-500 dark-hover:text-primary-500 ml-4",class:{"hidden lg:block":"single"!==e.settings.layout},attrs:{href:"https://twitter.com/"+e.settings.twitter,target:"_blank",rel:"noopener noreferrer",title:"Twitter",name:"Twitter"}},[n("IconTwitter",{staticClass:"w-5 h-5"})],1):e._e(),e._v(" "),e.settings.github?n("a",{staticClass:"text-gray-700 dark:text-gray-300 hover:text-primary-500 dark-hover:text-primary-500 ml-4",class:{"hidden lg:block":"single"!==e.settings.layout},attrs:{href:e.githubUrls.repo,target:"_blank",rel:"noopener noreferrer",title:"Github",name:"Github"}},[n("IconGithub",{staticClass:"w-5 h-5"})],1):e._e(),e._v(" "),"single"!==e.settings.layout?n("button",{staticClass:"lg:hidden p-2 rounded-md text-gray-700 dark:text-gray-300 focus:outline-none -mr-2",attrs:{"aria-label":"Menu"},on:{click:function(t){t.stopPropagation(),e.menu=!e.menu}}},[e.menu?n("IconX",{staticClass:"w-5 h-5"}):n("IconMenu",{staticClass:"w-5 h-5"})],1):e._e()])],1)])])])}),[],!1,null,null,null);t.default=component.exports;installComponents(component,{AppSearchAlgolia:n(225).default,AppSearch:n(148).default,IconTwitter:n(151).default,IconGithub:n(152).default,IconX:n(229).default,IconMenu:n(230).default})},function(e,t,n){"use strict";n.r(t);var r=n(3),o=(n(21),n(104),{data:function(){return{q:"",focus:!1,focusIndex:-1,open:!1,searching:!1,results:[]}},watch:{q:function(e){var t=this;return Object(r.a)(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.focusIndex=-1,e){n.next=5;break}return t.searching=!1,t.results=[],n.abrupt("return");case 5:return t.searching=!0,n.next=8,t.$content(t.$i18n.locale,{deep:!0}).sortBy("position","asc").only(["title","slug","category","to"]).limit(12).search(e).fetch();case 8:t.results=n.sent,t.searching=!1;case 10:case"end":return n.stop()}}),n)})))()}},mounted:function(){window.addEventListener("keyup",this.keyup)},beforeDestroy:function(){window.removeEventListener("keyup",this.keyup)},methods:{onFocus:function(){this.focus=!0,this.$emit("focus",!0)},onBlur:function(){this.focus=!1,this.$emit("focus",!1)},keyup:function(e){"/"===e.key&&this.$refs.search.focus()},increment:function(){this.focusIndex=0&&this.focusIndex--},go:function(){if(0!==this.results.length){var e=-1===this.focusIndex?this.results[0]:this.results[this.focusIndex];this.$router.push(this.localePath(e.to)),this.$refs.search.blur(),this.q=""}}}}),l=n(2),component=Object(l.a)(o,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"w-full relative flex flex-col justify-between"},[n("div",{staticClass:"w-full relative",on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:e.increment.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:e.decrement.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.go.apply(null,arguments)}]}},[n("label",{staticClass:"sr-only",attrs:{for:"search"}},[e._v("Search")]),e._v(" "),n("div",{staticClass:"relative"},[n("div",{staticClass:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"},[n("IconSearch",{staticClass:"h-5 w-5 text-gray-500"})],1),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.q,expression:"q"}],ref:"search",staticClass:"block w-full pl-10 pr-3 py-2 truncate leading-5 placeholder-gray-500 border border-transparent text-gray-700 dark:text-white dark-focus:text-white focus:border-gray-300 dark-focus:border-gray-700 rounded-md focus:outline-none focus:bg-white dark-focus:bg-gray-900 bg-gray-200 dark:bg-gray-800",class:{"rounded-b-none":e.focus&&(e.searching||e.results.length)},attrs:{id:"search",placeholder:e.$t("search.placeholder"),type:"search",autocomplete:"off"},domProps:{value:e.q},on:{focus:e.onFocus,blur:e.onBlur,input:function(t){t.target.composing||(e.q=t.target.value)}}})])]),e._v(" "),n("ul",{directives:[{name:"show",rawName:"v-show",value:e.focus&&(e.searching||e.results.length),expression:"focus && (searching || results.length)"}],staticClass:"z-10 absolute w-full flex-1 top-0 bg-white dark:bg-gray-900 rounded-md border border-gray-300 dark:border-gray-700 overflow-hidden",class:{"rounded-t-none":e.focus&&(e.searching||e.results.length)},staticStyle:{"margin-top":"37px"}},[e.searching&&!e.results.length?n("li",{staticClass:"px-4 py-2"},[e._v("Searching...")]):e._e(),e._v(" "),e._l(e.results,(function(t,r){return n("li",{key:t.slug,on:{mouseenter:function(t){e.focusIndex=r},mousedown:e.go}},[n("NuxtLink",{staticClass:"flex px-4 py-2 items-center leading-5 transition ease-in-out duration-150",class:{"text-primary-500 bg-gray-200 dark:bg-gray-800":e.focusIndex===r},attrs:{to:e.localePath(t.to)},on:{click:function(t){e.focus=!1}}},[t.category?n("span",{staticClass:"font-bold"},[e._v(e._s(t.category))]):e._e(),e._v(" "),t.category?n("IconChevronRight",{staticClass:"w-3 h-3 mx-1"}):e._e(),e._v("\n "+e._s(t.title)+"\n ")],1)],1)}))],2)])}),[],!1,null,null,null);t.default=component.exports;installComponents(component,{IconSearch:n(227).default,IconChevronRight:n(228).default})},function(e,t,n){"use strict";n.r(t);n(10);var r={computed:{availableLocales:function(){var e=this;return this.$i18n.locales.filter((function(i){return i.code!==e.$i18n.locale}))}}},o=n(2),component=Object(o.a)(r,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.availableLocales.length?n("AppDropdown",{staticClass:"inline-flex",scopedSlots:e._u([{key:"trigger",fn:function(e){var t=e.open,r=e.toggle;return[n("button",{staticClass:"rounded-md hover:text-primary-500 focus:outline-none",class:{"text-primary-500":t},on:{touchstart:function(e){return e.stopPropagation(),e.preventDefault(),r.apply(null,arguments)}}},[n("IconTranslate",{staticClass:"w-6 h-6"})],1)]}}],null,!1,2711206920)},[e._v(" "),n("ul",{staticClass:"py-2"},e._l(e.availableLocales,(function(t){return n("li",{key:t.code},[e.$i18n.locale!==t.code?n("nuxt-link",{staticClass:"flex px-4 items-center hover:text-primary-500 leading-7 whitespace-no-wrap",attrs:{to:e.switchLocalePath(t.code)}},[e._v(e._s(t.name))]):e._e()],1)})),0)]):e._e()}),[],!1,null,null,null);t.default=component.exports;installComponents(component,{IconTranslate:n(231).default,AppDropdown:n(224).default})},function(e,t,n){"use strict";n.r(t);n(10);var r={computed:{availableLocales:function(){var e=this;return this.$i18n.locales.filter((function(i){return i.code!==e.$i18n.locale}))}}},o=n(2),component=Object(o.a)(r,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("footer",{staticClass:"h-16 relative w-full border-t dark:border-gray-800 bg-white dark:bg-gray-900 z-20"},[n("div",{staticClass:"h-full w-full container mx-auto px-4 lg:px-8 flex items-center justify-between"},[n("div",{staticClass:"flex items-end"},[n("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[n("BuiltWithNuxtLight",{staticClass:"h-4 light-img"}),e._v(" "),n("BuiltWithNuxtDark",{staticClass:"h-4 dark-img"})],1)]),e._v(" "),n("div",{staticClass:"flex items-center space-x-4"},[n("AppLangSwitcher"),e._v(" "),n("AppColorSwitcher")],1)])])}),[],!1,null,null,null);t.default=component.exports;installComponents(component,{BuiltWithNuxtLight:n(234).default,BuiltWithNuxtDark:n(235).default,AppLangSwitcher:n(149).default,AppColorSwitcher:n(153).default})},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{staticClass:"feather feather-twitter",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[t("path",{attrs:{d:"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{staticClass:"feather feather-github",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[t("path",{attrs:{d:"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",{staticClass:"inline-flex"},[n("button",{staticClass:"rounded-md hover:text-primary-500 focus:outline-none transition ease-in-out duration-150",attrs:{"aria-label":"Color Mode"},on:{click:function(t){"dark"===e.$colorMode.value?e.$colorMode.preference="light":e.$colorMode.preference="dark"}}},[n("client-only",["light"===e.$colorMode.value?n("IconSun",{staticClass:"w-6 h-6"}):n("IconMoon",{staticClass:"w-6 h-6"})],1)],1)])}),[],!1,null,null,null);t.default=component.exports;installComponents(component,{IconSun:n(232).default,IconMoon:n(233).default})},function(e,t,n){"use strict";t.a=function(e,t){return t=t||{},new Promise((function(n,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(t.method||"get",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,(function(e,t,n){o.push(t=t.toLowerCase()),u.push([t,n]),i[t]=i[t]?i[t]+","+n:n})),n(a())},s.onerror=r,s.withCredentials="include"==t.credentials,t.headers)s.setRequestHeader(l,t.headers[l]);s.send(t.body||null)}))}},function(e,t,n){"use strict";var r=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===o}(e)}(e)};var o="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function l(e,t){return!1!==t.clone&&t.isMergeableObject(e)?m((n=e,Array.isArray(n)?[]:{}),e,t):e;var n}function c(e,source,t){return e.concat(source).map((function(element){return l(element,t)}))}function f(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(symbol){return e.propertyIsEnumerable(symbol)})):[]}(e))}function d(object,e){try{return e in object}catch(e){return!1}}function h(e,source,t){var n={};return t.isMergeableObject(e)&&f(e).forEach((function(r){n[r]=l(e[r],t)})),f(source).forEach((function(r){(function(e,t){return d(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,r)||(d(e,r)&&t.isMergeableObject(source[r])?n[r]=function(e,t){if(!t.customMerge)return m;var n=t.customMerge(e);return"function"==typeof n?n:m}(r,t)(e[r],source[r],t):n[r]=l(source[r],t))})),n}function m(e,source,t){(t=t||{}).arrayMerge=t.arrayMerge||c,t.isMergeableObject=t.isMergeableObject||r,t.cloneUnlessOtherwiseSpecified=l;var n=Array.isArray(source);return n===Array.isArray(e)?n?t.arrayMerge(e,source,t):h(e,source,t):l(source,t)}m.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return m(e,n,t)}),{})};var v=m;e.exports=v},function(e,t,n){(function(e,n){var r="__lodash_hash_undefined__",o=9007199254740991,l="[object Arguments]",c="[object Array]",f="[object Boolean]",d="[object Date]",h="[object Error]",m="[object Function]",v="[object Map]",y="[object Number]",w="[object Object]",x="[object Promise]",k="[object RegExp]",D="[object Set]",_="[object String]",C="[object Symbol]",O="[object WeakMap]",A="[object ArrayBuffer]",E="[object DataView]",j=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,F=/^\./,$=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,P=/\\(\\)?/g,T=/^\[object .+?Constructor\]$/,L=/^(?:0|[1-9]\d*)$/,B={};B["[object Float32Array]"]=B["[object Float64Array]"]=B["[object Int8Array]"]=B["[object Int16Array]"]=B["[object Int32Array]"]=B["[object Uint8Array]"]=B["[object Uint8ClampedArray]"]=B["[object Uint16Array]"]=B["[object Uint32Array]"]=!0,B[l]=B[c]=B[A]=B[f]=B[E]=B[d]=B[h]=B[m]=B[v]=B[y]=B[w]=B[k]=B[D]=B[_]=B[O]=!1;var R="object"==typeof e&&e&&e.Object===Object&&e,I="object"==typeof self&&self&&self.Object===Object&&self,M=R||I||Function("return this")(),z=t&&!t.nodeType&&t,N=z&&"object"==typeof n&&n&&!n.nodeType&&n,U=N&&N.exports===z&&R.process,H=function(){try{return U&&U.binding("util")}catch(e){}}(),W=H&&H.isTypedArray;function V(e,t,n,r){for(var o=-1,l=e?e.length:0;++o-1},je.prototype.set=function(e,t){var data=this.__data__,n=Te(data,e);return n<0?data.push([e,t]):data[n][1]=t,this},Se.prototype.clear=function(){this.__data__={hash:new Ee,map:new(ge||je),string:new Ee}},Se.prototype.delete=function(e){return Ke(this,e).delete(e)},Se.prototype.get=function(e){return Ke(this,e).get(e)},Se.prototype.has=function(e){return Ke(this,e).has(e)},Se.prototype.set=function(e,t){return Ke(this,e).set(e,t),this},Fe.prototype.add=Fe.prototype.push=function(e){return this.__data__.set(e,r),this},Fe.prototype.has=function(e){return this.__data__.has(e)},$e.prototype.clear=function(){this.__data__=new je},$e.prototype.delete=function(e){return this.__data__.delete(e)},$e.prototype.get=function(e){return this.__data__.get(e)},$e.prototype.has=function(e){return this.__data__.has(e)},$e.prototype.set=function(e,t){var n=this.__data__;if(n instanceof je){var r=n.__data__;if(!ge||r.length<199)return r.push([e,t]),this;n=this.__data__=new Se(r)}return n.set(e,t),this};var Be,Re,Ie=(Be=function(object,e){return object&&Me(object,e,wt)},function(e,t){if(null==e)return e;if(!pt(e))return Be(e,t);for(var n=e.length,r=Re?n:-1,o=Object(e);(Re?r--:++rf))return!1;var h=l.get(e);if(h&&l.get(t))return h==t;var m=-1,v=!0,y=1&o?new Fe:void 0;for(l.set(e,t),l.set(t,e);++m-1&&e%1==0&&e-1&&e%1==0&&e<=o}function mt(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function bt(e){return!!e&&"object"==typeof e}function vt(e){return"symbol"==typeof e||bt(e)&&ue.call(e)==C}var yt=W?function(e){return function(t){return e(t)}}(W):function(e){return bt(e)&>(e.length)&&!!B[ue.call(e)]};function wt(object){return pt(object)?Pe(object):We(object)}function xt(e){return e}n.exports=ut}).call(this,n(38),n(211)(e))},function(e,t,n){"use strict";function r(e){return null!==e&&"object"==typeof e}function o(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".",l=arguments.length>3?arguments[3]:void 0;if(!r(t))return o(e,{},n,l);var c=Object.assign({},t);for(var f in e)if("__proto__"!==f&&"constructor"!==f){var d=e[f];null!==d&&(l&&l(c,f,d,n)||(Array.isArray(d)&&Array.isArray(c[f])?c[f]=c[f].concat(d):r(d)&&r(c[f])?c[f]=o(d,c[f],(n?"".concat(n,"."):"")+f.toString(),l):c[f]=d))}return c}function l(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r1){var n=d(t);return"".concat(n,".").concat(e)}return e}var h,m=function(e){if(e.then)return e;if("function"==typeof e){var t=e();return t.then?t:Promise.resolve(t)}return Promise.resolve(e)};function g(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t1?t-1:0),r=1;r1?function(e){for(var t=1;t0&&(y("require","linker"),y("linker:autoLink",c.linkers)),c.debug.sendHitTask||x("sendHitTask",null)}}else p("Google Analytics has probably been blocked.")}var C=function(){2!=arguments.length?y("require",arguments.length<=0?void 0:arguments[0]):y("require",arguments.length<=0?void 0:arguments[0],arguments.length<=1?void 0:arguments[1])};function O(e){return(O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var A=function(){var e;c.set.forEach((function(e){var t=e.field,n=e.value;if(void 0===t||void 0===n)throw new Error('[vue-analytics] Wrong configuration in the plugin options.\nThe "set" array requires each item to have a "field" and a "value" property.');x(t,n)})),e=["ec","ecommerce"],c.require.forEach((function(t){if(-1!==e.indexOf(t)||-1!==e.indexOf(t.name))throw new Error("[vue-analytics] The ecommerce features are built-in in the plugin. \nFollow the ecommerce instructions available in the documentation.");if("string"!=typeof t&&"object"!==O(t))throw new Error('[vue-analytics] Wrong configuration in the plugin options. \nThe "require" array requires each item to be a string or to have a "name" and an "options" property.');var n=t.name||t;t.options?C(n,t.options):C(n)}))};function E(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0])||arguments[0];"undefined"!=typeof window&&l().forEach((function(t){window["ga-disable-".concat(t)]=e}))},P=function(){if("undefined"!=typeof document&&"undefined"!=typeof window){if(c.id){var e,t,n=[m(c.id),m(c.disabled)];if(e=c.checkDuplicatedScript,t=c.disableScriptLoader,[Boolean(window&&window.ga),e&&!(Array.prototype.slice.call(document.getElementsByTagName("script")).filter((function(e){return-1!==e.src.indexOf("analytics")||-1!==e.src.indexOf("gtag")})).length>0),!t].some(Boolean)){var r="https://www.google-analytics.com",o=c.debug.enabled?"analytics_debug":"analytics",i=c.customResourceURL?f(c.customResourceURL):f("".concat(r,"/").concat(o,".js"),r);n.push(i.catch((function(){p("An error occured! Please check your connection or disable your AD blocker")})))}return Promise.all(n).then((function(e){var t,n,r;u({id:e[0],disabled:e[1]}),$(c.disabled),_(),A(),c.untracked.forEach((function(e){y.apply(void 0,[e.m].concat(F(e.a)))})),t=c.router,n=c.autoTracking,r=c.$vue,n.page&&t&&t.onReady((function(){n.pageviewOnLoad&&t.history.ready&&S(t.currentRoute),t.afterEach((function(e,o){var i=n.skipSamePath,l=n.shouldRouterUpdate;i&&e.path===o.path||("function"!=typeof l||l(e,o))&&r.nextTick().then((function(){S(t.currentRoute)}))}))})),c.ready()})).catch((function(e){c.debug.enabled&&p(e.message)}))}p('Missing the "id" parameter. Add at least one tracking domain ID')}},T=function(e){y("send","exception",{exDescription:e,exFatal:arguments.length>1&&void 0!==arguments[1]&&arguments[1]})},L=function(e){if(c.autoTracking.exception){window.addEventListener("error",(function(e){T(e.message)}));var t=e.config.errorHandler;e.config.errorHandler=function(e,n,r){T(e.message),c.autoTracking.exceptionLogs&&console.error(e),"function"==typeof t&&t.call(void 0,e,n,r)}}},B=T;function R(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var M=function(e){return"".concat(c.ecommerce.enhanced?"ec":"ecommerce",":").concat(e)},z=["addItem","addTransaction","addProduct","addImpression","setAction","addPromo","send"].reduce((function(e,t){return function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},{$vue:e})),e.directive("ga",U),e.prototype.$ga=e.$ga=N,L(e),P()}n.d(t,"default",(function(){return K})),n.d(t,"analyticsMiddleware",(function(){return G})),n.d(t,"onAnalyticsReady",(function(){return Z})),n.d(t,"event",(function(){return Y})),n.d(t,"ecommerce",(function(){return J})),n.d(t,"set",(function(){return Q})),n.d(t,"page",(function(){return ee})),n.d(t,"query",(function(){return te})),n.d(t,"screenview",(function(){return ne})),n.d(t,"time",(function(){return re})),n.d(t,"require",(function(){return oe})),n.d(t,"exception",(function(){return ae})),n.d(t,"social",(function(){return ie}));var G=function(e){e.subscribe((function(e){var t=e.payload;if(t&&t.meta&&t.meta.analytics){var n=t.meta.analytics;if(!Array.isArray(n))throw new Error('The "analytics" property needs to be an array');n.forEach((function(e){var t,n,r=e.shift(),o=e;if(r.includes(":")){var i=W(r.split(":"),2);r=i[0],t=i[1]}if(!(r in N))throw new Error('[vue-analytics:vuex] The type "'.concat(r,"\" doesn't exist."));if(t&&!(t in N[r]))throw new Error('[vue-analytics:vuex] The type "'.concat(r,'" has not method "').concat(t,'".'));if("ecommerce"===r&&!t)throw new Error('[vue-analytics:vuex] The type "'.concat(r,'" needs to call a method. Check documentation.'));t?(n=N[r])[t].apply(n,H(o)):N[r].apply(N,H(o))}))}}))},Z=function(){return new Promise((function(e,t){var n=setInterval((function(){"undefined"!=typeof window&&window.ga&&(e(),clearInterval(n))}),10)}))},Y=N.event,J=N.ecommerce,Q=N.set,ee=N.page,te=N.query,ne=N.screenview,re=N.time,oe=N.require,ae=N.exception,ie=N.social}])},function(e){e.exports=JSON.parse('{"title":"团队领袖计划","meta":[{"hid":"charset","charset":"utf-8"},{"hid":"viewport","name":"viewport","content":"width=device-width, initial-scale=1"},{"hid":"mobile-web-app-capable","name":"mobile-web-app-capable","content":"yes"},{"hid":"apple-mobile-web-app-title","name":"apple-mobile-web-app-title","content":"团队领袖计划"},{"hid":"author","name":"author","content":"Willin Wang"},{"hid":"description","name":"description","content":"不可替代的团队领袖培养计划"},{"hid":"theme-color","name":"theme-color","content":"#00CD81"},{"hid":"og:type","name":"og:type","property":"og:type","content":"website"},{"hid":"og:title","name":"og:title","property":"og:title","content":"团队领袖计划"},{"hid":"og:site_name","name":"og:site_name","property":"og:site_name","content":"团队领袖计划"},{"hid":"og:description","name":"og:description","property":"og:description","content":"不可替代的团队领袖培养计划"}],"link":[{"rel":"manifest","href":"/_nuxt/manifest.02b834b6.json","hid":"manifest"}],"htmlAttrs":{"lang":"en"}}')},function(e,t,n){"undefined"!=typeof self&&self,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=1)}([function(e,t){var n="function"==typeof Float32Array;function r(e,t){return 1-3*t+3*e}function o(e,t){return 3*t-6*e}function i(e){return 3*e}function s(e,t,n){return((r(t,n)*e+o(t,n))*e+i(t))*e}function l(e,t,n){return 3*r(t,n)*e*e+2*o(t,n)*e+i(t)}function a(e){return e}e.exports=function(e,t,r,o){if(!(0<=e&&e<=1&&0<=r&&r<=1))throw new Error("bezier x values must be in [0, 1] range");if(e===t&&r===o)return a;for(var i=n?new Float32Array(11):new Array(11),c=0;c<11;++c)i[c]=s(.1*c,e,r);function u(t){for(var n=0,o=1;10!==o&&i[o]<=t;++o)n+=.1;--o;var a=n+(t-i[o])/(i[o+1]-i[o])*.1,c=l(a,e,r);return c>=.001?function(e,t,n,r){for(var o=0;o<4;++o){var i=l(t,n,r);if(0===i)return t;t-=(s(t,n,r)-e)/i}return t}(t,a,e,r):0===c?a:function(e,t,n,r,o){var i,l,a=0;do{(i=s(l=t+(n-t)/2,r,o)-e)>0?n=l:t=l}while(Math.abs(i)>1e-7&&++a<10);return l}(t,n,n+.1,e,r)}return function(e){return 0===e?0:1===e?1:s(u(e),t,o)}}},function(e,t,n){"use strict";n.r(t);var r=function(){var e=this.$createElement;return(this._self._c||e)(this.tag,{ref:"scrollactive-nav-wrapper",tag:"component",staticClass:"scrollactive-nav"},[this._t("default")],2)};r._withStripped=!0;var o=n(0),i=n.n(o);function s(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.getOffsetTop(o)-t.offset,l=i=t.duration&&(s=t.duration),c>=1&&(c=1);var u=t.scrollOffset||t.offset,f=o+l(c)*(i-u);t.scrollContainer.scrollTo(0,f),s0)){e.next=19;break}return e.next=19,new Promise((function(e){return setTimeout(e,r)}));case 19:this.$fetchState.error=t,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((function(){return o.$nuxt.nbFetching--}));case 23:case"end":return e.stop()}}),e,this,[[6,11]])})))).apply(this,arguments)}t.a={beforeCreate:function(){Object(l.m)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.a.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=m.bind(this),Object(l.a)(this,"created",d),Object(l.a)(this,"beforeMount",f))}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return f}));n(13),n(15);var r={},o={},l={};function c(e,t){if(r[e])return Promise.resolve(r[e]);if(l[e])return Promise.reject(l[e]);if(o[e])return o[e];var n,c,f=o[e]=new Promise((function(e,t){n=e,c=t}));delete r[e];var d,script=document.createElement("script");script.charset="utf-8",script.timeout=120,script.src=t;var h=new Error,m=script.onerror=script.onload=function(t){if(clearTimeout(d),delete o[e],script.onerror=script.onload=null,r[e])return n(r[e]);var f=t&&("load"===t.type?"missing":t.type),m=t&&t.target&&t.target.src;h.message="Loading chunk "+e+" failed.\n("+f+": "+m+")",h.name="ChunkLoadError",h.type=f,h.request=m,l[e]=h,c(h)};return d=setTimeout((function(){m({type:"timeout",target:script})}),12e4),document.head.appendChild(script),f}function f(){window.__NUXT_JSONP__=function(e,t){r[e]=t},window.__NUXT_JSONP_CACHE__=r,window.__NUXT_IMPORT__=c}},,,,function(e,t,n){(function(e){e.installComponents=function(component,e){var n="function"==typeof component.exports?component.exports.extendOptions:component.options;for(var i in"function"==typeof component.exports&&(n.components=component.exports.options.components),n.components=n.components||{},e)n.components[i]=n.components[i]||e[i];n.functional&&function(component,e){if(component.exports[t])return;component.exports[t]=!0;var n=component.exports.render;component.exports.render=function(t,r){return n(t,Object.assign({},r,{_c:function(t,a,b){return r._c(e[t]||t,a,b)}}))}}(component,n.components)};var t="_functionalComponents"}).call(this,n(38))},function(e,t,n){"use strict";n.r(t),function(e){n(28),n(7),n(30);var t=n(14),r=n(3),o=(n(126),n(175),n(180),n(182),n(21),n(15),n(10),n(12),n(33),n(25),n(31),n(26),n(13),n(27),n(0)),l=n(154),c=n(63),f=n(1),d=n(37),h=n(161),m=n(82),v=n(162);function y(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){c=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(c)throw o}}}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i2?t-2:0),r=2;rli{position:relative;counter-increment:list-counter;padding-left:1.75em}.prose ol>li:before{content:counter(list-counter) ".";position:absolute;font-weight:400;color:#718096}.prose ul>li{position:relative;padding-left:1.75em}.prose ul>li:before{content:"";position:absolute;background-color:#cbd5e0;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.prose hr{border-color:#e2e8f0;border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose blockquote{font-weight:400;font-style:normal;color:#718096;border-left-width:.25rem;border-left-color:#e2e8f0;quotes:"\\201C""\\201D""\\2018""\\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose h2{font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose h2,.prose h3{color:#1a202c;padding-bottom:.5rem;border-bottom-width:1px;border-bottom-color:#edf2f7}.prose h3{font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose figure figcaption{color:#718096;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose code{color:#1a202c;font-weight:400;font-size:.875em;background-color:#f7fafc;padding:.25rem;border-width:1px;border-color:#edf2f7;border-radius:.25rem}.prose pre{color:#e2e8f0;background-color:#2d3748;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:DM Mono;line-height:inherit}.prose pre code:after,.prose pre code:before{content:""}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose thead{color:#1a202c;font-weight:600;border-bottom-width:1px;border-bottom-color:#cbd5e0}.prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose tbody tr{border-bottom-width:1px;border-bottom-color:#e2e8f0}.prose tbody tr:last-child{border-bottom-width:0}.prose tbody td{vertical-align:top;padding:.5714286em}.prose{font-size:1rem;line-height:1.75}.prose p{margin-top:1.25em;margin-bottom:1.25em}.prose figure,.prose img,.prose video{margin-top:2em;margin-bottom:2em}.prose figure>*{margin-top:0;margin-bottom:0}.prose h2 code{font-size:.875em}.prose h3 code{font-size:.9em;font-weight:600}.prose ul{margin-top:1.25em;margin-bottom:1.25em}.prose li{margin-top:.5em;margin-bottom:.5em}.prose ol>li:before{left:0}.prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.prose>ul>li>:first-child{margin-top:1.25em}.prose>ul>li>:last-child{margin-bottom:1.25em}.prose>ol>li>:first-child{margin-top:1.25em}.prose>ol>li>:last-child{margin-bottom:1.25em}.prose ol ol,.prose ol ul,.prose ul ol,.prose ul ul{margin-top:.75em;margin-bottom:.75em}.prose h2+*,.prose h3+*,.prose h4+*,.prose hr+*{margin-top:0}.prose thead th:first-child{padding-left:0}.prose thead th:last-child{padding-right:0}.prose tbody td:first-child{padding-left:0}.prose tbody td:last-child{padding-right:0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose a code{color:#00cd81}.dark-mode .dark\\:prose-dark,.dark-mode .dark\\:prose-dark [class~=lead]{color:#e2e8f0}.dark-mode .dark\\:prose-dark a{color:#00cd81}.dark-mode .dark\\:prose-dark strong{color:#f7fafc}.dark-mode .dark\\:prose-dark ol>li:before{color:#cbd5e0}.dark-mode .dark\\:prose-dark ul>li:before{background-color:#718096}.dark-mode .dark\\:prose-dark hr{border-color:#4a5568}.dark-mode .dark\\:prose-dark blockquote{color:#cbd5e0;border-left-color:#4a5568}.dark-mode .dark\\:prose-dark h1{color:#f7fafc}.dark-mode .dark\\:prose-dark h2,.dark-mode .dark\\:prose-dark h3{color:#f7fafc;border-bottom-color:#2d3748}.dark-mode .dark\\:prose-dark h4{color:#f7fafc}.dark-mode .dark\\:prose-dark figure figcaption{color:#cbd5e0}.dark-mode .dark\\:prose-dark code{color:#f7fafc;background-color:#2d3748;border-width:0}.dark-mode .dark\\:prose-dark a code{color:#00cd81}.dark-mode .dark\\:prose-dark thead{color:#f7fafc;border-bottom-color:#718096}.dark-mode .dark\\:prose-dark tbody tr{border-bottom-color:#4a5568}:root{--color-transparent:transparent;--color-current:currentColor;--color-black:#000;--color-white:#fff;--color-gray-100:#f7fafc;--color-gray-200:#edf2f7;--color-gray-300:#e2e8f0;--color-gray-400:#cbd5e0;--color-gray-500:#a0aec0;--color-gray-600:#718096;--color-gray-700:#4a5568;--color-gray-800:#2d3748;--color-gray-900:#1a202c;--color-red-100:#fff5f5;--color-red-200:#fed7d7;--color-red-300:#feb2b2;--color-red-400:#fc8181;--color-red-500:#f56565;--color-red-600:#e53e3e;--color-red-700:#c53030;--color-red-800:#9b2c2c;--color-red-900:#742a2a;--color-orange-100:#fffaf0;--color-orange-200:#feebc8;--color-orange-300:#fbd38d;--color-orange-400:#f6ad55;--color-orange-500:#ed8936;--color-orange-600:#dd6b20;--color-orange-700:#c05621;--color-orange-800:#9c4221;--color-orange-900:#7b341e;--color-yellow-100:ivory;--color-yellow-200:#fefcbf;--color-yellow-300:#faf089;--color-yellow-400:#f6e05e;--color-yellow-500:#ecc94b;--color-yellow-600:#d69e2e;--color-yellow-700:#b7791f;--color-yellow-800:#975a16;--color-yellow-900:#744210;--color-green-100:#f0fff4;--color-green-200:#c6f6d5;--color-green-300:#9ae6b4;--color-green-400:#68d391;--color-green-500:#48bb78;--color-green-600:#38a169;--color-green-700:#2f855a;--color-green-800:#276749;--color-green-900:#22543d;--color-teal-100:#e6fffa;--color-teal-200:#b2f5ea;--color-teal-300:#81e6d9;--color-teal-400:#4fd1c5;--color-teal-500:#38b2ac;--color-teal-600:#319795;--color-teal-700:#2c7a7b;--color-teal-800:#285e61;--color-teal-900:#234e52;--color-blue-100:#ebf8ff;--color-blue-200:#bee3f8;--color-blue-300:#90cdf4;--color-blue-400:#63b3ed;--color-blue-500:#4299e1;--color-blue-600:#3182ce;--color-blue-700:#2b6cb0;--color-blue-800:#2c5282;--color-blue-900:#2a4365;--color-indigo-100:#ebf4ff;--color-indigo-200:#c3dafe;--color-indigo-300:#a3bffa;--color-indigo-400:#7f9cf5;--color-indigo-500:#667eea;--color-indigo-600:#5a67d8;--color-indigo-700:#4c51bf;--color-indigo-800:#434190;--color-indigo-900:#3c366b;--color-purple-100:#faf5ff;--color-purple-200:#e9d8fd;--color-purple-300:#d6bcfa;--color-purple-400:#b794f4;--color-purple-500:#9f7aea;--color-purple-600:#805ad5;--color-purple-700:#6b46c1;--color-purple-800:#553c9a;--color-purple-900:#44337a;--color-pink-100:#fff5f7;--color-pink-200:#fed7e2;--color-pink-300:#fbb6ce;--color-pink-400:#f687b3;--color-pink-500:#ed64a6;--color-pink-600:#d53f8c;--color-pink-700:#b83280;--color-pink-800:#97266d;--color-pink-900:#702459;--color-primary-50:#f2fdf9;--color-primary-100:#e6faf2;--color-primary-200:#bff3e0;--color-primary-300:#99ebcd;--color-primary-400:#4ddca7;--color-primary-500:#00cd81;--color-primary-600:#00b974;--color-primary-700:#007b4d;--color-primary-800:#005c3a;--color-primary-900:#003e27}.space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(0.5rem*var(--space-x-reverse));margin-left:calc(0.5rem*(1 - var(--space-x-reverse)))}.space-x-4>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1rem*var(--space-x-reverse));margin-left:calc(1rem*(1 - var(--space-x-reverse)))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.bg-red-100{--bg-opacity:1;background-color:#fff5f5;background-color:rgba(255,245,245,var(--bg-opacity))}.bg-red-200{--bg-opacity:1;background-color:#fed7d7;background-color:rgba(254,215,215,var(--bg-opacity))}.bg-red-900{--bg-opacity:1;background-color:#742a2a;background-color:rgba(116,42,42,var(--bg-opacity))}.bg-orange-100{--bg-opacity:1;background-color:#fffaf0;background-color:rgba(255,250,240,var(--bg-opacity))}.bg-orange-200{--bg-opacity:1;background-color:#feebc8;background-color:rgba(254,235,200,var(--bg-opacity))}.bg-yellow-900{--bg-opacity:1;background-color:#744210;background-color:rgba(116,66,16,var(--bg-opacity))}.bg-green-100{--bg-opacity:1;background-color:#f0fff4;background-color:rgba(240,255,244,var(--bg-opacity))}.bg-green-200{--bg-opacity:1;background-color:#c6f6d5;background-color:rgba(198,246,213,var(--bg-opacity))}.bg-green-900{--bg-opacity:1;background-color:#22543d;background-color:rgba(34,84,61,var(--bg-opacity))}.bg-blue-100{--bg-opacity:1;background-color:#ebf8ff;background-color:rgba(235,248,255,var(--bg-opacity))}.bg-blue-200{--bg-opacity:1;background-color:#bee3f8;background-color:rgba(190,227,248,var(--bg-opacity))}.bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.bg-primary-100{--bg-opacity:1;background-color:#e6faf2;background-color:rgba(230,250,242,var(--bg-opacity))}.bg-primary-500{--bg-opacity:1;background-color:#00cd81;background-color:rgba(0,205,129,var(--bg-opacity))}.focus\\:bg-white:focus{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.dark-mode .dark\\:bg-gray-800{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity))}.dark-mode .dark\\:bg-gray-900{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.dark-mode .dark\\:bg-primary-900{--bg-opacity:1;background-color:#003e27;background-color:rgba(0,62,39,var(--bg-opacity))}.dark-mode .dark-focus\\:bg-gray-900:focus{--bg-opacity:1;background-color:#1a202c;background-color:rgba(26,32,44,var(--bg-opacity))}.border-transparent{border-color:transparent}.border-gray-300{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.focus\\:border-gray-300:focus{--border-opacity:1;border-color:#e2e8f0;border-color:rgba(226,232,240,var(--border-opacity))}.dark-mode .dark\\:border-gray-700{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.dark-mode .dark\\:border-gray-800{--border-opacity:1;border-color:#2d3748;border-color:rgba(45,55,72,var(--border-opacity))}.dark-mode .dark-focus\\:border-gray-700:focus{--border-opacity:1;border-color:#4a5568;border-color:rgba(74,85,104,var(--border-opacity))}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border-dashed{border-style:dashed}.border-0{border-width:0}.border{border-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.first\\:border-t-0:first-child{border-top-width:0}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.font-mono{font-family:DM Mono,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-16{height:4rem}.h-full{height:100%}.h-screen{height:100vh}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.leading-5{line-height:1.25rem}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.leading-normal{line-height:1.5}.m-0{margin:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-0{margin-left:0}.mr-1{margin-right:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.mb-6{margin-bottom:1.5rem}.mt-16{margin-top:4rem}.mt-px{margin-top:1px}.-mr-2{margin-right:-.5rem}.-mt-4{margin-top:-1rem}.max-w-none{max-width:none}.max-w-full{max-width:100%}.opacity-0{opacity:0}.opacity-75{opacity:.75}.opacity-100{opacity:1}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.p-2{padding:.5rem}.p-4{padding:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.pb-2{padding-bottom:.5rem}.pr-3{padding-right:.75rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pl-10{padding-left:2.5rem}.pt-16{padding-top:4rem}.hover\\:pl-1:hover{padding-left:.25rem}.placeholder-gray-500::-moz-placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.placeholder-gray-500:-ms-input-placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.placeholder-gray-500::placeholder{--placeholder-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--placeholder-opacity))}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{right:0;left:0}.inset-0,.inset-y-0{top:0;bottom:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.shadow-xs{box-shadow:0 0 0 1px rgba(0,0,0,.05)}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.shadow-none{box-shadow:none}.text-left{text-align:left}.text-center{text-align:center}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.text-gray-500{--text-opacity:1;color:#a0aec0;color:rgba(160,174,192,var(--text-opacity))}.text-gray-600{--text-opacity:1;color:#718096;color:rgba(113,128,150,var(--text-opacity))}.text-gray-700{--text-opacity:1;color:#4a5568;color:rgba(74,85,104,var(--text-opacity))}.hover\\:text-primary-500:hover,.text-primary-500{--text-opacity:1;color:#00cd81;color:rgba(0,205,129,var(--text-opacity))}.dark-mode .dark\\:text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.dark-mode .dark\\:text-gray-300{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity))}.dark-mode .dark\\:text-gray-400{--text-opacity:1;color:#cbd5e0;color:rgba(203,213,224,var(--text-opacity))}.dark-mode .dark-hover\\:text-primary-500:hover{--text-opacity:1;color:#00cd81;color:rgba(0,205,129,var(--text-opacity))}.dark-mode .dark-focus\\:text-white:focus{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.hover\\:underline:hover{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.truncate,.whitespace-no-wrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-auto{width:auto}.w-4\\/6{width:66.666667%}.w-full{width:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.gap-2{grid-gap:.5rem;gap:.5rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.origin-top-right{transform-origin:top right}.scale-95{--transform-scale-x:.95;--transform-scale-y:.95}.scale-100{--transform-scale-x:1;--transform-scale-y:1}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.transition-padding{transition-property:padding}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-pulse{-webkit-animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (min-width:640px){.sm\\:flex-row{flex-direction:row}}@media (min-width:1024px){.dark-mode .lg\\:dark\\:bg-transparent,.lg\\:bg-transparent{background-color:transparent}.lg\\:border-t-0{border-top-width:0}.lg\\:border-r{border-right-width:1px}.lg\\:border-l{border-left-width:1px}.lg\\:block{display:block}.lg\\:hidden{display:none}.lg\\:h-auto{height:auto}.lg\\:text-xs{font-size:.75rem;line-height:1rem}.lg\\:-mx-8{margin-left:-2rem;margin-right:-2rem}.lg\\:mt-0{margin-top:0}.lg\\:mb-0{margin-bottom:0}.lg\\:mb-2{margin-bottom:.5rem}.lg\\:max-h-\\(screen-16\\){max-height:calc(100vh - 4rem)}.lg\\:overflow-y-auto{overflow-y:auto}.lg\\:py-8{padding-top:2rem;padding-bottom:2rem}.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:pl-0{padding-left:0}.lg\\:pr-2{padding-right:.5rem}.lg\\:pb-4{padding-bottom:1rem}.lg\\:pt-8{padding-top:2rem}.lg\\:pr-8{padding-right:2rem}.lg\\:pl-8{padding-left:2rem}.lg\\:relative{position:relative}.lg\\:sticky{position:-webkit-sticky;position:sticky}.lg\\:top-16{top:4rem}.lg\\:w-1\\/4{width:25%}.lg\\:w-3\\/4{width:75%}.lg\\:w-1\\/5{width:20%}.lg\\:w-4\\/5{width:80%}.lg\\:w-full{width:100%}}',""]),e.exports=r},function(e,t,n){var content=n(202);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(53).default)("06946318",content,!0,{sourceMap:!1})},function(e,t,n){var r=n(52)(!1);r.push([e.i,'.dark-mode .light-img{display:none}.dark-mode .dark-img{display:block}.dark-img{display:none}.light-img{display:block}.nuxt-content{word-wrap:break-word}.nuxt-content h2:before,.nuxt-content h3:before{display:block;content:" ";margin-top:-85px;height:85px;visibility:hidden;pointer-events:none}.nuxt-content h2>a,.nuxt-content h3>a{margin-left:1.25rem}.nuxt-content h2>a:before,.nuxt-content h3>a:before{content:"#";--text-opacity:1;color:#00cd81;color:rgba(0,205,129,var(--text-opacity));font-weight:400;font-size:1.25rem;line-height:1.75rem;line-height:2rem;margin-left:-1.25rem;padding-right:.5rem;position:absolute;opacity:1}@media (min-width:1024px){.nuxt-content h2>a,.nuxt-content h3>a{margin-left:0}.nuxt-content h2>a:before,.nuxt-content h3>a:before{opacity:0}}.nuxt-content h2:hover>a:before,.nuxt-content h3:hover>a:before{opacity:1}.nuxt-content .nuxt-content-highlight{position:relative}.nuxt-content .nuxt-content-highlight>.filename{position:absolute;right:0;top:0;--text-opacity:1;color:#f7fafc;color:rgba(247,250,252,var(--text-opacity));z-index:10;font-family:DM Mono,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.875rem;line-height:1.25rem;letter-spacing:-.025em;line-height:1;margin-right:1rem;margin-top:.75rem}.nuxt-content .nuxt-content-highlight>.filename+pre[class*=language-]{padding-top:2rem}.nuxt-content .nuxt-content-highlight>.copy{display:none;position:absolute;right:0;bottom:0;line-height:1;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);padding:.5rem;--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity));--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity));font-size:.875rem;line-height:1.25rem;text-transform:uppercase;border-radius:.375rem;border-width:1px;--border-opacity:1;border-color:#fff;border-color:rgba(255,255,255,var(--border-opacity));font-weight:600;margin-right:.75rem;margin-bottom:.75rem}.nuxt-content .nuxt-content-highlight>.copy:hover{--bg-opacity:1;background-color:#4a5568;background-color:rgba(74,85,104,var(--bg-opacity))}.nuxt-content .nuxt-content-highlight>.copy:focus{outline:2px solid transparent;outline-offset:2px;--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity))}.nuxt-content .nuxt-content-highlight:hover>.copy{display:block}.nuxt-content pre[class*=language-]{--bg-opacity:1;background-color:#2d3748;background-color:rgba(45,55,72,var(--bg-opacity));position:static}',""]),e.exports=r},function(e,t,n){var content=n(204);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(53).default)("0623093e",content,!0,{sourceMap:!1})},function(e,t,n){var r=n(52)(!1);r.push([e.i,"code[class*=language-],pre[class*=language-]{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;color:#c3cee3;background:#263238;font-family:Roboto Mono,monospace;font-size:1em;line-height:1.5em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection{background:#363636}code[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-]::selection,pre[class*=language-] ::selection{background:#363636}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.2em;padding:.1em}pre[class*=language-]{overflow:auto;position:relative;margin:.5em 0;padding:1.25em 1em}.language-css>code,.language-sass>code,.language-scss>code{color:#fd9170}[class*=language-] .namespace{opacity:.7}.token.atrule{color:#c792ea}.token.attr-name{color:#ffcb6b}.token.attr-value,.token.attribute{color:#c3e88d}.token.boolean{color:#c792ea}.token.builtin{color:#ffcb6b}.token.cdata,.token.char{color:#80cbc4}.token.class{color:#ffcb6b}.token.class-name,.token.color{color:#f2ff00}.token.comment{color:#546e7a}.token.constant{color:#c792ea}.token.deleted{color:#f07178}.token.doctype{color:#546e7a}.token.entity{color:#f07178}.token.function{color:#c792ea}.token.hexcode{color:#f2ff00}.token.id,.token.important{color:#c792ea;font-weight:700}.token.inserted{color:#80cbc4}.token.keyword{color:#c792ea;font-style:italic}.token.number{color:#fd9170}.token.operator{color:#89ddff}.token.prolog{color:#546e7a}.token.property{color:#80cbc4}.token.pseudo-class,.token.pseudo-element{color:#c3e88d}.token.punctuation{color:#89ddff}.token.regex{color:#f2ff00}.token.selector{color:#f07178}.token.string{color:#c3e88d}.token.symbol{color:#c792ea}.token.tag,.token.unit{color:#f07178}.token.url{color:#fd9170}.token.variable{color:#f07178}",""]),e.exports=r},function(e,t,n){"use strict";n(135)},function(e,t,n){var r=n(52)(!1);r.push([e.i,".DocSearch{--docsearch-primary-color:var(--color-primary-500);--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-text-color:var(--color-gray-700);--docsearch-modal-background:var(--color-gray-100);--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-searchbox-background:var(--color-gray-200);--docsearch-searchbox-focus-background:var(--color-gray-200);--docsearch-hit-color:var(--color-gray-700);--docsearch-muted-color:var(--color-gray-500)}.DocSearch-Button{width:100%!important;margin-left:0!important;border-radius:.375rem!important}.DocSearch-Button,.DocSearch-Button-Placeholder{padding-left:.75rem!important;padding-right:.75rem!important}.DocSearch-Screen-Icon>svg{display:inline!important}.dark-mode .DocSearch{--docsearch-text-color:var(--color-gray-300);--docsearch-container-background:rgba(9,10,17,0.8);--docsearch-modal-background:var(--color-gray-900);--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:var(--color-gray-800);--docsearch-searchbox-focus-background:var(--color-gray-800);--docsearch-hit-color:var(--color-gray-300);--docsearch-hit-shadow:none;--docsearch-hit-background:var(--color-gray-800);--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,0.3);--docsearch-footer-background:var(--color-gray-800);--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,0.5),0 -4px 8px 0 rgba(0,0,0,0.2);--docsearch-logo-color:#fff;--docsearch-muted-color:var(--color-gray-500)}",""]),e.exports=r},,,,function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return d})),n.d(t,"getters",(function(){return h})),n.d(t,"mutations",(function(){return m})),n.d(t,"actions",(function(){return v}));var r=n(0),o=n(156),l=n.n(o),c=n(157),f=n.n(c);const d=()=>({categories:{},releases:[],settings:{title:"Nuxt Content Docs",url:"",defaultDir:"docs",defaultBranch:"",filled:!1}}),h={settings:e=>e.settings,githubUrls(e){const{github:t="",githubApi:n=""}=e.settings;return t.startsWith("http")&&n.startsWith("http")?{repo:t,api:{repo:n,releases:`${n}/releases`}}:{repo:`https://github.com/${t}`,api:{repo:`https://api.github.com/repos/${t}`,releases:`https://api.github.com/repos/${t}/releases`}}},releases:e=>e.releases,lastRelease:e=>e.releases[0]},m={SET_CATEGORIES(e,t){r.a.set(e.categories,this.$i18n.locale,t)},SET_RELEASES(e,t){e.releases=t},SET_DEFAULT_BRANCH(e,t){e.settings.defaultBranch=t},SET_SETTINGS(e,t){e.settings=f()({filled:!0},t,e.settings),e.settings.url||console.warn("Please provide the `url` property in `content/setting.json`")}},v={async fetchCategories({commit:e,state:t}){if(t.categories[this.$i18n.locale])return;const n=await this.$content(this.$i18n.locale,{deep:!0}).only(["title","menuTitle","category","slug","version","to"]).sortBy("position","asc").fetch();t.releases.length>0&&n.push({slug:"releases",title:"Releases",category:"Community",to:"/releases"});e("SET_CATEGORIES",l()(n,"category"))},async fetchReleases({commit:e,state:t,getters:n}){if(!t.settings.github)return;const r={};this.$config.githubToken&&(r.headers={Authorization:`token ${this.$config.githubToken}`});let o=[];try{o=(await fetch(n.githubUrls.api.releases,r).then((e=>{if(!e.ok)throw new Error(e.statusText);return e})).then((e=>e.json()))).filter((e=>!e.draft)).map((e=>({name:(e.name||e.tag_name).replace("Release ",""),date:e.published_at,body:this.$markdown(e.body)})))}catch(e){}const l=e=>e.name&&Number(e.name.substring(1,2));o.sort(((a,b)=>{const e=l(a),t=l(b);return e!==t?t-e:new Date(b.date)-new Date(a.date)})),e("SET_RELEASES",o)},async fetchDefaultBranch({commit:e,state:t,getters:n}){if(!t.settings.github||t.settings.defaultBranch)return;const r={};let o;this.$config.githubToken&&(r.headers={Authorization:`token ${this.$config.githubToken}`});try{o=(await fetch(n.githubUrls.api.repo,r).then((e=>{if(!e.ok)throw new Error(e.statusText);return e})).then((e=>e.json()))).default_branch}catch(e){}e("SET_DEFAULT_BRANCH",o||"main")},async fetchSettings({commit:e}){try{const{dir:t,extension:n,path:path,slug:r,to:o,createdAt:l,updatedAt:c,...f}=await this.$content("settings").fetch();e("SET_SETTINGS",f)}catch(e){console.warn("You can add a `settings.json` file inside the `content/` folder to customize this theme.")}}}},,function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return r})),n.d(t,"mutations",(function(){return o}));const r=()=>({open:!1}),o={toggle(e,t){e.open=void 0!==t?t:!e.open},close(e){e.open=!1}}},function(e,t,n){"use strict";var r=n(136),o=n(138),l=n(141),c=n(142),f=n(145),html=n(215);e.exports=r([l,o,c,f,html])},function(e,t){e.exports=function(){for(var e={},i=0;i4&&n.slice(0,4)===data&&c.test(t)&&("-"===t.charAt(4)?v=function(e){var t=e.slice(5).replace(f,m);return data+t.charAt(0).toUpperCase()+t.slice(1)}(t):t=function(e){var t=e.slice(4);if(f.test(t))return e;"-"!==(t=t.replace(d,h)).charAt(0)&&(t="-"+t);return data+t}(t),y=o);return new y(v,t)};var c=/^data[-\w.:]+$/i,f=/-[a-z]/g,d=/[A-Z]/g;function h(e){return"-"+e.toLowerCase()}function m(e){return e.charAt(1).toUpperCase()}},function(e,t,n){"use strict";n(33),n(25),e.exports=function(e,t){void 0===t&&(t=!0);var n=t&&e.headers?e.headers["x-forwarded-proto"]:void 0,r="string"==typeof n?n.includes("https"):void 0;if(r)return!0;var o=e.connection?e.connection.encrypted:void 0,l=void 0!==o?!0===o:void 0;return!!l||void 0===r&&void 0===l&&void 0}},,,,,function(e,t,n){"use strict";n.r(t);let r;var o={name:"Dropdown",directives:{"click-away":{bind(e,t,n){r=r=>{r.stopPropagation(),e.contains(r.target)&&!r.target.href||n.context[t.value]()},document.addEventListener("click",r)},unbind(){document.removeEventListener("click",r)}}},data:function(){return{open:!1}},methods:{toggle:function(){this.open=!this.open},close:function(){this.open=!1}}},l=n(2),component=Object(l.a)(o,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{directives:[{name:"click-away",rawName:"v-click-away",value:"close",expression:"'close'"}],staticClass:"relative inline-block text-left",on:{mouseenter:function(t){e.open=!0},mouseleave:function(t){e.open=!1},keydown:function(t){if(!t.type.indexOf("key")&&e._k(t.keyCode,"escape",void 0,t.key,void 0))return null;e.open=!1}}},[e._t("trigger",null,{toggle:e.toggle,open:e.open}),e._v(" "),n("transition",{attrs:{"enter-class":"transform opacity-0 scale-95","enter-active-class":"transition ease-out duration-100","enter-to-class":"transform opacity-100 scale-100","leave-class":"transform opacity-100 scale-100","leave-active-class":"transition ease-in duration-75","leave-to-class":"transform opacity-0 scale-95"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],staticClass:"mt-2 w-auto rounded-md shadow-lg z-50 origin-top-right absolute bottom-0 right-0"},[n("div",{staticClass:"rounded-md bg-white dark:bg-gray-800 shadow-xs"},[e._t("default")],2)])])],2)}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(5);n(34),n(48),n(26),n(13),n(27),n(31);var o={props:{options:{type:Object,required:!0},settings:{type:Object,required:!0}},watch:{"$i18n.locale":function(e){this.update(this.options,e)},options:function(e){this.update(e,this.$i18n.locale)}},mounted:function(){this.initialize(this.options,this.$i18n.locale)},methods:{stripTrailingSlash:function(e){return e.replace(/\/$|\/(?=\?)|\/(?=#)/g,"")},getRelativePath:function(e){var t=new URL(e),n=t.pathname,r=t.hash,o=n.replace(this.settings.url,"/")+r;return this.stripTrailingSlash(o)},initialize:function(e,code){var t=this,o=this.$i18n.locales.find((function(e){return e.code===code}));Promise.all([n.e(28).then(n.bind(null,274)),n.e(28).then(n.t.bind(null,275,7))]).then((function(n){var l=Object(r.a)(n,1)[0];(l=l.default)(Object.assign({},e,{container:"#docsearch",searchParameters:Object.assign({},o&&{facetFilters:["".concat(e.langAttribute||"language",":").concat(o.iso)].concat(e.facetFilters||[])}),navigator:{navigate:function(e){var n=e.suggestionUrl,r=new URL(window.location.origin+n).pathname;t.$router.history.current.path===r?window.location.assign(window.location.origin+n):t.$router.push(n)}},transformItems:function(e){return e.map((function(e){return Object.assign({},e,{url:t.getRelativePath(e.url)})}))},hitComponent:function(e){var n=e.hit,r=e.children;return{type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:n.url,onClick:function(e){if(!function(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)&&t.$router.history.current.fullPath!==n.url){var r=new URL(window.location.origin+n.url).pathname;t.$router.history.current.path!==r&&e.preventDefault(),t.$router.push(n.url)}},children:r}}}}))}))},update:function(e,t){this.$el.innerHTML='
    ',this.initialize(e,t)}}},l=(n(205),n(2)),component=Object(l.a)(o,(function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"lg:w-full",attrs:{id:"docsearch"}})}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);n(12),n(7),n(10),n(17),n(18);var r=n(4),o=(n(207),n(22));function l(object,e){var t=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(object,e).enumerable}))),t.push.apply(t,n)}return t}function c(e){for(var i=1;iNumber(t)}}}},d=n(2),component=Object(d.a)(f,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("aside",{staticClass:"w-full lg:w-1/5 lg:block fixed lg:relative inset-0 mt-16 lg:mt-0 z-30 bg-white dark:bg-gray-900 lg:bg-transparent lg:dark:bg-transparent",class:{block:e.menu,hidden:!e.menu}},[n("div",{staticClass:"lg:sticky lg:top-16 overflow-y-auto h-full lg:h-auto lg:max-h-(screen-16)"},[n("ul",{staticClass:"p-4 lg:py-8 lg:pl-0 lg:pr-8"},[e.settings.algolia?e._e():n("li",{staticClass:"mb-4 lg:hidden"},[n("AppSearch")],1),e._v(" "),e._l(e.categories,(function(t,r,o){return n("li",{key:r,staticClass:"mb-4",class:{active:e.isCategoryActive(t),"lg:mb-0":o===Object.keys(e.categories).length-1}},[r?n("p",{staticClass:"mb-2 text-gray-500 uppercase tracking-wider font-bold text-sm lg:text-xs"},[e._v(e._s(r))]):e._e(),e._v(" "),n("ul",e._l(t,(function(t){return n("li",{key:t.slug,staticClass:"text-gray-700 dark:text-gray-300"},[n("NuxtLink",{staticClass:"px-2 rounded font-medium py-1 hover:text-primary-500 flex items-center justify-between",attrs:{to:e.localePath(t.to),"exact-active-class":"text-primary-500 bg-primary-100 hover:text-primary-500 dark:bg-primary-900"}},[e._v("\n "+e._s(t.menuTitle||t.title)+"\n "),n("client-only",[e.isDocumentNew(t)?n("span",{staticClass:"animate-pulse rounded-full bg-primary-500 opacity-75 h-2 w-2"}):e._e()])],1)],1)})),0)])})),e._v(" "),n("li",{staticClass:"lg:hidden space-x-2"},[n("p",{staticClass:"mb-2 text-gray-500 uppercase tracking-wider font-bold text-sm lg:text-xs"},[e._v("More")]),e._v(" "),n("div",{staticClass:"flex items-center space-x-4"},[e.settings.twitter?n("a",{staticClass:"inline-flex text-gray-700 dark:text-gray-300 hover:text-primary-500",attrs:{href:"https://twitter.com/"+e.settings.twitter,target:"_blank",rel:"noopener noreferrer",title:"Twitter",name:"Twitter"}},[n("IconTwitter",{staticClass:"w-5 h-5"})],1):e._e(),e._v(" "),e.settings.github?n("a",{staticClass:"inline-flex text-gray-700 dark:text-gray-300 hover:text-primary-500",attrs:{href:e.githubUrls.repo,target:"_blank",rel:"noopener noreferrer",title:"Github",name:"Github"}},[n("IconGithub",{staticClass:"w-5 h-5"})],1):e._e(),e._v(" "),n("AppLangSwitcher"),e._v(" "),n("AppColorSwitcher")],1)])],2)])])}),[],!1,null,null,null);t.default=component.exports;installComponents(component,{AppSearch:n(148).default,IconTwitter:n(151).default,IconGithub:n(152).default,AppLangSwitcher:n(149).default,AppColorSwitcher:n(153).default})},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",viewBox:"0 0 24 24",stroke:"currentColor"}},[t("path",{attrs:{d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",viewBox:"0 0 24 24",stroke:"currentColor"}},[t("path",{attrs:{d:"M9 5l7 7-7 7"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",viewBox:"0 0 24 24",stroke:"currentColor"}},[t("path",{attrs:{d:"M6 18L18 6M6 6l12 12"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",viewBox:"0 0 24 24",stroke:"currentColor"}},[t("path",{attrs:{d:"M4 6h16M4 12h16M4 18h16"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",stroke:"currentColor",viewBox:"0 0 24 24"}},[t("path",{attrs:{d:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",viewBox:"0 0 24 24",stroke:"currentColor"}},[t("path",{attrs:{d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",viewBox:"0 0 24 24",stroke:"currentColor"}},[t("path",{attrs:{d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"}})])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1050 140"}},[n("g",{attrs:{fill:"none","fill-rule":"evenodd"}},[n("path",{attrs:{d:"M752.09356 137.76c-1.4858 1.49334-3.2966 2.24-5.43244 2.24-2.13584 0-3.94663-.74666-5.43243-2.24-1.4858-1.49334-2.22869-3.31332-2.22869-5.46V49.7c0-2.14668.74289-3.96666 2.22869-5.46 1.4858-1.49334 3.2966-2.24 5.43243-2.24 2.13584 0 3.96985.74666 5.50208 2.24 1.53223 1.49334 2.29834 3.31332 2.29834 5.46v33.6h36.07692V49.7c0-2.14668.7429-3.96666 2.2287-5.46 1.4858-1.49334 3.29659-2.24 5.43242-2.24 2.13584 0 3.96985.74666 5.50208 2.24C805.2339 45.73334 806 47.55332 806 49.7v82.6c0 2.14668-.7661 3.96666-2.29834 5.46-1.53223 1.49334-3.36624 2.24-5.50208 2.24-2.13583 0-3.94663-.74666-5.43243-2.24-1.4858-1.49334-2.22869-3.31332-2.22869-5.46V98.7h-36.07692v33.6c0 2.14668-.78932 3.96666-2.36798 5.46zM713.76536 44.24C715.25513 45.73334 716 47.55332 716 49.7s-.76815 3.99-2.30447 5.53-3.32867 2.31-5.3771 2.31h-22.2067v74.76c0 2.14668-.74487 3.96666-2.23463 5.46-1.48977 1.49334-3.3054 2.24-5.44693 2.24-2.14154 0-3.95716-.74666-5.44693-2.24-1.48977-1.49334-2.23464-3.31332-2.23464-5.46V57.54h-22.06704c-2.14153 0-3.95716-.77-5.44692-2.31C641.74487 53.69 641 51.84668 641 49.7c0-2.14668.74487-3.96666 2.23464-5.46 1.48976-1.49334 3.30539-2.24 5.44692-2.24h59.63688c2.14153 0 3.95716.74666 5.44692 2.24zM606 49.7c0-2.14668.76876-3.96666 2.3063-5.46 1.53755-1.49334 3.4114-2.24 5.62163-2.24 2.21022 0 4.1081.74666 5.6937 2.24C621.20721 45.73334 622 47.55332 622 49.7v82.6c0 2.14668-.79278 3.96666-2.37838 5.46s-3.48347 2.24-5.6937 2.24c-2.21021 0-4.08407-.74666-5.62161-2.24C606.76876 136.26666 606 134.44668 606 132.3V49.7zM492.36045 138.59978l-1.1209.84013h-.14011c-.28023 0-.70057.14002-1.26102.42007h-.42034c-.28023.09335-.72392.14002-1.33108.14002s-1.05084-.04667-1.33107-.14002h-.42034c-.56046-.1867-.88738-.30338-.9808-.35006-.0934-.04667-.25687-.11668-.49039-.21003-.23352-.09335-.5838-.32671-1.05085-.7001h-.1401c-.37365-.28005-.74728-.6301-1.12091-1.05017-.37364-.42007-.65386-.72344-.84068-.91014v-.14002c-.09341-.09335-.21017-.30338-.35028-.6301-.14012-.32672-.25688-.53675-.35029-.6301l-34.46782-81.63262c-.74727-1.96031-.72392-3.9206.07006-5.8809.79398-1.96032 2.17174-3.31385 4.13333-4.06063 1.86819-.84014 3.8064-.86348 5.8147-.07001 2.0083.79345 3.38606 2.17032 4.13333 4.13063l27.46217 64.83003 18.07459-42.98665c1.30773-3.17384 3.71298-4.76074 7.21582-4.76074 3.50285 0 5.9548 1.5869 7.35594 4.76074l18.07459 42.98665 27.32205-64.83003c.84068-1.9603 2.2418-3.33718 4.2034-4.13063 1.96159-.79347 3.92315-.79347 5.88474 0 1.9616.79345 3.33936 2.19366 4.13334 4.20064.79398 2.007.77063 3.94394-.07006 5.8109l-34.3277 81.63262c-.18682.74679-.70056 1.49356-1.54125 2.24035 0 .09335-.0467.23337-.14011.42006-.37364.1867-.70056.42007-.9808.70011h-.1401l-1.26102.84013h-.14012c-.0934 0-.18681.02334-.28022.07001-.09341.04668-.42034.16336-.9808.35006h-.28022c-.28023.09335-.72392.14002-1.33108.14002-.60715 0-1.05084-.04667-1.33107-.14002h-.42034c-.56045-.1867-.88738-.30338-.98079-.35006-.0934-.04667-.25687-.09334-.4904-.14002-.23352-.04667-.5838-.30337-1.05084-.77012h-.14012c-.84068-.56009-1.44783-1.21351-1.82147-1.9603-.37363-.1867-.65386-.65343-.84068-1.40022l-18.35481-43.4067-18.35482 43.4067c-.0934.28005-.28022.7001-.56045 1.2602l-.98079.98015c0 .09335-.0467.23337-.14011.42006-.18682.09335-.46704.32672-.84068.70011h-.28023z",fill:"#00C48D","fill-rule":"nonzero"}}),e._v(" "),n("path",{attrs:{d:"M383.76536 44.24C385.25513 45.73334 386 47.55332 386 49.7s-.76815 3.99-2.30447 5.53-3.32867 2.31-5.3771 2.31h-22.2067v74.76c0 2.14668-.74487 3.96666-2.23464 5.46-1.48976 1.49334-3.30539 2.24-5.44692 2.24-2.14154 0-3.95716-.74666-5.44693-2.24-1.48977-1.49334-2.23464-3.31332-2.23464-5.46V57.54h-22.06704c-2.14153 0-3.95716-.77-5.44692-2.31C311.74487 53.69 311 51.84668 311 49.7c0-2.14668.74487-3.96666 2.23464-5.46 1.48976-1.49334 3.30539-2.24 5.44692-2.24h59.63688c2.14153 0 3.95716.74666 5.44692 2.24zM247.67735 140c-2.14037 0-3.955-.74666-5.44394-2.24C240.74446 136.26666 240 134.44668 240 132.3V49.7c0-2.14668.74446-3.96666 2.23341-5.46s3.30357-2.24 5.44394-2.24c2.14036 0 3.97825.74666 5.51373 2.24 1.53547 1.49334 2.3032 3.31332 2.3032 5.46v74.76h37.82837c2.0473 0 3.83867.77 5.37415 2.31 1.53547 1.54 2.3032 3.35999 2.3032 5.46s-.76773 3.92-2.3032 5.46c-1.53548 1.54-3.32684 2.31-5.37415 2.31h-45.6453zM197 49.7c0-2.14668.76876-3.96666 2.3063-5.46 1.53755-1.49334 3.4114-2.24 5.62163-2.24 2.21022 0 4.1081.74666 5.6937 2.24C212.2072 45.73334 213 47.55332 213 49.7v82.6c0 2.14668-.79279 3.96666-2.37838 5.46-1.5856 1.49334-3.48347 2.24-5.6937 2.24-2.21021 0-4.08407-.74666-5.62161-2.24C197.76876 136.26666 197 134.44668 197 132.3V49.7zM164 98.54c0 11.10672-3.9472 20.62663-11.8417 28.56-7.8945 7.93337-17.44717 11.9-28.6583 11.9s-20.7638-3.9433-28.6583-11.83C86.9472 119.2833 83 109.74006 83 98.54V48.7c0-2.14668.7474-3.96666 2.24221-5.46 1.49482-1.49334 3.3166-2.24 5.4654-2.24 2.1488 0 3.99394.74666 5.53547 2.24 1.54153 1.49334 2.31228 3.31332 2.31228 5.46v49.84c0 6.81337 2.42905 12.66998 7.2872 17.57 4.85816 4.90002 10.74391 7.35 17.65744 7.35 6.91353 0 12.79928-2.42664 17.65744-7.28 4.85815-4.85336 7.2872-10.7333 7.2872-17.64V48.7c0-2.14668.77075-3.96666 2.31228-5.46 1.54153-1.49334 3.38667-2.24 5.53547-2.24s3.97058.74666 5.4654 2.24C163.2526 44.73334 164 46.55332 164 48.7v49.84zM8.26 140l-.14-.14c-.09333 0-.23333.04667-.42.14-2.14668 0-3.96666-.74666-5.46-2.24C.74666 136.26666 0 134.44668 0 132.3V49.7c0-2.14668.74666-3.96666 2.24-5.46C3.73334 42.74666 5.55332 42 7.7 42h19.88c7.37337 0 13.64997 2.58997 18.83 7.77 5.18003 5.18003 7.77 11.0833 7.77 17.71 0 6.6267-1.77332 12.31998-5.32 17.08 4.29335 2.70668 7.72332 6.29998 10.29 10.78 2.56668 4.48002 3.85 9.3333 3.85 14.56 0 8.3067-2.91664 15.39997-8.75 21.28-5.83336 5.88003-12.9033 8.82-21.21 8.82H8.26zm7.28-82.46v22.4h12.04c3.08002 0 5.69332-1.11999 7.84-3.36s3.22-4.89998 3.22-7.98-1.07332-5.69332-3.22-7.84-4.75998-3.22-7.84-3.22H15.54zm0 37.94v28.98h17.5c4.01335-.09333 7.41999-1.53999 10.22-4.34 2.80001-2.80001 4.2-6.20665 4.2-10.22 0-4.01335-1.39999-7.39665-4.2-10.15-2.80001-2.75335-6.20665-4.17667-10.22-4.27h-17.5z",fill:"#2F495E","fill-rule":"nonzero"}}),e._v(" "),n("g",{attrs:{"fill-rule":"nonzero",transform:"translate(865)"}},[n("path",{attrs:{d:"M105.41346 38.55829l-6.33111 11.13597-21.65186-38.0943-66.46753 116.92767h45.00297c0 6.15023 4.90828 11.13597 10.96296 11.13597H10.96296c-3.91631 0-7.5348-2.12357-9.49262-5.5689-1.95783-3.44535-1.95763-7.6899.00052-11.13505L67.9384 6.03198c1.9583-3.44565 5.57756-5.5683 9.49438-5.5683 3.91681 0 7.53608 2.12265 9.49438 5.5683l18.4863 32.52631z",fill:"#00C58E"}}),e._v(" "),n("path",{attrs:{d:"M153.3947 122.95965l-41.65013-73.2654-6.33111-11.13596-6.33111 11.13597-41.64556 73.26539c-1.95816 3.44515-1.95836 7.6897-.00053 11.13504 1.95783 3.44534 5.57632 5.56891 9.49263 5.56891h76.96c3.91713 0 7.5371-2.12126 9.49605-5.5669 1.95895-3.44564 1.95918-7.69118.00062-11.13705h.00913zm-86.46581 5.56798l38.48457-67.6974 38.47543 67.6974h-76.96z",fill:"#2F495E"}}),e._v(" "),n("path",{attrs:{d:"M183.17284 134.09562c-1.95797 3.44482-5.57616 5.56798-9.4921 5.56798H143.8889c6.05468 0 10.96296-4.98574 10.96296-11.13597h18.80605l-53.36222-93.88085-8.55111 15.04748-6.33111-11.13597 5.39012-9.4795c1.9583-3.44565 5.57757-5.5683 9.49438-5.5683 3.91682 0 7.53609 2.12265 9.49439 5.5683l53.38049 93.88086c1.95834 3.44548 1.95834 7.69049 0 11.13597z",fill:"#108775"}})])])])}),[],!1,null,null,null);t.default=component.exports},function(e,t,n){"use strict";n.r(t);var r=n(2),component=Object(r.a)({},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1050 140"}},[n("g",{attrs:{fill:"none","fill-rule":"evenodd"}},[n("path",{attrs:{d:"M752.09356 137.76c-1.4858 1.49334-3.2966 2.24-5.43244 2.24-2.13584 0-3.94663-.74666-5.43243-2.24-1.4858-1.49334-2.22869-3.31332-2.22869-5.46V49.7c0-2.14668.74289-3.96666 2.22869-5.46 1.4858-1.49334 3.2966-2.24 5.43243-2.24 2.13584 0 3.96985.74666 5.50208 2.24 1.53223 1.49334 2.29834 3.31332 2.29834 5.46v33.6h36.07692V49.7c0-2.14668.7429-3.96666 2.2287-5.46 1.4858-1.49334 3.29659-2.24 5.43242-2.24 2.13584 0 3.96985.74666 5.50208 2.24C805.2339 45.73334 806 47.55332 806 49.7v82.6c0 2.14668-.7661 3.96666-2.29834 5.46-1.53223 1.49334-3.36624 2.24-5.50208 2.24-2.13583 0-3.94663-.74666-5.43243-2.24-1.4858-1.49334-2.22869-3.31332-2.22869-5.46V98.7h-36.07692v33.6c0 2.14668-.78932 3.96666-2.36798 5.46zM713.76536 44.24C715.25513 45.73334 716 47.55332 716 49.7s-.76815 3.99-2.30447 5.53-3.32867 2.31-5.3771 2.31h-22.2067v74.76c0 2.14668-.74487 3.96666-2.23463 5.46-1.48977 1.49334-3.3054 2.24-5.44693 2.24-2.14154 0-3.95716-.74666-5.44693-2.24-1.48977-1.49334-2.23464-3.31332-2.23464-5.46V57.54h-22.06704c-2.14153 0-3.95716-.77-5.44692-2.31C641.74487 53.69 641 51.84668 641 49.7c0-2.14668.74487-3.96666 2.23464-5.46 1.48976-1.49334 3.30539-2.24 5.44692-2.24h59.63688c2.14153 0 3.95716.74666 5.44692 2.24zM606 49.7c0-2.14668.76876-3.96666 2.3063-5.46 1.53755-1.49334 3.4114-2.24 5.62163-2.24 2.21022 0 4.1081.74666 5.6937 2.24C621.20721 45.73334 622 47.55332 622 49.7v82.6c0 2.14668-.79278 3.96666-2.37838 5.46s-3.48347 2.24-5.6937 2.24c-2.21021 0-4.08407-.74666-5.62161-2.24C606.76876 136.26666 606 134.44668 606 132.3V49.7zM492.36045 138.59978l-1.1209.84013h-.14011c-.28023 0-.70057.14002-1.26102.42007h-.42034c-.28023.09335-.72392.14002-1.33108.14002s-1.05084-.04667-1.33107-.14002h-.42034c-.56046-.1867-.88738-.30338-.9808-.35006-.0934-.04667-.25687-.11668-.49039-.21003-.23352-.09335-.5838-.32671-1.05085-.7001h-.1401c-.37365-.28005-.74728-.6301-1.12091-1.05017-.37364-.42007-.65386-.72344-.84068-.91014v-.14002c-.09341-.09335-.21017-.30338-.35028-.6301-.14012-.32672-.25688-.53675-.35029-.6301l-34.46782-81.63262c-.74727-1.96031-.72392-3.9206.07006-5.8809.79398-1.96032 2.17174-3.31385 4.13333-4.06063 1.86819-.84014 3.8064-.86348 5.8147-.07001 2.0083.79345 3.38606 2.17032 4.13333 4.13063l27.46217 64.83003 18.07459-42.98665c1.30773-3.17384 3.71298-4.76074 7.21582-4.76074 3.50285 0 5.9548 1.5869 7.35594 4.76074l18.07459 42.98665 27.32205-64.83003c.84068-1.9603 2.2418-3.33718 4.2034-4.13063 1.96159-.79347 3.92315-.79347 5.88474 0 1.9616.79345 3.33936 2.19366 4.13334 4.20064.79398 2.007.77063 3.94394-.07006 5.8109l-34.3277 81.63262c-.18682.74679-.70056 1.49356-1.54125 2.24035 0 .09335-.0467.23337-.14011.42006-.37364.1867-.70056.42007-.9808.70011h-.1401l-1.26102.84013h-.14012c-.0934 0-.18681.02334-.28022.07001-.09341.04668-.42034.16336-.9808.35006h-.28022c-.28023.09335-.72392.14002-1.33108.14002-.60715 0-1.05084-.04667-1.33107-.14002h-.42034c-.56045-.1867-.88738-.30338-.98079-.35006-.0934-.04667-.25687-.09334-.4904-.14002-.23352-.04667-.5838-.30337-1.05084-.77012h-.14012c-.84068-.56009-1.44783-1.21351-1.82147-1.9603-.37363-.1867-.65386-.65343-.84068-1.40022l-18.35481-43.4067-18.35482 43.4067c-.0934.28005-.28022.7001-.56045 1.2602l-.98079.98015c0 .09335-.0467.23337-.14011.42006-.18682.09335-.46704.32672-.84068.70011h-.28023z",fill:"#00C48D","fill-rule":"nonzero"}}),e._v(" "),n("path",{attrs:{d:"M383.76536 44.24C385.25513 45.73334 386 47.55332 386 49.7s-.76815 3.99-2.30447 5.53-3.32867 2.31-5.3771 2.31h-22.2067v74.76c0 2.14668-.74487 3.96666-2.23464 5.46-1.48976 1.49334-3.30539 2.24-5.44692 2.24-2.14154 0-3.95716-.74666-5.44693-2.24-1.48977-1.49334-2.23464-3.31332-2.23464-5.46V57.54h-22.06704c-2.14153 0-3.95716-.77-5.44692-2.31C311.74487 53.69 311 51.84668 311 49.7c0-2.14668.74487-3.96666 2.23464-5.46 1.48976-1.49334 3.30539-2.24 5.44692-2.24h59.63688c2.14153 0 3.95716.74666 5.44692 2.24zM247.67735 140c-2.14037 0-3.955-.74666-5.44394-2.24C240.74446 136.26666 240 134.44668 240 132.3V49.7c0-2.14668.74446-3.96666 2.23341-5.46s3.30357-2.24 5.44394-2.24c2.14036 0 3.97825.74666 5.51373 2.24 1.53547 1.49334 2.3032 3.31332 2.3032 5.46v74.76h37.82837c2.0473 0 3.83867.77 5.37415 2.31 1.53547 1.54 2.3032 3.35999 2.3032 5.46s-.76773 3.92-2.3032 5.46c-1.53548 1.54-3.32684 2.31-5.37415 2.31h-45.6453zM197 49.7c0-2.14668.76876-3.96666 2.3063-5.46 1.53755-1.49334 3.4114-2.24 5.62163-2.24 2.21022 0 4.1081.74666 5.6937 2.24C212.2072 45.73334 213 47.55332 213 49.7v82.6c0 2.14668-.79279 3.96666-2.37838 5.46-1.5856 1.49334-3.48347 2.24-5.6937 2.24-2.21021 0-4.08407-.74666-5.62161-2.24C197.76876 136.26666 197 134.44668 197 132.3V49.7zM164 98.54c0 11.10672-3.9472 20.62663-11.8417 28.56-7.8945 7.93337-17.44717 11.9-28.6583 11.9s-20.7638-3.9433-28.6583-11.83C86.9472 119.2833 83 109.74006 83 98.54V48.7c0-2.14668.7474-3.96666 2.24221-5.46 1.49482-1.49334 3.3166-2.24 5.4654-2.24 2.1488 0 3.99394.74666 5.53547 2.24 1.54153 1.49334 2.31228 3.31332 2.31228 5.46v49.84c0 6.81337 2.42905 12.66998 7.2872 17.57 4.85816 4.90002 10.74391 7.35 17.65744 7.35 6.91353 0 12.79928-2.42664 17.65744-7.28 4.85815-4.85336 7.2872-10.7333 7.2872-17.64V48.7c0-2.14668.77075-3.96666 2.31228-5.46 1.54153-1.49334 3.38667-2.24 5.53547-2.24s3.97058.74666 5.4654 2.24C163.2526 44.73334 164 46.55332 164 48.7v49.84zM8.26 140l-.14-.14c-.09333 0-.23333.04667-.42.14-2.14668 0-3.96666-.74666-5.46-2.24C.74666 136.26666 0 134.44668 0 132.3V49.7c0-2.14668.74666-3.96666 2.24-5.46C3.73334 42.74666 5.55332 42 7.7 42h19.88c7.37337 0 13.64997 2.58997 18.83 7.77 5.18003 5.18003 7.77 11.0833 7.77 17.71 0 6.6267-1.77332 12.31998-5.32 17.08 4.29335 2.70668 7.72332 6.29998 10.29 10.78 2.56668 4.48002 3.85 9.3333 3.85 14.56 0 8.3067-2.91664 15.39997-8.75 21.28-5.83336 5.88003-12.9033 8.82-21.21 8.82H8.26zm7.28-82.46v22.4h12.04c3.08002 0 5.69332-1.11999 7.84-3.36s3.22-4.89998 3.22-7.98-1.07332-5.69332-3.22-7.84-4.75998-3.22-7.84-3.22H15.54zm0 37.94v28.98h17.5c4.01335-.09333 7.41999-1.53999 10.22-4.34 2.80001-2.80001 4.2-6.20665 4.2-10.22 0-4.01335-1.39999-7.39665-4.2-10.15-2.80001-2.75335-6.20665-4.17667-10.22-4.27h-17.5z",fill:"#FFF","fill-rule":"nonzero"}}),e._v(" "),n("g",{attrs:{"fill-rule":"nonzero",transform:"translate(865)"}},[n("path",{attrs:{d:"M105.41346 38.55829l-6.33111 11.13597-21.65186-38.0943-66.46753 116.92767h45.00297c0 6.15023 4.90828 11.13597 10.96296 11.13597H10.96296c-3.91631 0-7.5348-2.12357-9.49262-5.5689-1.95783-3.44535-1.95763-7.6899.00052-11.13505L67.9384 6.03198c1.9583-3.44565 5.57756-5.5683 9.49438-5.5683 3.91681 0 7.53608 2.12265 9.49438 5.5683l18.4863 32.52631z",fill:"#00C58E"}}),e._v(" "),n("path",{attrs:{d:"M153.3947 122.95965l-41.65013-73.2654-6.33111-11.13596-6.33111 11.13597-41.64556 73.26539c-1.95816 3.44515-1.95836 7.6897-.00053 11.13504 1.95783 3.44534 5.57632 5.56891 9.49263 5.56891h76.96c3.91713 0 7.5371-2.12126 9.49605-5.5669 1.95895-3.44564 1.95918-7.69118.00062-11.13705h.00913zm-86.46581 5.56798l38.48457-67.6974 38.47543 67.6974h-76.96z",fill:"#FFF"}}),e._v(" "),n("path",{attrs:{d:"M183.17284 134.09562c-1.95797 3.44482-5.57616 5.56798-9.4921 5.56798H143.8889c6.05468 0 10.96296-4.98574 10.96296-11.13597h18.80605l-53.36222-93.88085-8.55111 15.04748-6.33111-11.13597 5.39012-9.4795c1.9583-3.44565 5.57757-5.5683 9.49438-5.5683 3.91682 0 7.53609 2.12265 9.49439 5.5683l53.38049 93.88086c1.95834 3.44548 1.95834 7.69049 0 11.13597z",fill:"#108775"}})])])])}),[],!1,null,null,null);t.default=component.exports}]]); \ No newline at end of file diff --git a/_nuxt/5ce51ea.js b/_nuxt/5ce51ea.js new file mode 100644 index 00000000..00d6ac33 --- /dev/null +++ b/_nuxt/5ce51ea.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{242:function(e,t,c){var content=c(256);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,c(53).default)("3c959120",content,!0,{sourceMap:!1})},255:function(e,t,c){"use strict";c(242)},256:function(e,t,c){var o=c(52)(!1);o.push([e.i,".code-block[data-v-15fab0cb]{display:none}.code-block.active[data-v-15fab0cb]{display:block}",""]),e.exports=o},282:function(e,t,c){"use strict";c.r(t);var o={props:{label:{type:String,required:!0},active:{type:Boolean,default:!1}}},l=(c(255),c(2)),component=Object(l.a)(o,(function(){var e=this,t=e.$createElement;return(e._self._c||t)("div",{staticClass:"code-block",class:[e.active&&"active"]},[e._t("default")],2)}),[],!1,null,"15fab0cb",null);t.default=component.exports}}]); \ No newline at end of file diff --git a/_nuxt/69ac389.js b/_nuxt/69ac389.js new file mode 100644 index 00000000..abba4f4f --- /dev/null +++ b/_nuxt/69ac389.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{165:function(n,o,w){w(166),n.exports=w(167)}},[[165,25,2,26]]]); \ No newline at end of file diff --git a/_nuxt/6a461de.js b/_nuxt/6a461de.js new file mode 100644 index 00000000..2812af2a --- /dev/null +++ b/_nuxt/6a461de.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{239:function(e,l,t){"use strict";t.r(l);var n=t(2),component=Object(n.a)({},(function(){var e=this.$createElement,l=this._self._c||e;return l("svg",{attrs:{fill:"currentColor",viewBox:"0 0 20 20"}},[l("path",{attrs:{"fill-rule":"evenodd",d:"M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z","clip-rule":"evenodd"}})])}),[],!1,null,null,null);l.default=component.exports}}]); \ No newline at end of file diff --git a/_nuxt/7379e7d.js b/_nuxt/7379e7d.js new file mode 100644 index 00000000..fc7383f6 --- /dev/null +++ b/_nuxt/7379e7d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{249:function(t,e,n){"use strict";n.r(e);var r=n(2),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",viewBox:"0 0 24 24",stroke:"currentColor"}},[e("path",{attrs:{d:"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3"}})])}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file diff --git a/_nuxt/75135f6.js b/_nuxt/75135f6.js new file mode 100644 index 00000000..fcc4d845 --- /dev/null +++ b/_nuxt/75135f6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{278:function(e,t,r){"use strict";r.r(t);var n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$",o=/[<>\b\f\n\r\t\0\u2028\u2029]/g,c=/^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/,f={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},l=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function h(e){return Object(e)!==e}function y(e){if("string"==typeof e)return m(e);if(void 0===e)return"void 0";if(0===e&&1/e<0)return"-0";var t=String(e);return"number"==typeof e?t.replace(/^(-)?0\./,"$1."):t}function w(e){return Object.prototype.toString.call(e).slice(8,-1)}function O(e){return f[e]||e}function j(e){return e.replace(o,O)}function m(e){for(var t='"',i=0;i=55296&&code<=57343){var n=e.charCodeAt(i+1);t+=code<=56319&&n>=56320&&n<=57343?r+e[++i]:"\\u"+code.toString(16).toUpperCase()}else t+=r}return t+='"'}t.default=function(e){var t=new Map;!function e(r){if("function"==typeof r)throw new Error("Cannot stringify a function");if(t.has(r))t.set(r,t.get(r)+1);else if(t.set(r,1),!h(r))switch(w(r)){case"Number":case"String":case"Boolean":case"Date":case"RegExp":return;case"Array":r.forEach(e);break;case"Set":case"Map":Array.from(r).forEach(e);break;default:var n=Object.getPrototypeOf(r);if(n!==Object.prototype&&null!==n&&Object.getOwnPropertyNames(n).sort().join("\0")!==l)throw new Error("Cannot stringify arbitrary non-POJOs");if(Object.getOwnPropertySymbols(r).length>0)throw new Error("Cannot stringify POJOs with symbolic keys");Object.keys(r).forEach((function(t){return e(r[t])}))}}(e);var r=new Map;function o(e){if(r.has(e))return r.get(e);if(h(e))return y(e);var t=w(e);switch(t){case"Number":case"String":case"Boolean":return"Object("+o(e.valueOf())+")";case"RegExp":return"new RegExp("+m(e.source)+', "'+e.flags+'")';case"Date":return"new Date("+e.getTime()+")";case"Array":var n=e.map((function(t,i){return i in e?o(t):""})),c=0===e.length||e.length-1 in e?"":",";return"["+n.join(",")+c+"]";case"Set":case"Map":return"new "+t+"(["+Array.from(e).map(o).join(",")+"])";default:var f="{"+Object.keys(e).map((function(t){return function(e){return/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(e)?e:j(JSON.stringify(e))}(t)+":"+o(e[t])})).join(",")+"}";return null===Object.getPrototypeOf(e)?Object.keys(e).length>0?"Object.assign(Object.create(null),"+f+")":"Object.create(null)":f}}Array.from(t).filter((function(e){return e[1]>1})).sort((function(a,b){return b[1]-a[1]})).forEach((function(e,i){r.set(e[0],function(e){var t="";do{t=n[e%n.length]+t,e=~~(e/n.length)-1}while(e>=0);return c.test(t)?t+"_":t}(i))}));var f=o(e);if(r.size){var O=[],v=[],d=[];return r.forEach((function(e,t){if(O.push(e),h(t))d.push(y(t));else switch(w(t)){case"Number":case"String":case"Boolean":d.push("Object("+o(t.valueOf())+")");break;case"RegExp":d.push(t.toString());break;case"Date":d.push("new Date("+t.getTime()+")");break;case"Array":d.push("Array("+t.length+")"),t.forEach((function(t,i){v.push(e+"["+i+"]="+o(t))}));break;case"Set":d.push("new Set"),v.push(e+"."+Array.from(t).map((function(e){return"add("+o(e)+")"})).join("."));break;case"Map":d.push("new Map"),v.push(e+"."+Array.from(t).map((function(e){var t=e[0],r=e[1];return"set("+o(t)+", "+o(r)+")"})).join("."));break;default:d.push(null===Object.getPrototypeOf(t)?"Object.create(null)":"{}"),Object.keys(t).forEach((function(r){v.push(""+e+function(e){return/^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(e)?"."+e:"["+j(JSON.stringify(e))+"]"}(r)+"="+o(t[r]))}))}})),v.push("return "+f),"(function("+O.join(",")+"){"+v.join(";")+"}("+d.join(",")+"))"}return f}}}]); \ No newline at end of file diff --git a/_nuxt/757be34.js b/_nuxt/757be34.js new file mode 100644 index 00000000..71789ba3 --- /dev/null +++ b/_nuxt/757be34.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4,18],{238:function(t,e,n){"use strict";n.r(e);var r=n(2),component=Object(r.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("svg",{attrs:{fill:"none","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",viewBox:"0 0 24 24",stroke:"currentColor"}},[e("path",{attrs:{d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"}})])}),[],!1,null,null,null);e.default=component.exports},246:function(t,e,n){"use strict";n.r(e);n(12),n(7),n(17),n(18);var r=n(4),o=(n(10),n(22));function c(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function l(t){for(var i=1;i=0&&Math.floor(e)===e&&isFinite(t)}function _(t){return c(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function w(t){return null==t?"":Array.isArray(t)||v(t)&&t.toString===d?JSON.stringify(t,null,2):String(t)}function x(t){var e=parseFloat(t);return isNaN(e)?t:e}function O(t,e){for(var map=Object.create(null),n=t.split(","),i=0;i-1)return t.splice(n,1)}}var k=Object.prototype.hasOwnProperty;function C(t,e){return k.call(t,e)}function E(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var $=/-(\w)/g,j=E((function(t){return t.replace($,(function(t,e){return e?e.toUpperCase():""}))})),T=E((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),I=/\B([A-Z])/g,P=E((function(t){return t.replace(I,"-$1").toLowerCase()}));var M=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(a){var n=arguments.length;return n?n>1?t.apply(e,arguments):t.call(e,a):t.call(e)}return n._length=t.length,n};function N(t,e){e=e||0;for(var i=t.length-e,n=new Array(i);i--;)n[i]=t[i+e];return n}function L(t,e){for(var n in e)t[n]=e[n];return t}function R(t){for(var e={},i=0;i0,ut=it&&it.indexOf("edge/")>0,st=(it&&it.indexOf("android"),it&&/iphone|ipad|ipod|ios/.test(it)||"ios"===ot),ft=(it&&/chrome\/\d+/.test(it),it&&/phantomjs/.test(it),it&&it.match(/firefox\/(\d+)/)),lt={}.watch,pt=!1;if(et)try{var ht={};Object.defineProperty(ht,"passive",{get:function(){pt=!0}}),window.addEventListener("test-passive",null,ht)}catch(t){}var vt=function(){return void 0===Z&&(Z=!et&&!nt&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),Z},yt=et&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function mt(t){return"function"==typeof t&&/native code/.test(t.toString())}var gt,bt="undefined"!=typeof Symbol&&mt(Symbol)&&"undefined"!=typeof Reflect&&mt(Reflect.ownKeys);gt="undefined"!=typeof Set&&mt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var _t=F,wt=0,xt=function(){this.id=wt++,this.subs=[]};xt.prototype.addSub=function(sub){this.subs.push(sub)},xt.prototype.removeSub=function(sub){A(this.subs,sub)},xt.prototype.depend=function(){xt.target&&xt.target.addDep(this)},xt.prototype.notify=function(){var t=this.subs.slice();for(var i=0,e=t.length;i-1)if(c&&!C(o,"default"))f=!1;else if(""===f||f===P(t)){var h=Zt(String,o.type);(h<0||l0&&(xe((n=Oe(n,(e||"")+"_"+i))[0])&&xe(h)&&(d[r]=$t(h.text+n[0].text),n.shift()),d.push.apply(d,n)):l(n)?xe(h)?d[r]=$t(h.text+n):""!==n&&d.push($t(n)):xe(n)&&xe(h)?d[r]=$t(h.text+n.text):(f(t._isVList)&&c(n.tag)&&o(n.key)&&c(e)&&(n.key="__vlist"+e+"_"+i+"__"),d.push(n)));return d}function Se(t,e){if(t){for(var n=Object.create(null),r=bt?Reflect.ownKeys(t):Object.keys(t),i=0;i0,f=t?!!t.$stable:!c,l=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(f&&n&&n!==r&&l===n.$key&&!c&&!n.$hasNormal)return n;for(var h in o={},t)t[h]&&"$"!==h[0]&&(o[h]=$e(e,h,t[h]))}else o={};for(var d in e)d in o||(o[d]=je(e,d));return t&&Object.isExtensible(t)&&(t._normalized=o),Y(o,"$stable",f),Y(o,"$key",l),Y(o,"$hasNormal",c),o}function $e(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({}),e=(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:we(t))&&t[0];return t&&(!e||1===t.length&&e.isComment&&!Ce(e))?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function je(t,e){return function(){return t[e]}}function Te(t,e){var n,i,r,o,f;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),i=0,r=t.length;idocument.createEvent("Event").timeStamp&&(On=function(){return Sn.now()})}function An(){var t,e;for(xn=On(),_n=!0,yn.sort((function(a,b){return a.id-b.id})),wn=0;wnwn&&yn[i].id>t.id;)i--;yn.splice(i+1,0,t)}else yn.push(t);bn||(bn=!0,pe(An))}}(this)},Cn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||h(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'+this.expression+'"';ee(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},Cn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Cn.prototype.depend=function(){for(var i=this.deps.length;i--;)this.deps[i].depend()},Cn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||A(this.vm._watchers,this);for(var i=this.deps.length;i--;)this.deps[i].removeSub(this);this.active=!1}};var En={enumerable:!0,configurable:!0,get:F,set:F};function $n(t,e,n){En.get=function(){return this[e][n]},En.set=function(t){this[e][n]=t},Object.defineProperty(t,n,En)}function jn(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];t.$parent&&Nt(!1);var c=function(c){o.push(c);var f=Jt(c,e,n,t);Ft(r,c,f),c in t||$n(t,"_props",c)};for(var f in e)c(f);Nt(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]="function"!=typeof e[n]?F:M(e[n],t)}(t,e.methods),e.data?function(t){var data=t.$options.data;v(data=t._data="function"==typeof data?function(data,t){St();try{return data.call(t,t)}catch(e){return te(e,t,"data()"),{}}finally{At()}}(data,t):data||{})||(data={});var e=Object.keys(data),n=t.$options.props,i=(t.$options.methods,e.length);for(;i--;){var r=e[i];0,n&&C(n,r)||X(r)||$n(t,"_data",r)}Rt(data,!0)}(t):Rt(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=vt();for(var o in e){var c=e[o],f="function"==typeof c?c:c.get;0,r||(n[o]=new Cn(t,f||F,F,Tn)),o in t||In(t,o,c)}}(t,e.computed),e.watch&&e.watch!==lt&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i-1:"string"==typeof pattern?pattern.split(",").indexOf(t)>-1:!!y(pattern)&&pattern.test(t)}function zn(t,filter){var e=t.cache,n=t.keys,r=t._vnode;for(var o in e){var c=e[o];if(c){var f=c.name;f&&!filter(f)&&Bn(e,o,n,r)}}}function Bn(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,A(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=Ln++,e._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Kt(Rn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&sn(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,o=n&&n.context;t.$slots=Ae(e._renderChildren,o),t.$scopedSlots=r,t._c=function(a,b,e,n){return Ze(t,a,b,e,n,!1)},t.$createElement=function(a,b,e,n){return Ze(t,a,b,e,n,!0)};var c=n&&n.data;Ft(t,"$attrs",c&&c.attrs||r,null,!0),Ft(t,"$listeners",e._parentListeners||r,null,!0)}(e),vn(e,"beforeCreate"),function(t){var e=Se(t.$options.inject,t);e&&(Nt(!1),Object.keys(e).forEach((function(n){Ft(t,n,e[n])})),Nt(!0))}(e),jn(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),vn(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Fn),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Dt,t.prototype.$delete=del,t.prototype.$watch=function(t,e,n){var r=this;if(v(e))return Nn(r,t,e,n);(n=n||{}).user=!0;var o=new Cn(r,t,e,n);if(n.immediate){var c='callback for immediate watcher "'+o.expression+'"';St(),ee(e,r,[o.value],r,c),At()}return function(){o.teardown()}}}(Fn),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var i=0,o=t.length;i1?N(n):n;for(var r=N(arguments,1),o='event handler for "'+t+'"',i=0,c=n.length;iparseInt(this.max)&&Bn(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Bn(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){zn(t,(function(t){return Vn(e,t)}))})),this.$watch("exclude",(function(e){zn(t,(function(t){return!Vn(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var slot=this.$slots.default,t=on(slot),e=t&&t.componentOptions;if(e){var n=Un(e),r=this.include,o=this.exclude;if(r&&(!n||!Vn(r,n))||o&&n&&Vn(o,n))return t;var c=this.cache,f=this.keys,l=null==t.key?e.Ctor.cid+(e.tag?"::"+e.tag:""):t.key;c[l]?(t.componentInstance=c[l].componentInstance,A(f,l),f.push(l)):(this.vnodeToCache=t,this.keyToCache=l),t.data.keepAlive=!0}return t||slot&&slot[0]}},qn={KeepAlive:Gn};!function(t){var e={get:function(){return W}};Object.defineProperty(t,"config",e),t.util={warn:_t,extend:L,mergeOptions:Kt,defineReactive:Ft},t.set=Dt,t.delete=del,t.nextTick=pe,t.observable=function(t){return Rt(t),t},t.options=Object.create(null),G.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,L(t.options.components,qn),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=N(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Kt(this.options,t),this}}(t),Dn(t),function(t){G.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&v(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Fn),Object.defineProperty(Fn.prototype,"$isServer",{get:vt}),Object.defineProperty(Fn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Fn,"FunctionalRenderContext",{value:qe}),Fn.version="2.6.14";var Kn=O("style,class"),Wn=O("input,textarea,option,select,progress"),Jn=O("contenteditable,draggable,spellcheck"),Xn=O("events,caret,typing,plaintext-only"),Yn=O("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Qn="http://www.w3.org/1999/xlink",Zn=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},er=function(t){return Zn(t)?t.slice(6,t.length):""},nr=function(t){return null==t||!1===t};function rr(t){for(var data=t.data,e=t,n=t;c(n.componentInstance);)(n=n.componentInstance._vnode)&&n.data&&(data=or(n.data,data));for(;c(e=e.parent);)e&&e.data&&(data=or(data,e.data));return function(t,e){if(c(t)||c(e))return ir(t,ar(e));return""}(data.staticClass,data.class)}function or(t,e){return{staticClass:ir(t.staticClass,e.staticClass),class:c(t.class)?[t.class,e.class]:e.class}}function ir(a,b){return a?b?a+" "+b:a:b||""}function ar(t){return Array.isArray(t)?function(t){for(var e,n="",i=0,r=t.length;i-1?Tr(t,e,n):Yn(e)?nr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Jn(e)?t.setAttribute(e,function(t,e){return nr(e)||"false"===e?"false":"contenteditable"===t&&Xn(e)?e:"true"}(e,n)):Zn(e)?nr(n)?t.removeAttributeNS(Qn,er(e)):t.setAttributeNS(Qn,e,n):Tr(t,e,n)}function Tr(t,e,n){if(nr(n))t.removeAttribute(e);else{if(at&&!ct&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Ir={create:$r,update:$r};function Pr(t,e){var n=e.elm,data=e.data,r=t.data;if(!(o(data.staticClass)&&o(data.class)&&(o(r)||o(r.staticClass)&&o(r.class)))){var f=rr(e),l=n._transitionClasses;c(l)&&(f=ir(f,ar(l))),f!==n._prevClass&&(n.setAttribute("class",f),n._prevClass=f)}}var Mr,Nr={create:Pr,update:Pr};function Lr(t,e,n){var r=Mr;return function o(){var c=e.apply(null,arguments);null!==c&&Dr(t,o,n,r)}}var Rr=ie&&!(ft&&Number(ft[1])<=53);function Fr(t,e,n,r){if(Rr){var o=xn,c=e;e=c._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return c.apply(this,arguments)}}Mr.addEventListener(t,e,pt?{capture:n,passive:r}:n)}function Dr(t,e,n,r){(r||Mr).removeEventListener(t,e._wrapper||e,n)}function Ur(t,e){if(!o(t.data.on)||!o(e.data.on)){var n=e.data.on||{},r=t.data.on||{};Mr=e.elm,function(t){if(c(t.__r)){var e=at?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}c(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),ge(n,r,Fr,Dr,Lr,e.context),Mr=void 0}}var Vr,zr={create:Ur,update:Ur};function Br(t,e){if(!o(t.data.domProps)||!o(e.data.domProps)){var n,r,f=e.elm,l=t.data.domProps||{},h=e.data.domProps||{};for(n in c(h.__ob__)&&(h=e.data.domProps=L({},h)),l)n in h||(f[n]="");for(n in h){if(r=h[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===l[n])continue;1===f.childNodes.length&&f.removeChild(f.childNodes[0])}if("value"===n&&"PROGRESS"!==f.tagName){f._value=r;var d=o(r)?"":String(r);Hr(f,d)&&(f.value=d)}else if("innerHTML"===n&&sr(f.tagName)&&o(f.innerHTML)){(Vr=Vr||document.createElement("div")).innerHTML=""+r+"";for(var svg=Vr.firstChild;f.firstChild;)f.removeChild(f.firstChild);for(;svg.firstChild;)f.appendChild(svg.firstChild)}else if(r!==l[n])try{f[n]=r}catch(t){}}}}function Hr(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(c(r)){if(r.number)return x(n)!==x(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Gr={create:Br,update:Br},qr=E((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Kr(data){var style=Wr(data.style);return data.staticStyle?L(data.staticStyle,style):style}function Wr(t){return Array.isArray(t)?R(t):"string"==typeof t?qr(t):t}var Jr,Xr=/^--/,Yr=/\s*!important$/,Qr=function(t,e,n){if(Xr.test(e))t.style.setProperty(e,n);else if(Yr.test(n))t.style.setProperty(P(e),n.replace(Yr,""),"important");else{var r=to(e);if(Array.isArray(n))for(var i=0,o=n.length;i-1?e.split(no).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function oo(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(no).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function io(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&L(e,ao(t.name||"v")),L(e,t),e}return"string"==typeof t?ao(t):void 0}}var ao=E((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),co=et&&!ct,uo="transition",so="animation",fo="transition",lo="transitionend",po="animation",ho="animationend";co&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(fo="WebkitTransition",lo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(po="WebkitAnimation",ho="webkitAnimationEnd"));var vo=et?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function yo(t){vo((function(){vo(t)}))}function mo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ro(t,e))}function go(t,e){t._transitionClasses&&A(t._transitionClasses,e),oo(t,e)}function bo(t,e,n){var r=wo(t,e),o=r.type,c=r.timeout,f=r.propCount;if(!o)return n();var l=o===uo?lo:ho,h=0,d=function(){t.removeEventListener(l,v),n()},v=function(e){e.target===t&&++h>=f&&d()};setTimeout((function(){h0&&(n=uo,v=f,y=c.length):e===so?d>0&&(n=so,v=d,y=h.length):y=(n=(v=Math.max(f,d))>0?f>d?uo:so:null)?n===uo?c.length:h.length:0,{type:n,timeout:v,propCount:y,hasTransform:n===uo&&_o.test(r[fo+"Property"])}}function xo(t,e){for(;t.length1}function Eo(t,e){!0!==e.data.show&&So(e)}var $o=function(t){var i,e,n={},r=t.modules,h=t.nodeOps;for(i=0;iw?A(t,o(n[S+1])?null:n[S+1].elm,n,_,S,r):_>S&&C(e,m,w)}(m,_,x,r,y):c(x)?(c(t.text)&&h.setTextContent(m,""),A(m,null,x,0,x.length-1,r)):c(_)?C(_,0,_.length-1):c(t.text)&&h.setTextContent(m,""):t.text!==e.text&&h.setTextContent(m,e.text),c(data)&&c(i=data.hook)&&c(i=i.postpatch)&&i(t,e)}}}function T(t,e,n){if(f(n)&&c(t.parent))t.parent.data.pendingInsert=e;else for(var i=0;i-1,option.selected!==c&&(option.selected=c);else if(V(Mo(option),r))return void(t.selectedIndex!==i&&(t.selectedIndex=i));o||(t.selectedIndex=-1)}}function Po(t,e){return e.every((function(e){return!V(e,t)}))}function Mo(option){return"_value"in option?option._value:option.value}function No(t){t.target.composing=!0}function Lo(t){t.target.composing&&(t.target.composing=!1,Ro(t.target,"input"))}function Ro(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Fo(t){return!t.componentInstance||t.data&&t.data.transition?t:Fo(t.componentInstance._vnode)}var Do={bind:function(t,e,n){var r=e.value,o=(n=Fo(n)).data&&n.data.transition,c=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,So(n,(function(){t.style.display=c}))):t.style.display=r?c:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=Fo(n)).data&&n.data.transition?(n.data.show=!0,r?So(n,(function(){t.style.display=t.__vOriginalDisplay})):Ao(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},Uo={model:jo,show:Do},Vo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function zo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?zo(on(e.children)):t}function Bo(t){var data={},e=t.$options;for(var n in e.propsData)data[n]=t[n];var r=e._parentListeners;for(var o in r)data[j(o)]=r[o];return data}function Ho(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Go=function(t){return t.tag||Ce(t)},qo=function(t){return"show"===t.name},Ko={name:"transition",props:Vo,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Go)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var c=zo(o);if(!c)return o;if(this._leaving)return Ho(t,o);var f="__transition-"+this._uid+"-";c.key=null==c.key?c.isComment?f+"comment":f+c.tag:l(c.key)?0===String(c.key).indexOf(f)?c.key:f+c.key:c.key;var data=(c.data||(c.data={})).transition=Bo(this),h=this._vnode,d=zo(h);if(c.data.directives&&c.data.directives.some(qo)&&(c.data.show=!0),d&&d.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(c,d)&&!Ce(d)&&(!d.componentInstance||!d.componentInstance._vnode.isComment)){var v=d.data.transition=L({},data);if("out-in"===r)return this._leaving=!0,be(v,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Ho(t,o);if("in-out"===r){if(Ce(c))return h;var y,m=function(){y()};be(data,"afterEnter",m),be(data,"enterCancelled",m),be(v,"delayLeave",(function(t){y=t}))}}return o}}},Wo=L({tag:String,moveClass:String},Vo);function Jo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Xo(t){t.data.newPos=t.elm.getBoundingClientRect()}function Yo(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var s=t.elm.style;s.transform=s.WebkitTransform="translate("+r+"px,"+o+"px)",s.transitionDuration="0s"}}delete Wo.mode;var Qo={Transition:Ko,TransitionGroup:{props:Wo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=ln(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",map=Object.create(null),n=this.prevChildren=this.children,r=this.$slots.default||[],o=this.children=[],c=Bo(this),i=0;i-1?lr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:lr[t]=/HTMLUnknownElement/.test(e.toString())},L(Fn.options.directives,Uo),L(Fn.options.components,Qo),Fn.prototype.__patch__=et?$o:F,Fn.prototype.$mount=function(t,e){return function(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=Et),vn(t,"beforeMount"),r=function(){t._update(t._render(),n)},new Cn(t,r,F,{before:function(){t._isMounted&&!t._isDestroyed&&vn(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,vn(t,"mounted")),t}(this,t=t&&et?function(t){if("string"==typeof t){return document.querySelector(t)||document.createElement("div")}return t}(t):void 0,e)},et&&setTimeout((function(){W.devtools&&yt&&yt.emit("init",Fn)}),0),e.a=Fn}).call(this,n(38),n(193).setImmediate)},,function(t,e,n){"use strict";function r(t,e,n,r,o,c,f,l){var h,d="function"==typeof t?t.options:t;if(e&&(d.render=e,d.staticRenderFns=n,d._compiled=!0),r&&(d.functional=!0),c&&(d._scopeId="data-v-"+c),f?(h=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(f)},d._ssrRegister=h):o&&(h=l?function(){o.call(this,(d.functional?this.parent:this).$root.$options.shadowRoot)}:o),h)if(d.functional){d._injectStyles=h;var v=d.render;d.render=function(t,e){return h.call(e),v(t,e)}}else{var y=d.beforeCreate;d.beforeCreate=y?[].concat(y,h):[h]}return{exports:t,options:d}}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";function r(t,e,n,r,o,c,f){try{var l=t[c](f),h=l.value}catch(t){return void n(t)}l.done?e(h):Promise.resolve(h).then(r,o)}function o(t){return function(){var e=this,n=arguments;return new Promise((function(o,c){var f=t.apply(e,n);function l(t){r(f,o,c,l,h,"next",t)}function h(t){r(f,o,c,l,h,"throw",t)}l(void 0)}))}}n.d(e,"a",(function(){return o}))},function(t,e,n){"use strict";function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";n.d(e,"a",(function(){return f}));var r=n(78);var o=n(50),c=n(79);function f(t,i){return Object(r.a)(t)||function(t,i){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,r,o=[],c=!0,f=!1;try{for(e=e.call(t);!(c=(n=e.next()).done)&&(o.push(n.value),!i||o.length!==i);c=!0);}catch(t){f=!0,r=t}finally{try{c||null==e.return||e.return()}finally{if(f)throw r}}return o}}(t,i)||Object(o.a)(t,i)||Object(c.a)()}},function(t,e,n){"use strict";n.d(e,"a",(function(){return Q})),n.d(e,"b",(function(){return at})),n.d(e,"c",(function(){return wt})),n.d(e,"d",(function(){return gt})),n.d(e,"e",(function(){return _t})),n.d(e,"f",(function(){return Ot})),n.d(e,"g",(function(){return vt})),n.d(e,"h",(function(){return ft})),n.d(e,"i",(function(){return ht})),n.d(e,"j",(function(){return st}));n(15),n(7),n(30),n(26),n(27),n(17),n(18);var r=n(5),o=n(4),c=n(78),f=n(80),l=n(50),h=n(79);function d(t){return Object(c.a)(t)||Object(f.a)(t)||Object(l.a)(t)||Object(h.a)()}var v=n(14);function y(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function m(t,e){for(var i=0;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function O(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i>1,t+=C(t/e);t>455;r+=36)t=C(t/35);return C(r+36*t/(t+38))};function T(t){return function(t,e){var n=t.split("@"),r="";n.length>1&&(r=n[0]+"@",t=n[1]);var o=function(t,e){for(var n=[],r=t.length;r--;)n[r]=e(t[r]);return n}((t=t.replace(A,".")).split("."),(function(t){return S.test(t)?"xn--"+function(t){var e,n=[],r=(t=function(t){for(var e=[],n=0,r=t.length;n=55296&&o<=56319&&n=o&&mC((2147483647-i)/a)&&$("overflow"),i+=(v-o)*a,o=v;var _,w=x(t);try{for(w.s();!(_=w.n()).done;){var O=_.value;if(O2147483647&&$("overflow"),O==o){for(var S=i,A=36;;A+=36){var k=A<=c?1:A>=c+26?26:A-c;if(S0&&void 0!==arguments[0]?arguments[0]:"";try{return decodeURIComponent(""+text)}catch(t){return""+text}}function Z(text){return Q(text.replace(G,"%252F"))}function tt(text){return Q(text.replace(L," "))}function et(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return T(t)}function nt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e={};"?"===t[0]&&(t=t.substr(1));var n,r=x(t.split("&"));try{for(r.s();!(n=r.n()).done;){var param=n.value,o=param.match(/([^=]+)=?(.*)/)||[];if(!(o.length<2)){var c=Q(o[1]);if("__proto__"!==c&&"constructor"!==c){var f=tt(o[2]||"");e[c]?Array.isArray(e[c])?e[c].push(f):e[c]=[e[c],f]:e[c]=f}}}}catch(t){r.e(t)}finally{r.f()}return e}function ot(t){return Object.keys(t).map((function(e){return n=e,(r=t[e])?Array.isArray(r)?r.map((function(t){return"".concat(X(n),"=").concat(J(t))})).join("&"):"".concat(X(n),"=").concat(J(r)):X(n);var n,r})).join("&")}var it=function(){function t(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(y(this,t),this.query={},"string"!=typeof input)throw new TypeError("URL input should be string received ".concat(Object(v.a)(input)," (").concat(input,")"));var e=xt(input);this.protocol=Q(e.protocol),this.host=Q(e.host),this.auth=Q(e.auth),this.pathname=Z(e.pathname),this.query=nt(e.search),this.hash=Q(e.hash)}var e,n,r;return e=t,(n=[{key:"hostname",get:function(){return At(this.host).hostname}},{key:"port",get:function(){return At(this.host).port||""}},{key:"username",get:function(){return St(this.auth).username}},{key:"password",get:function(){return St(this.auth).password||""}},{key:"hasProtocol",get:function(){return this.protocol.length}},{key:"isAbsolute",get:function(){return this.hasProtocol||"/"===this.pathname[0]}},{key:"search",get:function(){var q=ot(this.query);return q.length?"?"+q:""}},{key:"searchParams",get:function(){var t=this,p=new URLSearchParams,e=function(e){var n=t.query[e];Array.isArray(n)?n.forEach((function(t){return p.append(e,t)})):p.append(e,n||"")};for(var n in this.query)e(n);return p}},{key:"origin",get:function(){return(this.protocol?this.protocol+"//":"")+et(this.host)}},{key:"fullpath",get:function(){return Y(this.pathname)+this.search+W(this.hash).replace(V,"{").replace(B,"}").replace(D,"^")}},{key:"encodedAuth",get:function(){if(!this.auth)return"";var t=St(this.auth),e=t.username,n=t.password;return encodeURIComponent(e)+(n?":"+encodeURIComponent(n):"")}},{key:"href",get:function(){var t=this.encodedAuth,e=(this.protocol?this.protocol+"//":"")+(t?t+"@":"")+et(this.host);return this.hasProtocol&&this.isAbsolute?e+this.fullpath:this.fullpath}},{key:"append",value:function(t){if(t.hasProtocol)throw new Error("Cannot append a URL with protocol");Object.assign(this.query,t.query),t.pathname&&(this.pathname=ft(this.pathname)+pt(t.pathname)),t.hash&&(this.hash=t.hash)}},{key:"toJSON",value:function(){return this.href}},{key:"toString",value:function(){return this.href}}])&&m(e.prototype,n),r&&m(e,r),t}();function at(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return/^\w+:\/\/.+/.test(t)||e&&/^\/\/[^/]+/.test(t)}var ct=/\/$|\/\?/;function ut(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?ct.test(input):input.endsWith("/")}function st(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t)return(ut(input)?input.slice(0,-1):input)||"/";if(!ut(input,!0))return input||"/";var e=input.split("?"),n=d(e),r=n[0],s=n.slice(1);return(r.slice(0,-1)||"/")+(s.length?"?".concat(s.join("?")):"")}function ft(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t)return input.endsWith("/")?input:input+"/";if(ut(input,!0))return input||"/";var e=input.split("?"),n=d(e),r=n[0],s=n.slice(1);return r+"/"+(s.length?"?".concat(s.join("?")):"")}function lt(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return input.startsWith("/")}function pt(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(lt(input)?input.substr(1):input)||"/"}function ht(input,base){if(yt(base))return input;var t=st(base);return input.startsWith(t)?input.substr(t.length)||"/":input}function vt(input,t){var e=xt(input),n=w(w({},nt(e.search)),t);return e.search=ot(n),function(t){var e=t.pathname+(t.search?(t.search.startsWith("?")?"":"?")+t.search:"")+t.hash;if(!t.protocol)return e;return t.protocol+"//"+(t.auth?t.auth+"@":"")+t.host+e}(e)}function yt(t){return!t||"/"===t}function mt(t){return t&&"/"!==t}function gt(base){for(var t=base||"",e=arguments.length,input=new Array(e>1?e-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;if(!at(input,!0))return t?xt(t+input):Ot(input);var e=(input.match(/([^:/]+:)?\/\/([^/@]+@)?(.*)/)||[]).splice(1),n=Object(r.a)(e,3),o=n[0],c=void 0===o?"":o,f=n[1],l=n[2],h=(l.match(/([^/?]*)(.*)?/)||[]).splice(1),d=Object(r.a)(h,2),v=d[0],y=void 0===v?"":v,m=d[1],path=void 0===m?"":m,_=Ot(path),w=_.pathname,x=_.search,O=_.hash;return{protocol:c,auth:f?f.substr(0,f.length-1):"",host:y,pathname:w,search:x,hash:O}}function Ot(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=(input.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1),e=Object(r.a)(t,3),n=e[0],o=void 0===n?"":n,c=e[1],f=void 0===c?"":c,l=e[2],h=void 0===l?"":l;return{pathname:o,search:f,hash:h}}function St(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=input.split(":"),e=Object(r.a)(t,2),n=e[0],o=e[1];return{username:Q(n),password:Q(o)}}function At(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=(input.match(/([^/]*)(:0-9+)?/)||[]).splice(1),e=Object(r.a)(t,2),n=e[0],o=e[1];return{hostname:Q(n),port:o}}},function(t,e,n){"use strict";var r=n(11),o=n(41),c=n(19),f=n(8),l=n(29),h=n(87).KEY,d=n(20),v=n(67),y=n(58),m=n(55),_=n(9),w=n(118),x=n(169),O=n(170),S=n(121),A=n(16),k=n(24),C=n(44),E=n(36),$=n(66),j=n(54),T=n(70),I=n(172),P=n(61),M=n(69),N=n(23),L=n(45),R=P.f,F=N.f,D=I.f,U=r.Symbol,V=r.JSON,z=V&&V.stringify,B=_("_hidden"),H=_("toPrimitive"),G={}.propertyIsEnumerable,K=v("symbol-registry"),W=v("symbols"),J=v("op-symbols"),X=Object.prototype,Y="function"==typeof U&&!!M.f,Q=r.QObject,Z=!Q||!Q.prototype||!Q.prototype.findChild,tt=c&&d((function(){return 7!=T(F({},"a",{get:function(){return F(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=R(X,e);r&&delete X[e],F(t,e,n),r&&t!==X&&F(X,e,r)}:F,et=function(t){var e=W[t]=T(U.prototype);return e._k=t,e},nt=Y&&"symbol"==typeof U.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof U},ot=function(t,e,n){return t===X&&ot(J,e,n),A(t),e=$(e,!0),A(n),o(W,e)?(n.enumerable?(o(t,B)&&t[B][e]&&(t[B][e]=!1),n=T(n,{enumerable:j(0,!1)})):(o(t,B)||F(t,B,j(1,{})),t[B][e]=!0),tt(t,e,n)):F(t,e,n)},it=function(t,e){A(t);for(var n,r=O(e=E(e)),i=0,o=r.length;o>i;)ot(t,n=r[i++],e[n]);return t},at=function(t){var e=G.call(this,t=$(t,!0));return!(this===X&&o(W,t)&&!o(J,t))&&(!(e||!o(this,t)||!o(W,t)||o(this,B)&&this[B][t])||e)},ct=function(t,e){if(t=E(t),e=$(e,!0),t!==X||!o(W,e)||o(J,e)){var n=R(t,e);return!n||!o(W,e)||o(t,B)&&t[B][e]||(n.enumerable=!0),n}},ut=function(t){for(var e,n=D(E(t)),r=[],i=0;n.length>i;)o(W,e=n[i++])||e==B||e==h||r.push(e);return r},st=function(t){for(var e,n=t===X,r=D(n?J:E(t)),c=[],i=0;r.length>i;)!o(W,e=r[i++])||n&&!o(X,e)||c.push(W[e]);return c};Y||(U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor!");var t=m(arguments.length>0?arguments[0]:void 0),e=function(n){this===X&&e.call(J,n),o(this,B)&&o(this[B],t)&&(this[B][t]=!1),tt(this,t,j(1,n))};return c&&Z&&tt(X,t,{configurable:!0,set:e}),et(t)},l(U.prototype,"toString",(function(){return this._k})),P.f=ct,N.f=ot,n(60).f=I.f=ut,n(59).f=at,M.f=st,c&&!n(56)&&l(X,"propertyIsEnumerable",at,!0),w.f=function(t){return et(_(t))}),f(f.G+f.W+f.F*!Y,{Symbol:U});for(var ft="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),lt=0;ft.length>lt;)_(ft[lt++]);for(var pt=L(_.store),ht=0;pt.length>ht;)x(pt[ht++]);f(f.S+f.F*!Y,"Symbol",{for:function(t){return o(K,t+="")?K[t]:K[t]=U(t)},keyFor:function(t){if(!nt(t))throw TypeError(t+" is not a symbol!");for(var e in K)if(K[e]===t)return e},useSetter:function(){Z=!0},useSimple:function(){Z=!1}}),f(f.S+f.F*!Y,"Object",{create:function(t,e){return void 0===e?T(t):it(T(t),e)},defineProperty:ot,defineProperties:it,getOwnPropertyDescriptor:ct,getOwnPropertyNames:ut,getOwnPropertySymbols:st});var vt=d((function(){M.f(1)}));f(f.S+f.F*vt,"Object",{getOwnPropertySymbols:function(t){return M.f(C(t))}}),V&&f(f.S+f.F*(!Y||d((function(){var t=U();return"[null]"!=z([t])||"{}"!=z({a:t})||"{}"!=z(Object(t))}))),"JSON",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(k(e)||void 0!==t)&&!nt(t))return S(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!nt(e))return e}),r[1]=e,z.apply(V,r)}}),U.prototype[H]||n(40)(U.prototype,H,U.prototype.valueOf),y(U,"Symbol"),y(Math,"Math",!0),y(r.JSON,"JSON",!0)},function(t,e,n){var r=n(11),o=n(39),c=n(40),f=n(29),l=n(42),h=function(t,e,source){var n,d,v,y,m=t&h.F,_=t&h.G,w=t&h.S,x=t&h.P,O=t&h.B,S=_?r:w?r[e]||(r[e]={}):(r[e]||{}).prototype,A=_?o:o[e]||(o[e]={}),k=A.prototype||(A.prototype={});for(n in _&&(source=e),source)v=((d=!m&&S&&void 0!==S[n])?S:source)[n],y=O&&d?l(v,r):x&&"function"==typeof v?l(Function.call,v):v,S&&f(S,n,v,t&h.U),A[n]!=v&&c(A,n,y),x&&k[n]!=v&&(k[n]=v)};r.core=o,h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e,n){var r=n(67)("wks"),o=n(55),c=n(11).Symbol,f="function"==typeof c;(t.exports=function(t){return r[t]||(r[t]=f&&c[t]||(f?c:o)("Symbol."+t))}).store=r},function(t,e,n){"use strict";var r=n(8),o=n(84)(2);r(r.P+r.F*!n(131)([].filter,!0),"Array",{filter:function(t){return o(this,t,arguments[1])}})},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(44),o=n(45);n(132)("keys",(function(){return function(t){return o(r(t))}}))},function(t,e,n){"use strict";var r=n(71),o={};o[n(9)("toStringTag")]="z",o+""!="[object z]"&&n(29)(Object.prototype,"toString",(function(){return"[object "+r(this)+"]"}),!0)},function(t,e,n){"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}n.d(e,"a",(function(){return r}))},function(t,e,n){var r=n(23).f,o=Function.prototype,c=/^\s*function ([^ (]*)/,f="name";f in o||n(19)&&r(o,f,{configurable:!0,get:function(){try{return(""+this).match(c)[1]}catch(t){return""}}})},function(t,e,n){var r=n(24);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(36),o=n(61).f;n(132)("getOwnPropertyDescriptor",(function(){return function(t,e){return o(r(t),e)}}))},function(t,e,n){var r=n(8),o=n(185),c=n(36),f=n(61),l=n(124);r(r.S,"Object",{getOwnPropertyDescriptors:function(object){for(var t,desc,e=c(object),n=f.f,r=o(e),h={},i=0;r.length>i;)void 0!==(desc=n(e,t=r[i++]))&&l(h,t,desc);return h}})},function(t,e,n){t.exports=!n(20)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},c=o.iterator||"@@iterator",f=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var o=e&&e.prototype instanceof O?e:O,c=Object.create(o.prototype),f=new N(r||[]);return c._invoke=function(t,e,n){var r=y;return function(o,c){if(r===_)throw new Error("Generator is already running");if(r===w){if("throw"===o)throw c;return R()}for(n.method=o,n.arg=c;;){var f=n.delegate;if(f){var l=I(f,n);if(l){if(l===x)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===y)throw r=w,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=_;var h=v(t,e,n);if("normal"===h.type){if(r=n.done?w:m,h.arg===x)continue;return{value:h.arg,done:n.done}}"throw"===h.type&&(r=w,n.method="throw",n.arg=h.arg)}}}(t,n,f),c}function v(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=d;var y="suspendedStart",m="suspendedYield",_="executing",w="completed",x={};function O(){}function S(){}function A(){}var k={};h(k,c,(function(){return this}));var C=Object.getPrototypeOf,E=C&&C(C(L([])));E&&E!==n&&r.call(E,c)&&(k=E);var $=A.prototype=O.prototype=Object.create(k);function j(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function T(t,e){function n(o,c,f,l){var h=v(t[o],t,c);if("throw"!==h.type){var d=h.arg,y=d.value;return y&&"object"==typeof y&&r.call(y,"__await")?e.resolve(y.__await).then((function(t){n("next",t,f,l)}),(function(t){n("throw",t,f,l)})):e.resolve(y).then((function(t){d.value=t,f(d)}),(function(t){return n("throw",t,f,l)}))}l(h.arg)}var o;this._invoke=function(t,r){function c(){return new e((function(e,o){n(t,r,e,o)}))}return o=o?o.then(c,c):c()}}function I(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,I(t,n),"throw"===n.method))return x;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return x}var o=v(r,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,x;var c=o.arg;return c?c.done?(n[t.resultName]=c.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,x):c:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,x)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function M(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function L(t){if(t){var n=t[c];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i=0;--i){var c=this.tryEntries[i],f=c.completion;if("root"===c.tryLoc)return o("end");if(c.tryLoc<=this.prev){var l=r.call(c,"catchLoc"),h=r.call(c,"finallyLoc");if(l&&h){if(this.prev=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev=0;--i){var e=this.tryEntries[i];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),M(e),x}},catch:function(t){for(var i=this.tryEntries.length-1;i>=0;--i){var e=this.tryEntries[i];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var r=n.arg;M(e)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:L(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),x}},t}(t.exports);try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){"use strict";(function(t){n.d(e,"b",(function(){return j}));var r=("undefined"!=typeof window?window:void 0!==t?t:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function o(t,e){if(void 0===e&&(e=[]),null===t||"object"!=typeof t)return t;var n,r=(n=function(e){return e.original===t},e.filter(n)[0]);if(r)return r.copy;var c=Array.isArray(t)?[]:{};return e.push({original:t,copy:c}),Object.keys(t).forEach((function(n){c[n]=o(t[n],e)})),c}function c(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function f(t){return null!==t&&"object"==typeof t}var l=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"==typeof n?n():n)||{}},h={namespaced:{configurable:!0}};h.namespaced.get=function(){return!!this._rawModule.namespaced},l.prototype.addChild=function(t,e){this._children[t]=e},l.prototype.removeChild=function(t){delete this._children[t]},l.prototype.getChild=function(t){return this._children[t]},l.prototype.hasChild=function(t){return t in this._children},l.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},l.prototype.forEachChild=function(t){c(this._children,t)},l.prototype.forEachGetter=function(t){this._rawModule.getters&&c(this._rawModule.getters,t)},l.prototype.forEachAction=function(t){this._rawModule.actions&&c(this._rawModule.actions,t)},l.prototype.forEachMutation=function(t){this._rawModule.mutations&&c(this._rawModule.mutations,t)},Object.defineProperties(l.prototype,h);var d=function(t){this.register([],t,!1)};function v(path,t,e){if(t.update(e),e.modules)for(var n in e.modules){if(!t.getChild(n))return void 0;v(path.concat(n),t.getChild(n),e.modules[n])}}d.prototype.get=function(path){return path.reduce((function(t,e){return t.getChild(e)}),this.root)},d.prototype.getNamespace=function(path){var t=this.root;return path.reduce((function(e,n){return e+((t=t.getChild(n)).namespaced?n+"/":"")}),"")},d.prototype.update=function(t){v([],this.root,t)},d.prototype.register=function(path,t,e){var n=this;void 0===e&&(e=!0);var r=new l(t,e);0===path.length?this.root=r:this.get(path.slice(0,-1)).addChild(path[path.length-1],r);t.modules&&c(t.modules,(function(t,r){n.register(path.concat(r),t,e)}))},d.prototype.unregister=function(path){var t=this.get(path.slice(0,-1)),e=path[path.length-1],n=t.getChild(e);n&&n.runtime&&t.removeChild(e)},d.prototype.isRegistered=function(path){var t=this.get(path.slice(0,-1)),e=path[path.length-1];return!!t&&t.hasChild(e)};var y;var m=function(t){var e=this;void 0===t&&(t={}),!y&&"undefined"!=typeof window&&window.Vue&&C(window.Vue);var n=t.plugins;void 0===n&&(n=[]);var o=t.strict;void 0===o&&(o=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new d(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new y,this._makeLocalGettersCache=Object.create(null);var c=this,f=this.dispatch,l=this.commit;this.dispatch=function(t,e){return f.call(c,t,e)},this.commit=function(t,e,n){return l.call(c,t,e,n)},this.strict=o;var h=this._modules.root.state;S(this,h,[],this._modules.root),O(this,h),n.forEach((function(t){return t(e)})),(void 0!==t.devtools?t.devtools:y.config.devtools)&&function(t){r&&(t._devtoolHook=r,r.emit("vuex:init",t),r.on("vuex:travel-to-state",(function(e){t.replaceState(e)})),t.subscribe((function(t,e){r.emit("vuex:mutation",t,e)}),{prepend:!0}),t.subscribeAction((function(t,e){r.emit("vuex:action",t,e)}),{prepend:!0}))}(this)},_={state:{configurable:!0}};function w(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var i=e.indexOf(t);i>-1&&e.splice(i,1)}}function x(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;S(t,n,[],t._modules.root,!0),O(t,n,e)}function O(t,e,n){var r=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var o=t._wrappedGetters,f={};c(o,(function(e,n){f[n]=function(t,e){return function(){return t(e)}}(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var l=y.config.silent;y.config.silent=!0,t._vm=new y({data:{$$state:e},computed:f}),y.config.silent=l,t.strict&&function(t){t._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}(t),r&&(n&&t._withCommit((function(){r._data.$$state=null})),y.nextTick((function(){return r.$destroy()})))}function S(t,e,path,n,r){var o=!path.length,c=t._modules.getNamespace(path);if(n.namespaced&&(t._modulesNamespaceMap[c],t._modulesNamespaceMap[c]=n),!o&&!r){var f=A(e,path.slice(0,-1)),l=path[path.length-1];t._withCommit((function(){y.set(f,l,n.state)}))}var h=n.context=function(t,e,path){var n=""===e,r={dispatch:n?t.dispatch:function(n,r,o){var c=k(n,r,o),f=c.payload,l=c.options,h=c.type;return l&&l.root||(h=e+h),t.dispatch(h,f)},commit:n?t.commit:function(n,r,o){var c=k(n,r,o),f=c.payload,l=c.options,h=c.type;l&&l.root||(h=e+h),t.commit(h,f,l)}};return Object.defineProperties(r,{getters:{get:n?function(){return t.getters}:function(){return function(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(o){if(o.slice(0,r)===e){var c=o.slice(r);Object.defineProperty(n,c,{get:function(){return t.getters[o]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}(t,e)}},state:{get:function(){return A(t.state,path)}}}),r}(t,c,path);n.forEachMutation((function(e,n){!function(t,e,n,r){(t._mutations[e]||(t._mutations[e]=[])).push((function(e){n.call(t,r.state,e)}))}(t,c+n,e,h)})),n.forEachAction((function(e,n){var r=e.root?n:c+n,o=e.handler||e;!function(t,e,n,r){(t._actions[e]||(t._actions[e]=[])).push((function(e){var o,c=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return(o=c)&&"function"==typeof o.then||(c=Promise.resolve(c)),t._devtoolHook?c.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):c}))}(t,r,o,h)})),n.forEachGetter((function(e,n){!function(t,e,n,r){if(t._wrappedGetters[e])return void 0;t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)}}(t,c+n,e,h)})),n.forEachChild((function(n,o){S(t,e,path.concat(o),n,r)}))}function A(t,path){return path.reduce((function(t,e){return t[e]}),t)}function k(t,e,n){return f(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function C(t){y&&t===y||function(t){if(Number(t.version.split(".")[0])>=2)t.mixin({beforeCreate:n});else{var e=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[n].concat(t.init):n,e.call(this,t)}}function n(){var t=this.$options;t.store?this.$store="function"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}(y=t)}_.state.get=function(){return this._vm._data.$$state},_.state.set=function(t){0},m.prototype.commit=function(t,e,n){var r=this,o=k(t,e,n),c=o.type,f=o.payload,l=(o.options,{type:c,payload:f}),h=this._mutations[c];h&&(this._withCommit((function(){h.forEach((function(t){t(f)}))})),this._subscribers.slice().forEach((function(sub){return sub(l,r.state)})))},m.prototype.dispatch=function(t,e){var n=this,r=k(t,e),o=r.type,c=r.payload,f={type:o,payload:c},l=this._actions[o];if(l){try{this._actionSubscribers.slice().filter((function(sub){return sub.before})).forEach((function(sub){return sub.before(f,n.state)}))}catch(t){0}var h=l.length>1?Promise.all(l.map((function(t){return t(c)}))):l[0](c);return new Promise((function(t,e){h.then((function(e){try{n._actionSubscribers.filter((function(sub){return sub.after})).forEach((function(sub){return sub.after(f,n.state)}))}catch(t){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(sub){return sub.error})).forEach((function(sub){return sub.error(f,n.state,t)}))}catch(t){0}e(t)}))}))}},m.prototype.subscribe=function(t,e){return w(t,this._subscribers,e)},m.prototype.subscribeAction=function(t,e){return w("function"==typeof t?{before:t}:t,this._actionSubscribers,e)},m.prototype.watch=function(t,e,n){var r=this;return this._watcherVM.$watch((function(){return t(r.state,r.getters)}),e,n)},m.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},m.prototype.registerModule=function(path,t,e){void 0===e&&(e={}),"string"==typeof path&&(path=[path]),this._modules.register(path,t),S(this,this.state,path,this._modules.get(path),e.preserveState),O(this,this.state)},m.prototype.unregisterModule=function(path){var t=this;"string"==typeof path&&(path=[path]),this._modules.unregister(path),this._withCommit((function(){var e=A(t.state,path.slice(0,-1));y.delete(e,path[path.length-1])})),x(this)},m.prototype.hasModule=function(path){return"string"==typeof path&&(path=[path]),this._modules.isRegistered(path)},m.prototype.hotUpdate=function(t){this._modules.update(t),x(this,!0)},m.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(m.prototype,_);var E=P((function(t,e){var n={};return I(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=M(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"==typeof o?o.call(this,e,n):e[o]},n[r].vuex=!0})),n})),$=P((function(t,e){var n={};return I(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var r=this.$store.commit;if(t){var c=M(this.$store,"mapMutations",t);if(!c)return;r=c.context.commit}return"function"==typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n})),j=P((function(t,e){var n={};return I(e).forEach((function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){if(!t||M(this.$store,"mapGetters",t))return this.$store.getters[o]},n[r].vuex=!0})),n})),T=P((function(t,e){var n={};return I(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var c=M(this.$store,"mapActions",t);if(!c)return;r=c.context.dispatch}return"function"==typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n}));function I(map){return function(map){return Array.isArray(map)||f(map)}(map)?Array.isArray(map)?map.map((function(t){return{key:t,val:t}})):Object.keys(map).map((function(t){return{key:t,val:map[t]}})):[]}function P(t){return function(e,map){return"string"!=typeof e?(map=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,map)}}function M(t,e,n){return t._modulesNamespaceMap[n]}function N(t,e,n){var r=n?t.groupCollapsed:t.group;try{r.call(t,e)}catch(n){t.log(e)}}function L(t){try{t.groupEnd()}catch(e){t.log("—— log end ——")}}function R(){var time=new Date;return" @ "+F(time.getHours(),2)+":"+F(time.getMinutes(),2)+":"+F(time.getSeconds(),2)+"."+F(time.getMilliseconds(),3)}function F(t,e){return n="0",r=e-t.toString().length,new Array(r+1).join(n)+t;var n,r}var D={Store:m,install:C,version:"3.6.2",mapState:E,mapMutations:$,mapGetters:j,mapActions:T,createNamespacedHelpers:function(t){return{mapState:E.bind(null,t),mapGetters:j.bind(null,t),mapMutations:$.bind(null,t),mapActions:T.bind(null,t)}},createLogger:function(t){void 0===t&&(t={});var e=t.collapsed;void 0===e&&(e=!0);var filter=t.filter;void 0===filter&&(filter=function(t,e,n){return!0});var n=t.transformer;void 0===n&&(n=function(t){return t});var r=t.mutationTransformer;void 0===r&&(r=function(t){return t});var c=t.actionFilter;void 0===c&&(c=function(t,e){return!0});var f=t.actionTransformer;void 0===f&&(f=function(t){return t});var l=t.logMutations;void 0===l&&(l=!0);var h=t.logActions;void 0===h&&(h=!0);var d=t.logger;return void 0===d&&(d=console),function(t){var v=o(t.state);void 0!==d&&(l&&t.subscribe((function(t,c){var f=o(c);if(filter(t,v,f)){var l=R(),h=r(t),y="mutation "+t.type+l;N(d,y,e),d.log("%c prev state","color: #9E9E9E; font-weight: bold",n(v)),d.log("%c mutation","color: #03A9F4; font-weight: bold",h),d.log("%c next state","color: #4CAF50; font-weight: bold",n(f)),L(d)}v=f})),h&&t.subscribeAction((function(t,n){if(c(t,n)){var r=R(),o=f(t),l="action "+t.type+r;N(d,l,e),d.log("%c action","color: #03A9F4; font-weight: bold",o),L(d)}})))}}};e.a=D}).call(this,n(38))},function(t,e,n){var r=n(16),o=n(117),c=n(66),f=Object.defineProperty;e.f=n(19)?Object.defineProperty:function(t,e,n){if(r(t),e=c(e,!0),r(n),o)try{return f(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){"use strict";var r=n(8),o=n(120)(!0);r(r.P,"Array",{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(83)("includes")},function(t,e,n){"use strict";var r=n(133)(!0);n(92)(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},function(t,e,n){for(var r=n(126),o=n(45),c=n(29),f=n(11),l=n(40),h=n(62),d=n(9),v=d("iterator"),y=d("toStringTag"),m=h.Array,_={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},w=o(_),i=0;i1?arguments[1]:void 0,O=void 0!==x,S=0,A=v(m);if(O&&(x=r(x,w>2?arguments[2]:void 0,2)),null==A||_==Array&&l(A))for(n=new _(e=h(m.length));e>S;S++)d(n,S,O?x(m[S],S):m[S]);else for(y=A.call(m),n=new _;!(o=y.next()).done;S++)d(n,S,O?f(y,x,[o.value,S],!0):o.value);return n.length=S,n}})},function(t,e,n){"use strict";var r=n(8),o=n(84)(1);r(r.P+r.F*!n(131)([].map,!0),"Array",{map:function(t){return o(this,t,arguments[1])}})},function(t,e,n){var r=n(57),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){"use strict";var r=n(8),o=n(98),c="includes";r(r.P+r.F*n(100)(c),"String",{includes:function(t){return!!~o(this,t,c).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){"use strict";var r=n(16),o=n(44),c=n(32),f=n(57),l=n(102),h=n(72),d=Math.max,v=Math.min,y=Math.floor,m=/\$([$&`']|\d\d?|<[^>]*>)/g,_=/\$([$&`']|\d\d?)/g;n(73)("replace",2,(function(t,e,n,w){return[function(r,o){var c=t(this),f=null==r?void 0:r[e];return void 0!==f?f.call(r,c,o):n.call(String(c),r,o)},function(t,e){var o=w(n,t,this,e);if(o.done)return o.value;var y=r(t),m=String(this),_="function"==typeof e;_||(e=String(e));var O=y.global;if(O){var S=y.unicode;y.lastIndex=0}for(var A=[];;){var k=h(y,m);if(null===k)break;if(A.push(k),!O)break;""===String(k[0])&&(y.lastIndex=l(m,c(y.lastIndex),S))}for(var C,E="",$=0,i=0;i=$&&(E+=m.slice($,T)+L,$=T+j.length)}return E+m.slice($)}];function x(t,e,r,c,f,l){var h=r+t.length,d=c.length,v=_;return void 0!==f&&(f=o(f),v=m),n.call(l,v,(function(n,o){var l;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(h);case"<":l=f[o.slice(1,-1)];break;default:var v=+o;if(0===v)return n;if(v>d){var m=y(v/10);return 0===m?n:m<=d?void 0===c[m-1]?o.charAt(1):c[m-1]+o.charAt(1):n}l=c[v-1]}return void 0===l?"":l}))}}))},function(t,e,n){"use strict";n.d(e,"a",(function(){return f}));var r=n(64);var o=n(80),c=n(50);function f(t){return function(t){if(Array.isArray(t))return Object(r.a)(t)}(t)||Object(o.a)(t)||Object(c.a)(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},function(t,e,n){var r=n(88),o=n(46);t.exports=function(t){return r(o(t))}},,function(t,e){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(t){"object"==typeof window&&(g=window)}t.exports=g},function(t,e){var n=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(23),o=n(54);t.exports=n(19)?function(object,t,e){return r.f(object,t,o(1,e))}:function(object,t,e){return object[t]=e,object}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(68);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(a){return t.call(e,a)};case 2:return function(a,b){return t.call(e,a,b)};case 3:return function(a,b,n){return t.call(e,a,b,n)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(46);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(119),o=n(90);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";var r=n(99),o=n(16),c=n(95),f=n(102),l=n(32),h=n(72),d=n(103),v=n(20),y=Math.min,m=[].push,_=4294967295,w=!v((function(){RegExp(_,"y")}));n(73)("split",2,(function(t,e,n,v){var x;return x="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var c,f,l,output=[],h=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,y=void 0===e?_:e>>>0,w=new RegExp(t.source,h+"g");(c=d.call(w,o))&&!((f=w.lastIndex)>v&&(output.push(o.slice(v,c.index)),c.length>1&&c.index=y));)w.lastIndex===c.index&&w.lastIndex++;return v===o.length?!l&&w.test("")||output.push(""):output.push(o.slice(v)),output.length>y?output.slice(0,y):output}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),c=null==n?void 0:n[e];return void 0!==c?c.call(n,o,r):x.call(String(o),n,r)},function(t,e){var r=v(x,t,this,e,x!==n);if(r.done)return r.value;var d=o(t),m=String(this),O=c(d,RegExp),S=d.unicode,A=(d.ignoreCase?"i":"")+(d.multiline?"m":"")+(d.unicode?"u":"")+(w?"y":"g"),k=new O(w?d:"^(?:"+d.source+")",A),C=void 0===e?_:e>>>0;if(0===C)return[];if(0===m.length)return null===h(k,m)?[m]:[];for(var p=0,q=0,E=[];q1?arguments[1]:void 0)}}),n(83)(c)},,function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(64);function o(t,e){if(t){if("string"==typeof t)return Object(r.a)(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(r.a)(t,e):void 0}}},,,,function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports=!1},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(23).f,o=n(41),c=n(9)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,c)&&r(t,c,{configurable:!0,value:e})}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(119),o=n(90).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){var r=n(59),o=n(54),c=n(36),f=n(66),l=n(41),h=n(117),d=Object.getOwnPropertyDescriptor;e.f=n(19)?d:function(t,e){if(t=c(t),e=f(e,!0),h)try{return d(t,e)}catch(t){}if(l(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e){t.exports={}},,function(t,e,n){"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function h(t){return Array.isArray(t)}function d(t){return void 0===t}function v(t){return"object"===c(t)}function y(t){return"object"===c(t)&&null!==t}function m(t){return"function"==typeof t}var _=(function(){try{return!d(window)}catch(t){return!1}}()?window:t).console||{};function w(t){_&&_.warn&&_.warn(t)}var x=function(t){return w("".concat(t," is not supported in browser builds"))},O={title:void 0,titleChunk:"",titleTemplate:"%s",htmlAttrs:{},bodyAttrs:{},headAttrs:{},base:[],link:[],meta:[],style:[],script:[],noscript:[],__dangerouslyDisableSanitizers:[],__dangerouslyDisableSanitizersByTagID:{}},S="metaInfo",A="data-vue-meta",k="data-vue-meta-server-rendered",C="vmid",E="content",$="template",j=!0,T=10,I="ssr",P=Object.keys(O),M=[P[12],P[13]],N=[P[1],P[2],"changed"].concat(M),L=[P[3],P[4],P[5]],R=["link","style","script"],F=["once","skip","template"],D=["body","pbody"],U=["allowfullscreen","amp","amp-boilerplate","async","autofocus","autoplay","checked","compact","controls","declare","default","defaultchecked","defaultmuted","defaultselected","defer","disabled","enabled","formnovalidate","hidden","indeterminate","inert","ismap","itemscope","loop","multiple","muted","nohref","noresize","noshade","novalidate","nowrap","open","pauseonexit","readonly","required","reversed","scoped","seamless","selected","sortable","truespeed","typemustmatch","visible"],V=null;function z(t,e,n){var r=t.debounceWait;e._vueMeta.initialized||!e._vueMeta.initializing&&"watcher"!==n||(e._vueMeta.initialized=null),e._vueMeta.initialized&&!e._vueMeta.pausing&&function(t,e){if(!(e=void 0===e?10:e))return void t();clearTimeout(V),V=setTimeout((function(){t()}),e)}((function(){e.$meta().refresh()}),r)}function B(t,e,n){if(!Array.prototype.findIndex){for(var r=0;r/g,">"],[/"/g,'"'],[/'/g,"'"]];function at(t,e,n,r){var o=e.tagIDKeyName,c=n.doEscape,f=void 0===c?function(t){return t}:c,l={};for(var d in t){var v=t[d];if(G(N,d))l[d]=v;else{var m=M[0];if(n[m]&&G(n[m],d))l[d]=v;else{var _=t[o];if(_&&(m=M[1],n[m]&&n[m][_]&&G(n[m][_],d)))l[d]=v;else if("string"==typeof v?l[d]=f(v):h(v)?l[d]=v.map((function(t){return y(t)?at(t,e,n,!0):f(t)})):y(v)?l[d]=at(v,e,n,!0):l[d]=v,r){var w=f(d);d!==w&&(l[w]=l[d],delete l[d])}}}}return l}function ct(t,e,n){n=n||[];var r={doEscape:function(t){return n.reduce((function(t,e){return t.replace(e[0],e[1])}),t)}};return M.forEach((function(t,n){if(0===n)ot(e,t);else if(1===n)for(var o in e[t])ot(e[t],o);r[t]=e[t]})),at(e,t,r)}function ut(t,e,template,n){var component=t.component,r=t.metaTemplateKeyName,o=t.contentKeyName;return!0!==template&&!0!==e[r]&&(d(template)&&e[r]&&(template=e[r],e[r]=!0),template?(d(n)&&(n=e[o]),e[o]=m(template)?template.call(component,n):template.replace(/%s/g,n),!0):(delete e[r],!1))}var st=!1;function ft(t,source,e){return e=e||{},void 0===source.title&&delete source.title,L.forEach((function(t){if(source[t])for(var e in source[t])e in source[t]&&void 0===source[t][e]&&(G(U,e)&&!st&&(w("VueMeta: Please note that since v2 the value undefined is not used to indicate boolean attributes anymore, see migration guide for details"),st=!0),delete source[t][e])})),o()(t,source,{arrayMerge:function(t,s){return function(t,e,source){var component=t.component,n=t.tagIDKeyName,r=t.metaTemplateKeyName,o=t.contentKeyName,c=[];return e.length||source.length?(e.forEach((function(t,e){if(t[n]){var f=B(source,(function(e){return e[n]===t[n]})),l=source[f];if(-1!==f){if(o in l&&void 0===l[o]||"innerHTML"in l&&void 0===l.innerHTML)return c.push(t),void source.splice(f,1);if(null!==l[o]&&null!==l.innerHTML){var h=t[r];if(h){if(!l[r])return ut({component:component,metaTemplateKeyName:r,contentKeyName:o},l,h),void(l.template=!0);l[o]||ut({component:component,metaTemplateKeyName:r,contentKeyName:o},l,void 0,t[o])}}else source.splice(f,1)}else c.push(t)}else c.push(t)})),c.concat(source)):c}(e,t,s)}})}function lt(t,component){return pt(t||{},component,O)}function pt(t,component,e){if(e=e||{},component._inactive)return e;var n=(t=t||{}).keyName,r=component.$metaInfo,o=component.$options,c=component.$children;if(o[n]){var data=r||o[n];v(data)&&(e=ft(e,data,t))}return c.length&&c.forEach((function(n){(function(t){return(t=t||this)&&!d(t._vueMeta)})(n)&&(e=pt(t,n,e))})),e}var ht=[];function vt(t,e,n,r){var o=t.tagIDKeyName,c=!1;return n.forEach((function(t){t[o]&&t.callback&&(c=!0,function(t,e){1===arguments.length&&(e=t,t=""),ht.push([t,e])}("".concat(e,"[data-").concat(o,'="').concat(t[o],'"]'),t.callback))})),r&&c?yt():c}function yt(){var t;"complete"!==(t||document).readyState?document.onreadystatechange=function(){mt()}:mt()}function mt(t){ht.forEach((function(e){var n=e[0],r=e[1],o="".concat(n,'[onload="this.__vm_l=1"]'),c=[];t||(c=H(K(o))),t&&t.matches(o)&&(c=[t]),c.forEach((function(element){if(!element.__vm_cb){var t=function(){element.__vm_cb=!0,X(element,"onload"),r(element)};element.__vm_l?t():element.__vm_ev||(element.__vm_ev=!0,element.addEventListener("load",t))}}))}))}var gt,bt={};function _t(t,e,n,r,o){var c=(e||{}).attribute,f=o.getAttribute(c);f&&(bt[n]=JSON.parse(decodeURI(f)),X(o,c));var data=bt[n]||{},l=[];for(var h in data)void 0!==data[h]&&t in data[h]&&(l.push(h),r[h]||delete data[h][t]);for(var d in r){var v=data[d];v&&v[t]===r[d]||(l.push(d),void 0!==r[d]&&(data[d]=data[d]||{},data[d][t]=r[d]))}for(var y=0,m=l;y1){var y=[];r=r.filter((function(t){var e=JSON.stringify(t),n=!G(y,e);return y.push(e),n}))}r.forEach((function(e){if(!e.skip){var r=document.createElement(n);e.once||r.setAttribute(c,t),Object.keys(e).forEach((function(t){if(!G(F,t))if("innerHTML"!==t)if("json"!==t)if("cssText"!==t)if("callback"!==t){var n=G(l,t)?"data-".concat(t):t,o=G(U,t);if(!o||e[t]){var c=o?"":e[t];r.setAttribute(n,c)}}else r.onload=function(){return e[t](r)};else r.styleSheet?r.styleSheet.cssText=e.cssText:r.appendChild(document.createTextNode(e.cssText));else r.innerHTML=JSON.stringify(e.json);else r.innerHTML=e.innerHTML}));var o,f=v[function(t){var body=t.body,e=t.pbody;return body?"body":e?"pbody":"head"}(e)],d=f.some((function(t,e){return o=e,r.isEqualNode(t)}));d&&(o||0===o)?f.splice(o,1):h.push(r)}}));var m=[];for(var _ in v)Array.prototype.push.apply(m,v[_]);return m.forEach((function(element){element.parentNode.removeChild(element)})),h.forEach((function(element){element.hasAttribute("data-body")?body.appendChild(element):element.hasAttribute("data-pbody")?body.insertBefore(element,body.firstChild):head.appendChild(element)})),{oldTags:m,newTags:h}}function xt(t,e,n){var r=e=e||{},o=r.ssrAttribute,c=r.ssrAppId,f={},l=W(f,"html");if(t===c&&l.hasAttribute(o)){X(l,o);var d=!1;return R.forEach((function(t){n[t]&&vt(e,t,n[t])&&(d=!0)})),d&&yt(),!1}var title,v={},y={};for(var m in n)if(!G(N,m))if("title"!==m){if(G(L,m)){var _=m.substr(0,4);_t(t,e,m,n[m],W(f,_))}else if(h(n[m])){var w=wt(t,e,m,n[m],W(f,"head"),W(f,"body")),x=w.oldTags,O=w.newTags;O.length&&(v[m]=O,y[m]=x)}}else((title=n.title)||""===title)&&(document.title=title);return{tagsAdded:v,tagsRemoved:y}}function Ot(t,e,n){return{set:function(r){return function(t,e,n,r){if(t&&t.$el)return xt(e,n,r);(gt=gt||{})[e]=r}(t,e,n,r)},remove:function(){return function(t,e,n){if(t&&t.$el){var r,o={},c=l(L);try{for(c.s();!(r=c.n()).done;){var f=r.value,h=f.substr(0,4);_t(e,n,f,{},W(o,h))}}catch(t){c.e(t)}finally{c.f()}return function(t,e){var n=t.attribute;H(K("[".concat(n,'="').concat(e,'"]'))).map((function(t){return t.remove()}))}(n,e)}gt[e]&&(delete gt[e],At())}(t,e,n)}}}function St(){return gt}function At(t){!t&&Object.keys(gt).length||(gt=void 0)}function kt(t,e){if(e=e||{},!t._vueMeta)return w("This vue app/component has no vue-meta configuration"),{};var n=function(t,e,n,component){n=n||[];var r=(t=t||{}).tagIDKeyName;return e.title&&(e.titleChunk=e.title),e.titleTemplate&&"%s"!==e.titleTemplate&&ut({component:component,contentKeyName:"title"},e,e.titleTemplate,e.titleChunk||""),e.base&&(e.base=Object.keys(e.base).length?[e.base]:[]),e.meta&&(e.meta=e.meta.filter((function(t,e,n){return!t[r]||e===B(n,(function(e){return e[r]===t[r]}))})),e.meta.forEach((function(e){return ut(t,e)}))),ct(t,e,n)}(e,lt(e,t),it,t),r=xt(t._vueMeta.appId,e,n);r&&m(n.changed)&&(n.changed(n,r.tagsAdded,r.tagsRemoved),r={addedTags:r.tagsAdded,removedTags:r.tagsRemoved});var o=St();if(o){for(var c in o)xt(c,e,o[c]),delete o[c];At(!0)}return{vm:t,metaInfo:n,tags:r}}function Ct(t){t=t||{};var e=this.$root;return{getOptions:function(){return function(t){var e={};for(var n in t)e[n]=t[n];return e}(t)},setOptions:function(n){var r="refreshOnceOnNavigation";n&&n[r]&&(t.refreshOnceOnNavigation=!!n[r],tt(e));var o="debounceWait";if(n&&o in n){var c=parseInt(n.debounceWait);isNaN(c)||(t.debounceWait=c)}var f="waitOnDestroyed";n&&f in n&&(t.waitOnDestroyed=!!n.waitOnDestroyed)},refresh:function(){return kt(e,t)},inject:function(t){return x("inject")},pause:function(){return Q(e)},resume:function(){return Z(e)},addApp:function(n){return Ot(e,n,t)}}}function Et(t,e){t.__vuemeta_installed||(t.__vuemeta_installed=!0,e=function(t){return{keyName:(t=v(t)?t:{}).keyName||S,attribute:t.attribute||A,ssrAttribute:t.ssrAttribute||k,tagIDKeyName:t.tagIDKeyName||C,contentKeyName:t.contentKeyName||E,metaTemplateKeyName:t.metaTemplateKeyName||$,debounceWait:d(t.debounceWait)?T:t.debounceWait,waitOnDestroyed:d(t.waitOnDestroyed)?j:t.waitOnDestroyed,ssrAppId:t.ssrAppId||I,refreshOnceOnNavigation:!!t.refreshOnceOnNavigation}}(e),t.prototype.$meta=function(){return Ct.call(this,e)},t.mixin(nt(t,e)))}d(window)||d(window.Vue)||Et(window.Vue);var $t={version:"2.4.0",install:Et,generate:function(t,e){return x("generate")},hasMetaInfo:Y};e.a=$t}).call(this,n(38))},function(t,e,n){var r=n(24);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(39),o=n(11),c="__core-js_shared__",f=o[c]||(o[c]={});(t.exports=function(t,e){return f[t]||(f[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(56)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(16),o=n(171),c=n(90),f=n(89)("IE_PROTO"),l=function(){},h=function(){var t,iframe=n(85)("iframe"),i=c.length;for(iframe.style.display="none",n(86).appendChild(iframe),iframe.src="javascript:",(t=iframe.contentWindow.document).open(),t.write("\n \n\n```\n\n\n\n注意这里的 `alias`, 是设置别名用的. 我们需要为每个创建的目录重定向`_sidebar.md`, 因为 Docsify 默认是从当前目录下去找这个文件的.\n\n写一个简单脚本遍历一下,在根目录创建 `sidebar.js`\n\n```js\nconst fs = require('fs');\nconst path = require('path');\n\nconst root = path.join(__dirname);\nconst result = {};\n\nfunction readDirSync(p) {\n const dir = fs.readdirSync(p);\n dir.forEach((file) => {\n const info = fs.statSync(`${p}/${file}`);\n if (info.isDirectory() && file.indexOf('.') !== 0 && file.indexOf('_') !== 0) {\n result[`${p.replace(root, '')}/${file}/_sidebar.md`] = '/_sidebar.md';\n readDirSync(`${p}/${file}`);\n }\n });\n}\n\nreadDirSync(root);\nconsole.log(result);\n```\n\n将打印出来\n\n```js\n{\n '/basic/_sidebar.md': '/_sidebar.md',\n '/basic/algorithm/_sidebar.md': '/_sidebar.md',\n '/basic/db/_sidebar.md': '/_sidebar.md',\n '/basic/framework/_sidebar.md': '/_sidebar.md',\n '/basic/js/_sidebar.md': '/_sidebar.md'\n}\n```\n\n这样的一个对象,赋值到 `alias` 里即可.\n\n## 4.发布\n\n如果发布到`Github Pages`或其他类似的地方,不在需要将`Pages`部署到`gh-pages`分支, 只需要修改为部署`master`分支即可.\n","dir":"/zh/basic/md","path":"/zh/basic/md/gitbook-to-docsify","extension":".md","createdAt":"2025-08-29T15:18:11.817Z","updatedAt":"2025-08-29T15:18:11.817Z","to":"/basic/md/gitbook-to-docsify","meta":{"version":0,"revision":0,"created":1756480738422},"$loki":43},{"slug":"docsify","description":"","title":"Docsify画图建模Mermaid插件支持","menuTitle":"Docsify画图建模","position":1503,"category":"知识篇-Markdown","toc":[{"id":"引入-mermaid","depth":2,"text":"引入 Mermaid"},{"id":"配置文件修改","depth":2,"text":"配置文件修改"},{"id":"markdown-代码解析器","depth":3,"text":"markdown 代码解析器"},{"id":"自定义插件","depth":3,"text":"自定义插件"},{"id":"其实正文才刚刚开始","depth":2,"text":"其实,正文才刚刚开始."},{"id":"流程图","depth":3,"text":"流程图"},{"id":"时序图","depth":3,"text":"时序图"},{"id":"甘特图","depth":3,"text":"甘特图"},{"id":"在线编辑器","depth":2,"text":"在线编辑器"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"先上图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"mermaid1","src":"https://user-images.githubusercontent.com/1890238/27322559-3217d3b8-5564-11e7-8d27-2d6de348aa5f.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"引入-mermaid"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BC%95%E5%85%A5-mermaid","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"引入 Mermaid"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"head"}]},{"type":"text","value":" 中加入 css:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-html"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","tag"]},"children":[{"type":"element","tag":"span","props":{"className":["token","tag"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"<"}]},{"type":"text","value":"link"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"rel"}]},{"type":"element","tag":"span","props":{"className":["token","attr-value"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation","attr-equals"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\""}]},{"type":"text","value":"stylesheet"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\""}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"href"}]},{"type":"element","tag":"span","props":{"className":["token","attr-value"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation","attr-equals"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\""}]},{"type":"text","value":"//unpkg.com/mermaid/dist/mermaid.min.css"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\""}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"/>"}]}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在 底部 引用 js:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-html"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","tag"]},"children":[{"type":"element","tag":"span","props":{"className":["token","tag"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"<"}]},{"type":"text","value":"script"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","attr-value"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation","attr-equals"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\""}]},{"type":"text","value":"text/javascript"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\""}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"className":["token","attr-value"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation","attr-equals"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\""}]},{"type":"text","value":"//unpkg.com/mermaid/dist/mermaid.min.js"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\""}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"className":["token","script"]},"children":[]},{"type":"element","tag":"span","props":{"className":["token","tag"]},"children":[{"type":"element","tag":"span","props":{"className":["token","tag"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":""}]}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置文件修改"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BF%AE%E6%94%B9","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置文件修改"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","dom","variable"]},"children":[{"type":"text","value":"window"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"$docsify"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// ..."}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"hook"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" vm"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n hook"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"ready"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n mermaid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"initialize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"startOnLoad"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n hook"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"doneEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n mermaid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"init"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword","nil"]},"children":[{"type":"text","value":"undefined"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'.mermaid'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"markdown"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"renderer"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" html "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"match"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"^"}]},{"type":"text","value":"sequenceDiagram"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"match"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"^"}]},{"type":"text","value":"graph"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"match"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"^"}]},{"type":"text","value":"gantt"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n html "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'
    '"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" code "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'
    '"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" hl "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Prism"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"highlight"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Prism"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"languages"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"lang"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Prism"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"languages"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"markup"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" html "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'
    '"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" hl "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'
    '"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"解释一下,两个关键步骤:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"markdown-代码解析器"},"children":[{"type":"element","tag":"a","props":{"href":"#markdown-%E4%BB%A3%E7%A0%81%E8%A7%A3%E6%9E%90%E5%99%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"markdown 代码解析器"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"markdown"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"renderer"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" lang"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" html "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 搜索 mermaid 代码"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"match"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"^"}]},{"type":"text","value":"sequenceDiagram"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"match"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"^"}]},{"type":"text","value":"graph"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"match"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"^"}]},{"type":"text","value":"gantt"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 生成一个 mermaid 图表的容器"}]},{"type":"text","value":"\n html "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'
    '"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" code "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'
    '"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 源码自带的 Prism 高亮插件"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" hl "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Prism"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"highlight"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Prism"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"languages"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"lang"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Prism"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"languages"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"markup"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 将图表的容器添加到代码之前"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" html "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'
    '"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" hl "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'
    '"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"自定义插件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8F%92%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"自定义插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"hook"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" vm"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n hook"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"ready"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 类似 jQuery.ready 初始化 mermaid, 禁用自动渲染"}]},{"type":"text","value":"\n mermaid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"initialize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"startOnLoad"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n hook"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"doneEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每个页面渲染完成后手动渲染 mermaid 图表"}]},{"type":"text","value":"\n mermaid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"init"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword","nil"]},"children":[{"type":"text","value":"undefined"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'.mermaid'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最后再补一张甘特图:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"mermaid2","src":"https://user-images.githubusercontent.com/1890238/27322558-31c84fbe-5564-11e7-9949-851fddbafa33.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Mermaid 支持:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"流程图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"序列图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"甘特图"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"而且语法结构非常简单,值得推荐."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"其实正文才刚刚开始"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%85%B6%E5%AE%9E%E6%AD%A3%E6%96%87%E6%89%8D%E5%88%9A%E5%88%9A%E5%BC%80%E5%A7%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"其实,正文才刚刚开始."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"流程图"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B5%81%E7%A8%8B%E5%9B%BE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"流程图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"开始结束"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BC%80%E5%A7%8B%E7%BB%93%E6%9D%9F","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"开始/结束"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"graph"}]},{"type":"text","value":" TB\n s"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"(开始/结束)"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"style"}]},{"type":"text","value":" s "},{"type":"element","tag":"span","props":{"className":["token","style"]},"children":[{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"rx"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"ry"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"过程"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%BF%87%E7%A8%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"过程"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"graph"}]},{"type":"text","value":" TB\n step1"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"[过程]"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"输入输出"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"输入/输出"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"graph"}]},{"type":"text","value":" TB\n step2"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":">输入/输出]"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"判断"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%A4%E6%96%AD","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"判断"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"graph"}]},{"type":"text","value":" TB\n step3"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"{判断}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"连接线"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%BF%9E%E6%8E%A5%E7%BA%BF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"连接线"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"graph"}]},{"type":"text","value":" LR\n A "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" B\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"自定义样式"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A0%B7%E5%BC%8F","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"自定义样式"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"graph"}]},{"type":"text","value":" LR\n id1"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"(Start)"}]},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":"id2"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"(Stop)"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"style"}]},{"type":"text","value":" id1 "},{"type":"element","tag":"span","props":{"className":["token","style"]},"children":[{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"fill"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"#f9f"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"stroke"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"#333"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"stroke-width"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"4px"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"style"}]},{"type":"text","value":" id2 "},{"type":"element","tag":"span","props":{"className":["token","style"]},"children":[{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"fill"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"#ccf"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"stroke"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"#f66"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"stroke-width"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"2px"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"stroke-dasharray"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 5"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" 5"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"示例"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%A4%BA%E4%BE%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"示例"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"graph"}]},{"type":"text","value":" TB\n s"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"(开始)"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" step1"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":">输入参数]"}]},{"type":"text","value":"\n step1 "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" step2"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"{判断参数合法性}"}]},{"type":"text","value":"\n step2 "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"==>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","label","property"]},"children":[{"type":"text","value":"|校验失败|"}]},{"type":"text","value":"e\n step2"},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","label","property"]},"children":[{"type":"text","value":"|校验成功|"}]},{"type":"text","value":"step3"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"[处理业务]"}]},{"type":"text","value":"\n step3 "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" e"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"(结束)"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"style"}]},{"type":"text","value":" s "},{"type":"element","tag":"span","props":{"className":["token","style"]},"children":[{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"rx"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"ry"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"style"}]},{"type":"text","value":" e "},{"type":"element","tag":"span","props":{"className":["token","style"]},"children":[{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"rx"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"ry"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"子图"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AD%90%E5%9B%BE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"子图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"graph"}]},{"type":"text","value":" TB\n s"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"(开始)"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" step1"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":">输入参数]"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"subgraph"}]},{"type":"text","value":" 强调\n step1 "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" step2"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"{判断参数合法性}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"end"}]},{"type":"text","value":"\n step2 "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"==>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","label","property"]},"children":[{"type":"text","value":"|校验失败|"}]},{"type":"text","value":"e\n step2"},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","label","property"]},"children":[{"type":"text","value":"|校验成功|"}]},{"type":"text","value":"step3"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"[处理业务]"}]},{"type":"text","value":"\n step3 "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->"}]},{"type":"text","value":" e"},{"type":"element","tag":"span","props":{"className":["token","text","string"]},"children":[{"type":"text","value":"(结束)"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"style"}]},{"type":"text","value":" s "},{"type":"element","tag":"span","props":{"className":["token","style"]},"children":[{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"rx"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"ry"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"style"}]},{"type":"text","value":" e "},{"type":"element","tag":"span","props":{"className":["token","style"]},"children":[{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"rx"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"ry"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" 10"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"时序图"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%97%B6%E5%BA%8F%E5%9B%BE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"时序图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"参与者"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8F%82%E4%B8%8E%E8%80%85","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"参与者"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"sequenceDiagram"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"participant"}]},{"type":"text","value":" 客户端\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"participant"}]},{"type":"text","value":" 接口服务器\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"participant"}]},{"type":"text","value":" 数据库\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"消息"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B6%88%E6%81%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"消息"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"消息格式"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B6%88%E6%81%AF%E6%A0%BC%E5%BC%8F","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"消息格式"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"[参与者][箭头][参与者]:消息内容\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"支持的箭头有:"}]},{"type":"text","value":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"},{"type":"element","tag":"table","props":{},"children":[{"type":"element","tag":"thead","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"th","props":{"align":"center"},"children":[{"type":"text","value":"类型"}]},{"type":"element","tag":"th","props":{},"children":[{"type":"text","value":"说明"}]}]}]},{"type":"element","tag":"tbody","props":{},"children":[{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":"center"},"children":[{"type":"text","value":"->"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"无箭头实线"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":"center"},"children":[{"type":"text","value":"-->"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"无箭头虚线"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":"center"},"children":[{"type":"text","value":"->>"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"箭头实线"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":"center"},"children":[{"type":"text","value":"-->>"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"箭头虚线"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":"center"},"children":[{"type":"text","value":"-x"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"箭头实线带 x(异步)"}]}]},{"type":"element","tag":"tr","props":{},"children":[{"type":"element","tag":"td","props":{"align":"center"},"children":[{"type":"text","value":"--x"}]},{"type":"element","tag":"td","props":{},"children":[{"type":"text","value":"箭头虚线带 x(异步)"}]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"sequenceDiagram"}]},{"type":"text","value":"\n Alice"},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"->>"}]},{"type":"text","value":"John"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" Hello John, how are you?\n John"},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->>"}]},{"type":"text","value":"Alice"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" Great!\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"激活"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%BF%80%E6%B4%BB","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"激活"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"+/-"}]},{"type":"text","value":" 符号"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"sequenceDiagram"}]},{"type":"text","value":"\n Alice"},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"->>"}]},{"type":"text","value":"+John"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" Hello John, how are you?\n Alice"},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"->>"}]},{"type":"text","value":"+John"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" John, can yoy hear me?\n John"},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->>"}]},{"type":"text","value":"-Alice"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" Hi Alice, I can hear you!\n John"},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"-->>"}]},{"type":"text","value":"-Alice"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" I feel great!\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"甘特图"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%94%98%E7%89%B9%E5%9B%BE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"甘特图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-mermaid"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"gantt"}]},{"type":"text","value":"\ndateFormat YYYY-MM-DD\ntitle Adding GANTT diagram functionality to mermaid\n\nsection A section\nCompleted task "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"done, des1, 2014-01-06,2014-01-08\nActive task "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"active, des2, 2014-01-09, 3d\nFuture task "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" des3, after des2, 5d\nFuture task2 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" des4, after des3, 5d\n\nsection Critical tasks\nCompleted task in the critical line "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"crit, done, 2014-01-06,24h\nImplement parser and jison "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"crit, done, after des1, 2d\nCreate tests for parser "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"crit, active, 3d\nFuture task in critical line "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"crit, 5d\nCreate tests for renderer "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"2d\nAdd to mermaid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"1d\n\nsection Documentation\nDescribe gantt syntax "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"active, a1, after des1, 3d\nAdd gantt diagram to demo page "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"after a1 , 20h\nAdd another diagram to demo page "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"doc1, after a1 , 48h\n\nsection Last section\nDescribe gantt syntax "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"after doc1, 3d\nAdd gantt diagram to demo page "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"20h\nAdd another diagram to demo page "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"48h\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"在线编辑器"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9C%A8%E7%BA%BF%E7%BC%96%E8%BE%91%E5%99%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"在线编辑器"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://knsv.github.io/mermaid/live_editor/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://knsv.github.io/mermaid/live_editor/"}]}]}]},"text":"\n先上图\n\n![mermaid1](https://user-images.githubusercontent.com/1890238/27322559-3217d3b8-5564-11e7-8d27-2d6de348aa5f.png)\n\n## 引入 Mermaid\n\n在 `head` 中加入 css:\n\n```html\n\n```\n\n在 底部 引用 js:\n\n```html\n\n```\n\n## 配置文件修改\n\n```js\nwindow.$docsify = {\n // ...\n plugins: [\n function (hook, vm) {\n hook.ready(function () {\n mermaid.initialize({ startOnLoad: false });\n });\n hook.doneEach(function () {\n mermaid.init(undefined, '.mermaid');\n });\n }\n ],\n markdown: {\n renderer: {\n code: function (code, lang) {\n var html = '';\n if (code.match(/^sequenceDiagram/) || code.match(/^graph/) || code.match(/^gantt/)) {\n html = '
    ' + code + '
    ';\n }\n var hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup);\n return html + '
    ' + hl + '
    ';\n }\n }\n }\n};\n```\n\n解释一下,两个关键步骤:\n\n### markdown 代码解析器\n\n```js\nmarkdown: {\n renderer: {\n code: function(code, lang) {\n var html = '';\n // 搜索 mermaid 代码\n if(code.match(/^sequenceDiagram/) || code.match(/^graph/) || code.match(/^gantt/)){\n // 生成一个 mermaid 图表的容器\n html = '
    ' + code + '
    ';\n }\n // 源码自带的 Prism 高亮插件\n var hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup)\n // 将图表的容器添加到代码之前\n return html + '
    ' + hl + '
    '\n }\n }\n}\n```\n\n\n\n### 自定义插件\n\n```js\nplugins: [\n function (hook, vm) {\n hook.ready(function () {\n // 类似 jQuery.ready 初始化 mermaid, 禁用自动渲染\n mermaid.initialize({ startOnLoad: false });\n });\n hook.doneEach(function () {\n // 每个页面渲染完成后手动渲染 mermaid 图表\n mermaid.init(undefined, '.mermaid');\n });\n }\n];\n```\n\n最后再补一张甘特图:\n\n![mermaid2](https://user-images.githubusercontent.com/1890238/27322558-31c84fbe-5564-11e7-9949-851fddbafa33.png)\n\nMermaid 支持:\n\n- 流程图\n- 序列图\n- 甘特图\n\n而且语法结构非常简单,值得推荐.\n\n## 其实,正文才刚刚开始.\n\n### 流程图\n\n#### 开始/结束\n\n```mermaid\ngraph TB\n s(开始/结束)\n style s rx: 10, ry: 10\n```\n\n#### 过程\n\n```mermaid\ngraph TB\n step1[过程]\n```\n\n#### 输入/输出\n\n```mermaid\ngraph TB\n step2>输入/输出]\n```\n\n#### 判断\n\n```mermaid\ngraph TB\n step3{判断}\n```\n\n#### 连接线\n\n```mermaid\ngraph LR\n A --> B\n```\n\n#### 自定义样式\n\n```mermaid\ngraph LR\n id1(Start)-->id2(Stop)\n style id1 fill:#f9f,stroke:#333,stroke-width:4px\n style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5\n```\n\n#### 示例\n\n```mermaid\ngraph TB\n s(开始) --> step1>输入参数]\n step1 --> step2{判断参数合法性}\n step2 ==> |校验失败|e\n step2--> |校验成功|step3[处理业务]\n step3 --> e(结束)\n style s rx: 10, ry: 10\n style e rx: 10, ry: 10\n```\n\n#### 子图\n\n```mermaid\ngraph TB\n s(开始) --> step1>输入参数]\n subgraph 强调\n step1 --> step2{判断参数合法性}\n end\n step2 ==> |校验失败|e\n step2--> |校验成功|step3[处理业务]\n step3 --> e(结束)\n style s rx: 10, ry: 10\n style e rx: 10, ry: 10\n```\n\n### 时序图\n\n#### 参与者\n\n```mermaid\nsequenceDiagram\n participant 客户端\n participant 接口服务器\n participant 数据库\n```\n\n#### 消息\n\n##### 消息格式\n\n```\n[参与者][箭头][参与者]:消息内容\n```\n\n支持的箭头有:\n\n| 类型 | 说明 |\n| :--: | ------------------ |\n| -> | 无箭头实线 |\n| --> | 无箭头虚线 |\n| ->> | 箭头实线 |\n| -->> | 箭头虚线 |\n| -x | 箭头实线带 x(异步) |\n| --x | 箭头虚线带 x(异步) |\n\n```mermaid\nsequenceDiagram\n Alice->>John: Hello John, how are you?\n John-->>Alice: Great!\n```\n\n#### 激活\n\n用 `+/-` 符号\n\n```mermaid\nsequenceDiagram\n Alice->>+John: Hello John, how are you?\n Alice->>+John: John, can yoy hear me?\n John-->>-Alice: Hi Alice, I can hear you!\n John-->>-Alice: I feel great!\n```\n\n### 甘特图\n\n```mermaid\ngantt\ndateFormat YYYY-MM-DD\ntitle Adding GANTT diagram functionality to mermaid\n\nsection A section\nCompleted task :done, des1, 2014-01-06,2014-01-08\nActive task :active, des2, 2014-01-09, 3d\nFuture task : des3, after des2, 5d\nFuture task2 : des4, after des3, 5d\n\nsection Critical tasks\nCompleted task in the critical line :crit, done, 2014-01-06,24h\nImplement parser and jison :crit, done, after des1, 2d\nCreate tests for parser :crit, active, 3d\nFuture task in critical line :crit, 5d\nCreate tests for renderer :2d\nAdd to mermaid :1d\n\nsection Documentation\nDescribe gantt syntax :active, a1, after des1, 3d\nAdd gantt diagram to demo page :after a1 , 20h\nAdd another diagram to demo page :doc1, after a1 , 48h\n\nsection Last section\nDescribe gantt syntax :after doc1, 3d\nAdd gantt diagram to demo page :20h\nAdd another diagram to demo page :48h\n```\n\n## 在线编辑器\n\n\n","dir":"/zh/basic/md","path":"/zh/basic/md/docsify","extension":".md","createdAt":"2025-08-29T15:18:11.817Z","updatedAt":"2025-08-29T15:18:11.817Z","to":"/basic/md/docsify","meta":{"version":0,"revision":0,"created":1756480738441},"$loki":44},{"slug":"gitbook","description":"","title":"GitBook静态文档生成","position":1504,"category":"知识篇-Markdown","toc":[{"id":"安装使用","depth":2,"text":"安装使用"},{"id":"readmemd","depth":3,"text":"README.md:"},{"id":"summarymd","depth":3,"text":"SUMMARY.md:"},{"id":"插件使用","depth":2,"text":"插件使用"},{"id":"toc-目录生成","depth":3,"text":"TOC 目录生成"},{"id":"捐赠插件","depth":3,"text":"捐赠插件"},{"id":"文章字数统计","depth":3,"text":"文章字数统计"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"安装使用"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装使用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"登陆 gitbook,使用 github 账号登陆,新建一个 book,然后选择 link to github.(不要选择 gitbook 在线编辑)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"新建 github 仓库比如 some_book.git"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本地安装 gitbook 和 gitbook-cli 命令行工具:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ cnpm i -g gitbook-cli\n$ gitbook versions:install"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本地新建 my_book"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ gitbook init my_book #新建一本书\n$ cd my_book\n$ git init"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用 GitBook 制作电子书,必备两个文件:README.md 和 SUMMARY.md"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"readmemd"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#readmemd","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"README.md:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"电子书介绍说明部分"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"summarymd"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#summarymd","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"SUMMARY.md:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"电子书目录部分"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"接下来只需要编写相应章节即可。在编辑完 README.md 和 SUMMARY.md 后,可以运行以下命令:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"$ git add .\n$ git commit -m '...'\n$ git remote add origin git@github.com:xxxx/some_book.git #创建远程服务器\n$ git push -u origin master\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Gitbook 首先把你的 Markdown 文件编译为 HTML 文件,并根据 SUMMARY.md 生成书的目录。所有生存的文件都保存在当前目录下的一个名为_book 的子目录中。完成这些工作后,Gitbook 会作为一个 HTTP Server 运行,并在 4000 端口监听 HTTP 请求。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后使用 markdown 语法编辑文章,开启本地服务器:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"$ gitbook serve\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"插件使用"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"插件使用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"添加插件后使用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"gitbook "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"进行安装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"toc-目录生成"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#toc-%E7%9B%AE%E5%BD%95%E7%94%9F%E6%88%90","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"TOC 目录生成"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"book.json 配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-json"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"atoc\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pluginsConfig\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"atoc\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"addClass\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"className\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"atoc\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在需要使用目录的章节文字顶部加入"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-html"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":""}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"即可生成文档目录。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"捐赠插件"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%8D%90%E8%B5%A0%E6%8F%92%E4%BB%B6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"捐赠插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"book.json 配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-json"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"donate\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pluginsConfig\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"donate\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"wechat\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"例:/images/qr.png\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"alipay\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"http://blog.willin.wang/static/images/qr.png\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"title\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"默认空\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"button\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"默认值:Donate\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"alipayText\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"默认值:支付宝捐赠\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"wechatText\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"默认值:微信捐赠\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"文章字数统计"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%96%87%E7%AB%A0%E5%AD%97%E6%95%B0%E7%BB%9F%E8%AE%A1","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"文章字数统计"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"book.json 配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-json"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"wordcount\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"运行示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"info: found 24 pages\ninfo: found 99 asset files\nCompleted counting with 13313 words.\ninfo: >> generation finished with success in 5.8s !\n\nStarting server ...\nServing book on http://localhost:4000\n"}]}]}]}]},"text":"\nGitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书\n\n## 安装使用\n\n- 登陆 gitbook,使用 github 账号登陆,新建一个 book,然后选择 link to github.(不要选择 gitbook 在线编辑)\n\n- 新建 github 仓库比如 some_book.git\n\n- 本地安装 gitbook 和 gitbook-cli 命令行工具:\n\n $ cnpm i -g gitbook-cli\n $ gitbook versions:install\n\n- 本地新建 my_book\n\n $ gitbook init my_book #新建一本书\n $ cd my_book\n $ git init\n\n- 使用 GitBook 制作电子书,必备两个文件:README.md 和 SUMMARY.md\n\n### README.md:\n\n电子书介绍说明部分\n\n### SUMMARY.md:\n\n电子书目录部分\n\n接下来只需要编写相应章节即可。在编辑完 README.md 和 SUMMARY.md 后,可以运行以下命令:\n\n $ git add .\n $ git commit -m '...'\n $ git remote add origin git@github.com:xxxx/some_book.git #创建远程服务器\n $ git push -u origin master\n\nGitbook 首先把你的 Markdown 文件编译为 HTML 文件,并根据 SUMMARY.md 生成书的目录。所有生存的文件都保存在当前目录下的一个名为\\_book 的子目录中。完成这些工作后,Gitbook 会作为一个 HTTP Server 运行,并在 4000 端口监听 HTTP 请求。\n\n然后使用 markdown 语法编辑文章,开启本地服务器:\n\n $ gitbook serve\n\n## 插件使用\n\n添加插件后使用\n\n```bash\ngitbook install\n```\n\n进行安装\n\n\n\n### TOC 目录生成\n\nbook.json 配置:\n\n```json\n{\n \"plugins\": [\"atoc\"],\n \"pluginsConfig\": {\n \"atoc\": {\n \"addClass\": true,\n \"className\": \"atoc\"\n }\n }\n}\n```\n\n在需要使用目录的章节文字顶部加入\n\n```html\n\n```\n\n即可生成文档目录。\n\n### 捐赠插件\n\nbook.json 配置:\n\n```json\n{\n \"plugins\": [\"donate\"],\n \"pluginsConfig\": {\n \"donate\": {\n \"wechat\": \"例:/images/qr.png\",\n \"alipay\": \"http://blog.willin.wang/static/images/qr.png\",\n \"title\": \"默认空\",\n \"button\": \"默认值:Donate\",\n \"alipayText\": \"默认值:支付宝捐赠\",\n \"wechatText\": \"默认值:微信捐赠\"\n }\n }\n}\n```\n\n### 文章字数统计\n\nbook.json 配置:\n\n```json\n{\n \"plugins\": [\"wordcount\"]\n}\n```\n\n运行示例:\n\n```\ninfo: found 24 pages\ninfo: found 99 asset files\nCompleted counting with 13313 words.\ninfo: >> generation finished with success in 5.8s !\n\nStarting server ...\nServing book on http://localhost:4000\n```\n","dir":"/zh/basic/md","path":"/zh/basic/md/gitbook","extension":".md","createdAt":"2025-08-29T15:18:11.817Z","updatedAt":"2025-08-29T15:18:11.817Z","to":"/basic/md/gitbook","meta":{"version":0,"revision":0,"created":1756480738447},"$loki":45},{"slug":"hexo","description":"","title":"Hexo搭建静态博客","position":1501,"category":"知识篇-Markdown","toc":[{"id":"1-环境","depth":2,"text":"1. 环境"},{"id":"11-安装-git","depth":3,"text":"1.1 安装 Git"},{"id":"12-安装-nodejs","depth":3,"text":"1.2 安装 node.js"},{"id":"2-配置-github","depth":2,"text":"2. 配置 Github"},{"id":"21-建立-respository","depth":3,"text":"2.1 建立 Respository"},{"id":"22-配置-ssh-key","depth":3,"text":"2.2 配置 SSH-Key"},{"id":"1-新建代码仓库","depth":2,"text":"1. 新建代码仓库"},{"id":"2-安装-nodejs-和-hexo","depth":2,"text":"2. 安装 Node.js 和 Hexo"},{"id":"3-使用-travis-ci","depth":2,"text":"3. 使用 Travis CI"},{"id":"4-生成-github-personal-access-token","depth":2,"text":"4. 生成 GitHub Personal Access Token"},{"id":"5-配置-travis-ci","depth":2,"text":"5. 配置 Travis CI"},{"id":"6-测试","depth":2,"text":"6. 测试"},{"id":"7-附加-自动部署脚本","depth":2,"text":"7. 附加 自动部署脚本"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"1-环境"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E7%8E%AF%E5%A2%83","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 环境"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"11-安装-git"},"children":[{"type":"element","tag":"a","props":{"href":"#11-%E5%AE%89%E8%A3%85-git","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.1 安装 Git"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"12-安装-nodejs"},"children":[{"type":"element","tag":"a","props":{"href":"#12-%E5%AE%89%E8%A3%85-nodejs","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.2 安装 node.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"1. 安装 nvm"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用 curl 方式安装:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$curl -o- "},{"type":"element","tag":"a","props":{"href":"https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh"}]},{"type":"text","value":" | bash"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$echo '\\n#alias for cnpm\\nalias cnpm=\"npm --registry="},{"type":"element","tag":"a","props":{"href":"https://registry.npm.taobao.org","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://registry.npm.taobao.org"}]},{"type":"text","value":" \\ --cache=$HOME/.npm/.cache/cnpm \\ --disturl="},{"type":"element","tag":"a","props":{"href":"https://npm.taobao.org/dist","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://npm.taobao.org/dist"}]},{"type":"text","value":" \\ --userconfig=$HOME/.cnpmrc\"' >> ~/.zshrc && source ~/.zshrc"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"2. 使用 nvm 安装 node.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$nvm install node"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$nvm alias default node"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"2-配置-github"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E9%85%8D%E7%BD%AE-github","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 配置 Github"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"21-建立-respository"},"children":[{"type":"element","tag":"a","props":{"href":"#21-%E5%BB%BA%E7%AB%8B-respository","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.1 建立 Respository"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"建立与你用户名对应的仓库,仓库名必须为【"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"your_user_name"}]},{"type":"text","value":".github.io】"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"22-配置-ssh-key"},"children":[{"type":"element","tag":"a","props":{"href":"#22-%E9%85%8D%E7%BD%AE-ssh-key","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.2 配置 SSH-Key"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考:"},{"type":"element","tag":"a","props":{"href":"http://www.cnblogs.com/zhcncn/p/3787849.html","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"Windows 下 Git 安装指南"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"##3. 安装 Hexo"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"###3.1 Installation\n打开 Git 命令,执行如下命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ cnpm install -g hexo"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"###3.2 Quick Start"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"1. Setup your blog"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在电脑中建立一个名字叫「Hexo」的文件夹(比如我建在了 D:\\Hexo),然后在此文件夹中右键打开 Git Bash。执行下面的命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ hexo init"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[info] Copying data"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[info] You are almost done! Don't forget to run "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cnpm install"}]},{"type":"text","value":" before you start blogging with Hexo!"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Hexo 随后会自动在目标文件夹建立网站所需要的文件。然后按照提示,运行 cnpm install(在 /D/Hexo 下)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"cnpm install"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"会在 D:\\Hexo 目录中安装 node_modules。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"2. Start the server"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"运行下面的命令(在 /D/Hexo 下)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ hexo server"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[info] Hexo is running at "},{"type":"element","tag":"a","props":{"href":"http://localhost:4000/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://localhost:4000/"}]},{"type":"text","value":". Press Ctrl+C to stop."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"表明 Hexo Server 已经启动了,在浏览器中打开 "},{"type":"element","tag":"a","props":{"href":"http://localhost:4000/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://localhost:4000/"}]},{"type":"text","value":",这时可以看到 Hexo 已为你生成了一篇 blog。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"你可以按 Ctrl+C 停止 Server。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"3. Create a new post"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"新打开一个 git bash 命令行窗口,cd 到/D/Hexo 下,执行下面的命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ hexo new \"My New Post\""}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[info] File created at d:\\Hexo\\source_posts\\My-New-Post.md"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"刷新 "},{"type":"element","tag":"a","props":{"href":"http://localhost:4000/%EF%BC%8C%E5%8F%AF%E4%BB%A5%E5%8F%91%E7%8E%B0%E5%B7%B2%E7%94%9F%E6%88%90%E4%BA%86%E4%B8%80%E7%AF%87%E6%96%B0%E6%96%87%E7%AB%A0","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://localhost:4000/,可以发现已生成了一篇新文章"}]},{"type":"text","value":" \"My New Post\"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"NOTE:"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有一个问题,发现 \"My New Post\" 被发了 2 遍,在 Hexo server 所在的 git bash 窗口也能看到 create 了 2 次。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ hexo server"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[info] Hexo is running at "},{"type":"element","tag":"a","props":{"href":"http://localhost:4000/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://localhost:4000/"}]},{"type":"text","value":". Press Ctrl+C to stop."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[create] d:\\Hexo\\source_posts\\My-New-Post.md"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[create] d:\\Hexo\\source_posts\\My-New-Post.md"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"经验证,在 hexo new \"My New Post\" 时,如果按 Ctrl+C 将 hexo server 停掉,就不会出现发 2 次的问题了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以,在 hexo new 文章时,需要 stop server。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"4. Generate static files"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"执行下面的命令,将 markdown 文件生成静态网页。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ hexo generate"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"该命令执行完后,会在 D:\\Hexo\\public\\ 目录下生成一系列 html,css 等文件。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"5. 编辑文章"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo new \"My New Post\"会在 D:\\Hexo\\source_posts 目录下生成一个 markdown 文件:My-New-Post.md"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以使用一个支持 markdown 语法的编辑器(比如 Sublime Text 2)来编辑该文件。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"6. 部署到 Github"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"部署到 Github 前需要配置_config.yml 文件,首先找到下面的内容"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"# Deployment\n## Docs: http://hexo.io/docs/deployment.html\ndeploy:\n type:\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后将它们修改为"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"# Deployment\n## Docs: http://hexo.io/docs/deployment.html\ndeploy:\n type: git\n repository: git@github.com:zhchnchn/zhchnchn.github.io.git\n branch: master\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"NOTE1:"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Repository:必须是 SSH 形式的 url("},{"type":"element","tag":"a","props":{"href":"mailto:git@github.com"},"children":[{"type":"text","value":"git@github.com"}]},{"type":"text","value":":zhchnchn/zhchnchn.github.io.git),而不能是 HTTPS 形式的 url("},{"type":"element","tag":"a","props":{"href":"https://github.com/zhchnchn/zhchnchn.github.io.git%EF%BC%89%EF%BC%8C%E5%90%A6%E5%88%99%E4%BC%9A%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%EF%BC%9A","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/zhchnchn/zhchnchn.github.io.git),否则会出现错误:"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ hexo deploy"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[info] Start deploying: github"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"[error] "},{"type":"element","tag":"a","props":{"href":"https://github.com/zhchnchn/zhchnchn.github.io","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/zhchnchn/zhchnchn.github.io"}]},{"type":"text","value":" is not a valid repositor URL!"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用 SSH url,如果电脑没有开放 SSH 端口,会致部署失败。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"fatal: Could not read from remote repository."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Please make sure you have the correct access rights\nand the repository exists."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"NOTE2:"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果你是为一个项目制作网站,那么需要把 branch 设置为 gh-pages。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"7. 测试"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"当部署完成后,在浏览器中打开["},{"type":"element","tag":"a","props":{"href":"http://our_user_name.github.io/%5D(","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://our_user_name.github.io/]("}]},{"type":"element","tag":"a","props":{"href":"https://our_user_name.github.io/%EF%BC%89","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://our_user_name.github.io/)"}]},{"type":"text","value":" ,正常显示网页,表明部署成功。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"8. 总结:部署步骤"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"每次部署的步骤,可按以下三步来进行。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo clean"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo generate"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo deploy"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"9. 总结:本地调试"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"在执行下面的命令后,"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ hexo g #生成"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"$ hexo s #启动本地服务,进行文章预览调试"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"浏览器输入 "},{"type":"element","tag":"a","props":{"href":"http://localhost:4000%EF%BC%8C%E6%9F%A5%E7%9C%8B%E6%90%AD%E5%BB%BA%E6%95%88%E6%9E%9C%E3%80%82%E6%AD%A4%E5%90%8E%E7%9A%84%E6%AF%8F%E6%AC%A1%E5%8F%98%E6%9B%B4%5C_config.yml","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://localhost:4000,查看搭建效果。此后的每次变更\\_config.yml"}]},{"type":"text","value":" 文件或者新建文件都可以先用此命令调试,尤其是当你想调试新添加的主题时。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{"start":2},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"可以用简化的一条命令"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo s -g"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"###3.3 总结\n####3.3.1 常用命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo new \"postName\" #新建文章"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo new page \"pageName\" #新建页面"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo generate #生成静态页面至 public 目录"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo server #开启预览访问端口(默认端口 4000,'ctrl + c'关闭 server)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo deploy #将.deploy 目录部署到 GitHub"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo help # 查看帮助"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo version #查看 Hexo 的版本"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"####3.3.2 复合命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo deploy -g #生成加部署"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo server -g #生成加预览"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"命令的简写为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo n == hexo new"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo g == hexo generate"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo s == hexo server"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"hexo d == hexo deploy"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"##4. 配置 Hexo"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"配置参考-httpibruceinfo20131122hexo-your-blog"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE%E5%8F%82%E8%80%83-httpibruceinfo20131122hexo-your-blog","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"element","tag":"a","props":{"href":"http://ibruce.info/2013/11/22/hexo-your-blog/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"配置参考: http://ibruce.info/2013/11/22/hexo-your-blog/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h1","props":{"id":"配合-travis-ci将-hexo-博客自动部署到-github-上"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E5%90%88-travis-ci%E5%B0%86-hexo-%E5%8D%9A%E5%AE%A2%E8%87%AA%E5%8A%A8%E9%83%A8%E7%BD%B2%E5%88%B0-github-%E4%B8%8A","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配合 Travis CI,将 Hexo 博客自动部署到 github 上"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"1-新建代码仓库"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E6%96%B0%E5%BB%BA%E4%BB%A3%E7%A0%81%E4%BB%93%E5%BA%93","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 新建代码仓库"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"新建一个代码仓库,有一个注意点,若仓库取名为【"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"your_user_name"}]},{"type":"text","value":".github.io】,则需要新建一个分支用来放.md 文件,因为 html 文件会自动部署到 master 上。若仓库名只是普通的名称,则可以将.md 文件放到 master 分支上,但这时需要新建一个分支 gh-pages 用来放 html 文件。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里,我们就使用了【"},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"your_user_name"}]},{"type":"text","value":".github.io】这样的仓库名,取名为 Hexo.github.io,新建一个分支,取名为 raw。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Clone 到本地"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"git clone -b raw <仓库克隆URL> #只Clone出新建的raw分支 保留master分支用于部署\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"2-安装-nodejs-和-hexo"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E5%AE%89%E8%A3%85-nodejs-%E5%92%8C-hexo","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 安装 Node.js 和 Hexo"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"请参考"},{"type":"element","tag":"a","props":{"href":"https://crabxlab.gitbooks.io/fs-guide/content/front/hexo_create.html","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"2.1 Hexo 搭建"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"3-使用-travis-ci"},"children":[{"type":"element","tag":"a","props":{"href":"#3-%E4%BD%BF%E7%94%A8-travis-ci","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3. 使用 Travis CI"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先我们先打开"},{"type":"element","tag":"a","props":{"href":"https://travis-ci.org/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"Travis CI"}]},{"type":"text","value":",可以在右上角找到使用 GitHub 登陆的按钮。\n"},{"type":"element","tag":"img","props":{"alt":"travis ci","src":"/basic/travis/travis.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"授权完成后,你可以在左上角找到 My Repositories 一旁的加号“+”,点击它,它就会列出你所有的仓库,你只需要找到刚才的 hexo.github.io 并把它左侧的开关打开就可以了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"img","src":"/basic/travis/04.01.png"},"children":[]},{"type":"text","value":"\n"},{"type":"element","tag":"img","props":{"alt":"img","src":"/basic/travis/04.02.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"4-生成-github-personal-access-token"},"children":[{"type":"element","tag":"a","props":{"href":"#4-%E7%94%9F%E6%88%90-github-personal-access-token","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"4. 生成 GitHub Personal Access Token"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"登录 GitHub,在右上角头像处进入设置。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"img","src":"/basic/travis/05.00.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在左侧找到 Personal access tokens,并点击右上角的 Generate new token。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"img","src":"/basic/travis/05.01.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"需要为新的 Token 输入一个名字,这里我们就填入 Travis CI 好了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"img","src":"/basic/travis/05.02.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"确定生成后,Token 将显示在页面上,此时需要将其复制并保存好,并避免泄露。遗忘 Token 后不能找回,只能重新生成。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"img","src":"/basic/travis/05.03.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最后,我们还需要"},{"type":"element","tag":"a","props":{"href":"https://www.random.org/strings/?num=10&len=20&digits=on&upperalpha=on&loweralpha=on&unique=on&format=html&rnd=new","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"生成随机字符串"}]},{"type":"text","value":",并在其中选择一行随机字符串,为下文备用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"5-配置-travis-ci"},"children":[{"type":"element","tag":"a","props":{"href":"#5-%E9%85%8D%E7%BD%AE-travis-ci","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"5. 配置 Travis CI"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先在 Travis CI 中找到已经启用自动构建的仓库,并在右侧找到设置按钮。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"img","src":"/basic/travis/06.00.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注意:该图片中的仓库名称为 SumiMakito.github.io,但我们这里的名称应该为 Hexo.github.io。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有两处需要设置,首先需要启用 Build only if .travis.yml is present 选项,以避免 master 分支被构建和陷入构建循环的问题。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"另外,在下方的环境变量设置处,我们需要设置两组变量,并注意保持 Display value in build log 禁用,以免构建日志泄露 Token 等信息。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"#需要设置的两组变量\nGitHubKEY = 上文生成的GitHub Personal Access Token\nNOTIFY_TOKEN = 上文生成的随机字符串\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"img","src":"/basic/travis/06.01.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在每次 Push 后,Travis CI 将检查分支下的 .travis.yml 文件,并以此作为配置进行构建。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在分支下新建.travis.yml 和 build.sh。下面是我所使用的 .travis.yml :"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-yml"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","key","atrule"]},"children":[{"type":"text","value":"language"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" node_js\n"},{"type":"element","tag":"span","props":{"className":["token","key","atrule"]},"children":[{"type":"text","value":"node_js"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0.12'"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","key","atrule"]},"children":[{"type":"text","value":"install"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" npm install hexo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":"cli "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":"g\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" npm install hexo "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":"save\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" npm install\n"},{"type":"element","tag":"span","props":{"className":["token","key","atrule"]},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" chmod +x ./build.sh\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" ./build.sh "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" /dev/null\n"},{"type":"element","tag":"span","props":{"className":["token","key","atrule"]},"children":[{"type":"text","value":"branches"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","key","atrule"]},"children":[{"type":"text","value":"only"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" raw\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在这里,配置文件限制了自动构建工作只会在 raw 分支下进行。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下面是我所使用的 build.sh:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"hexo generate #生成静态整站\ncd ./public #生成的静态页面会存储在public目录下\ngit init\ngit config --global push.default matching\ngit config --global user.email \"username@example.com\" #填入GitHub的邮箱地址\ngit config --global user.name \"username\" #填入GitHub的用户名\ngit add --all .\ngit commit -m \"Travis CI Auto Builder\" #自动构建后的内容将全部以此信息提交\ngit push --quiet --force https://${GitHubKEY}@github.com/你的GitHub用户名/你的代码仓库名.git master #自动构建后的内容将全部以此信息提交\ncurl --connect-timeout 20 --max-time 30 -s http://远端服务器URL/webhook.php?_=${NOTIFY_TOKEN} #服务器Webhook 将在下文介绍\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"6-测试"},"children":[{"type":"element","tag":"a","props":{"href":"#6-%E6%B5%8B%E8%AF%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"6. 测试"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"还记得之前的 Hexo 文件夹吗?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cd ./HexoBlog\nhexo new hello-ci #本地没有Hexo的话可以直接跳过这一步\nvim ./source/_posts/hello-ci.md\ngit add --all .\ngit commit -m \"Hello, CI!\"\ngit push #将代码push到raw分支上\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"登陆相应网址进行效果查看。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"7-附加-自动部署脚本"},"children":[{"type":"element","tag":"a","props":{"href":"#7-%E9%99%84%E5%8A%A0-%E8%87%AA%E5%8A%A8%E9%83%A8%E7%BD%B2%E8%84%9A%E6%9C%AC","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"7. 附加 自动部署脚本"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在项目文件夹下新建一个"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cmd"}]},{"type":"text","value":"文件(文件名随意),并为其增加执行权限。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"touch cmd\nchmod +x cmd\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cmd"}]},{"type":"text","value":"文件源码:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","shebang","important"]},"children":[{"type":"text","value":"#!/bin/bash"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"pushd"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"dirname"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"${0}"}]},{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":")"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" /dev/null\n"},{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"text","value":"DIR"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$("}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"pwd"}]},{"type":"text","value":" -L"},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":")"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"popd"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" /dev/null\n"},{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"text","value":"DATE"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"date"}]},{"type":"text","value":" +"},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"%Y-%m-%d %H:%M\""}]},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":")"}]}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# get action"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"text","value":"ACTION"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$1"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# help"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function-name","function"]},"children":[{"type":"text","value":"usage"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"echo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"Usage: ./cmd {commit|build|clean}\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"exit"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# start app"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function-name","function"]},"children":[{"type":"text","value":"commit"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" commit -m "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Post Auto Commit'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" push\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function-name","function"]},"children":[{"type":"text","value":"build"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n hexo d -g\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# stop app"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function-name","function"]},"children":[{"type":"text","value":"clean"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"rm"}]},{"type":"text","value":" -rf .deploy_git\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"rm"}]},{"type":"text","value":" -rf public\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"case"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$ACTION"}]},{"type":"text","value":"\""}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":"\n commit"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n commit\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n build"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n build\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n clean"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n clean\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n *"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n usage\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"esac"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n## 1. 环境\n\n### 1.1 安装 Git\n\n### 1.2 安装 node.js\n\n**1. 安装 nvm**\n\n使用 curl 方式安装:\n\n> $curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash\n\n> $echo '\\n#alias for cnpm\\nalias cnpm=\"npm --registry=https://registry.npm.taobao.org \\ --cache=$HOME/.npm/.cache/cnpm \\ --disturl=https://npm.taobao.org/dist \\ --userconfig=$HOME/.cnpmrc\"' >> ~/.zshrc && source ~/.zshrc\n\n**2. 使用 nvm 安装 node.js**\n\n> $nvm install node\n\n> $nvm alias default node\n\n## 2. 配置 Github\n\n### 2.1 建立 Respository\n\n建立与你用户名对应的仓库,仓库名必须为【**your_user_name**.github.io】\n\n### 2.2 配置 SSH-Key\n\n参考:[Windows 下 Git 安装指南](http://www.cnblogs.com/zhcncn/p/3787849.html)\n\n##3. 安装 Hexo\n\n###3.1 Installation\n打开 Git 命令,执行如下命令\n\n> $ cnpm install -g hexo\n\n###3.2 Quick Start\n\n**1. Setup your blog**\n\n在电脑中建立一个名字叫「Hexo」的文件夹(比如我建在了 D:\\Hexo),然后在此文件夹中右键打开 Git Bash。执行下面的命令\n\n> $ hexo init\n\n> [info] Copying data\n\n> [info] You are almost done! Don't forget to run `cnpm install` before you start blogging with Hexo!\n\nHexo 随后会自动在目标文件夹建立网站所需要的文件。然后按照提示,运行 cnpm install(在 /D/Hexo 下)\n\n> cnpm install\n\n会在 D:\\Hexo 目录中安装 node_modules。\n\n**2. Start the server**\n\n运行下面的命令(在 /D/Hexo 下)\n\n> $ hexo server\n\n> [info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.\n\n表明 Hexo Server 已经启动了,在浏览器中打开 [http://localhost:4000/](http://localhost:4000/),这时可以看到 Hexo 已为你生成了一篇 blog。\n\n你可以按 Ctrl+C 停止 Server。\n\n**3. Create a new post**\n\n新打开一个 git bash 命令行窗口,cd 到/D/Hexo 下,执行下面的命令\n\n> $ hexo new \"My New Post\"\n\n> [info] File created at d:\\Hexo\\source_posts\\My-New-Post.md\n\n刷新 http://localhost:4000/,可以发现已生成了一篇新文章 \"My New Post\"。\n\n\n\n**NOTE:**\n\n有一个问题,发现 \"My New Post\" 被发了 2 遍,在 Hexo server 所在的 git bash 窗口也能看到 create 了 2 次。\n\n> $ hexo server\n\n> [info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.\n\n> [create] d:\\Hexo\\source_posts\\My-New-Post.md\n\n> [create] d:\\Hexo\\source_posts\\My-New-Post.md\n\n经验证,在 hexo new \"My New Post\" 时,如果按 Ctrl+C 将 hexo server 停掉,就不会出现发 2 次的问题了。\n\n所以,在 hexo new 文章时,需要 stop server。\n\n**4. Generate static files**\n\n执行下面的命令,将 markdown 文件生成静态网页。\n\n> $ hexo generate\n\n该命令执行完后,会在 D:\\Hexo\\public\\ 目录下生成一系列 html,css 等文件。\n\n**5. 编辑文章**\n\nhexo new \"My New Post\"会在 D:\\Hexo\\source_posts 目录下生成一个 markdown 文件:My-New-Post.md\n\n可以使用一个支持 markdown 语法的编辑器(比如 Sublime Text 2)来编辑该文件。\n\n**6. 部署到 Github**\n\n部署到 Github 前需要配置\\_config.yml 文件,首先找到下面的内容\n\n```\n# Deployment\n## Docs: http://hexo.io/docs/deployment.html\ndeploy:\n type:\n```\n\n然后将它们修改为\n\n```\n# Deployment\n## Docs: http://hexo.io/docs/deployment.html\ndeploy:\n type: git\n repository: git@github.com:zhchnchn/zhchnchn.github.io.git\n branch: master\n```\n\n**NOTE1:**\n\nRepository:必须是 SSH 形式的 url(git@github.com:zhchnchn/zhchnchn.github.io.git),而不能是 HTTPS 形式的 url(https://github.com/zhchnchn/zhchnchn.github.io.git),否则会出现错误:\n\n> $ hexo deploy\n\n> [info] Start deploying: github\n\n> [error] https://github.com/zhchnchn/zhchnchn.github.io is not a valid repositor URL!\n\n使用 SSH url,如果电脑没有开放 SSH 端口,会致部署失败。\n\n> fatal: Could not read from remote repository.\n\n> Please make sure you have the correct access rights\n> and the repository exists.\n\n**NOTE2:**\n\n如果你是为一个项目制作网站,那么需要把 branch 设置为 gh-pages。\n\n**7. 测试**\n\n当部署完成后,在浏览器中打开[http://our_user_name.github.io/](https://our_user_name.github.io/) ,正常显示网页,表明部署成功。\n\n**8. 总结:部署步骤**\n\n每次部署的步骤,可按以下三步来进行。\n\n> hexo clean\n\n> hexo generate\n\n> hexo deploy\n\n**9. 总结:本地调试**\n\n1. 在执行下面的命令后,\n\n> $ hexo g #生成\n\n> $ hexo s #启动本地服务,进行文章预览调试\n\n浏览器输入 http://localhost:4000,查看搭建效果。此后的每次变更\\_config.yml 文件或者新建文件都可以先用此命令调试,尤其是当你想调试新添加的主题时。\n\n2. 可以用简化的一条命令\n\n> hexo s -g\n\n###3.3 总结\n####3.3.1 常用命令\n\n> hexo new \"postName\" #新建文章\n\n> hexo new page \"pageName\" #新建页面\n\n> hexo generate #生成静态页面至 public 目录\n\n> hexo server #开启预览访问端口(默认端口 4000,'ctrl + c'关闭 server)\n\n> hexo deploy #将.deploy 目录部署到 GitHub\n\n> hexo help # 查看帮助\n\n> hexo version #查看 Hexo 的版本\n\n####3.3.2 复合命令\n\n> hexo deploy -g #生成加部署\n\n> hexo server -g #生成加预览\n\n命令的简写为:\n\n> hexo n == hexo new\n\n> hexo g == hexo generate\n\n> hexo s == hexo server\n\n> hexo d == hexo deploy\n\n##4. 配置 Hexo\n\n#### [配置参考: http://ibruce.info/2013/11/22/hexo-your-blog/](http://ibruce.info/2013/11/22/hexo-your-blog/)\n\n# 配合 Travis CI,将 Hexo 博客自动部署到 github 上\n\n## 1. 新建代码仓库\n\n新建一个代码仓库,有一个注意点,若仓库取名为【**your_user_name**.github.io】,则需要新建一个分支用来放.md 文件,因为 html 文件会自动部署到 master 上。若仓库名只是普通的名称,则可以将.md 文件放到 master 分支上,但这时需要新建一个分支 gh-pages 用来放 html 文件。\n\n这里,我们就使用了【**your_user_name**.github.io】这样的仓库名,取名为 Hexo.github.io,新建一个分支,取名为 raw。\n\nClone 到本地\n\n```\ngit clone -b raw <仓库克隆URL> #只Clone出新建的raw分支 保留master分支用于部署\n```\n\n## 2. 安装 Node.js 和 Hexo\n\n请参考[2.1 Hexo 搭建](https://crabxlab.gitbooks.io/fs-guide/content/front/hexo_create.html)\n\n## 3. 使用 Travis CI\n\n首先我们先打开[Travis CI](https://travis-ci.org/),可以在右上角找到使用 GitHub 登陆的按钮。\n![travis ci](/basic/travis/travis.png)\n\n授权完成后,你可以在左上角找到 My Repositories 一旁的加号“+”,点击它,它就会列出你所有的仓库,你只需要找到刚才的 hexo.github.io 并把它左侧的开关打开就可以了。\n\n![img](/basic/travis/04.01.png)\n![img](/basic/travis/04.02.png)\n\n## 4. 生成 GitHub Personal Access Token\n\n登录 GitHub,在右上角头像处进入设置。\n\n![img](/basic/travis/05.00.png)\n\n在左侧找到 Personal access tokens,并点击右上角的 Generate new token。\n\n![img](/basic/travis/05.01.png)\n\n需要为新的 Token 输入一个名字,这里我们就填入 Travis CI 好了。\n\n![img](/basic/travis/05.02.png)\n\n确定生成后,Token 将显示在页面上,此时需要将其复制并保存好,并避免泄露。遗忘 Token 后不能找回,只能重新生成。\n\n![img](/basic/travis/05.03.png)\n\n最后,我们还需要[生成随机字符串](https://www.random.org/strings/?num=10&len=20&digits=on&upperalpha=on&loweralpha=on&unique=on&format=html&rnd=new),并在其中选择一行随机字符串,为下文备用。\n\n## 5. 配置 Travis CI\n\n首先在 Travis CI 中找到已经启用自动构建的仓库,并在右侧找到设置按钮。\n\n![img](/basic/travis/06.00.png)\n\n注意:该图片中的仓库名称为 SumiMakito.github.io,但我们这里的名称应该为 Hexo.github.io。\n\n有两处需要设置,首先需要启用 Build only if .travis.yml is present 选项,以避免 master 分支被构建和陷入构建循环的问题。\n\n另外,在下方的环境变量设置处,我们需要设置两组变量,并注意保持 Display value in build log 禁用,以免构建日志泄露 Token 等信息。\n\n```\n#需要设置的两组变量\nGitHubKEY = 上文生成的GitHub Personal Access Token\nNOTIFY_TOKEN = 上文生成的随机字符串\n```\n\n![img](/basic/travis/06.01.png)\n\n在每次 Push 后,Travis CI 将检查分支下的 .travis.yml 文件,并以此作为配置进行构建。\n\n在分支下新建.travis.yml 和 build.sh。下面是我所使用的 .travis.yml :\n\n```yml\nlanguage: node_js\nnode_js:\n - '0.12'\ninstall:\n - npm install hexo-cli -g\n - npm install hexo --save\n - npm install\nscript:\n - chmod +x ./build.sh\n - ./build.sh > /dev/null\nbranches:\n only:\n - raw\n```\n\n在这里,配置文件限制了自动构建工作只会在 raw 分支下进行。\n\n下面是我所使用的 build.sh:\n\n```\nhexo generate #生成静态整站\ncd ./public #生成的静态页面会存储在public目录下\ngit init\ngit config --global push.default matching\ngit config --global user.email \"username@example.com\" #填入GitHub的邮箱地址\ngit config --global user.name \"username\" #填入GitHub的用户名\ngit add --all .\ngit commit -m \"Travis CI Auto Builder\" #自动构建后的内容将全部以此信息提交\ngit push --quiet --force https://${GitHubKEY}@github.com/你的GitHub用户名/你的代码仓库名.git master #自动构建后的内容将全部以此信息提交\ncurl --connect-timeout 20 --max-time 30 -s http://远端服务器URL/webhook.php?_=${NOTIFY_TOKEN} #服务器Webhook 将在下文介绍\n```\n\n## 6. 测试\n\n还记得之前的 Hexo 文件夹吗?\n\n```\ncd ./HexoBlog\nhexo new hello-ci #本地没有Hexo的话可以直接跳过这一步\nvim ./source/_posts/hello-ci.md\ngit add --all .\ngit commit -m \"Hello, CI!\"\ngit push #将代码push到raw分支上\n```\n\n登陆相应网址进行效果查看。\n\n## 7. 附加 自动部署脚本\n\n在项目文件夹下新建一个`cmd`文件(文件名随意),并为其增加执行权限。\n\n```\ntouch cmd\nchmod +x cmd\n```\n\n`cmd`文件源码:\n\n```bash\n#!/bin/bash\npushd $(dirname \"${0}\") > /dev/null\nDIR=$(pwd -L)\npopd > /dev/null\nDATE=$(date +\"%Y-%m-%d %H:%M\")\n\n# get action\nACTION=$1\n\n# help\nusage() {\n echo \"Usage: ./cmd {commit|build|clean}\"\n exit 1;\n}\n\n# start app\ncommit() {\n\tgit add .\n\tgit commit -m 'Post Auto Commit'\n\tgit push\n}\n\nbuild() {\n\thexo d -g\n}\n\n# stop app\nclean() {\n\trm -rf .deploy_git\n\trm -rf public\n}\n\ncase \"$ACTION\" in\n commit)\n commit\n ;;\n build)\n build\n ;;\n clean)\n clean\n ;;\n *)\n usage\n ;;\nesac\n```\n","dir":"/zh/basic/md","path":"/zh/basic/md/hexo","extension":".md","createdAt":"2025-08-29T15:18:11.817Z","updatedAt":"2025-08-29T15:18:11.817Z","to":"/basic/md/hexo","meta":{"version":0,"revision":0,"created":1756480738484},"$loki":46},{"slug":"babel","description":"","title":"Babel","position":1403,"category":"知识篇-Node.js","toc":[{"id":"babel-register","depth":2,"text":"Babel-Register"},{"id":"babel-node","depth":2,"text":"Babel-Node"},{"id":"编译-es5-代码","depth":3,"text":"编译 ES5 代码"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://babeljs.io/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://babeljs.io/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"babel-node"}]},{"type":"text","value":"和"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"babel-register"}]},{"type":"text","value":"功能基本相近。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"配置文件参考: "},{"type":"element","tag":"a","props":{"href":"https://github.com/w2fs/best-practice","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/w2fs/best-practice"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"babel-register"},"children":[{"type":"element","tag":"a","props":{"href":"#babel-register","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Babel-Register"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"项目内安装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" babel-register --save\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"创建"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"babel.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'babel-register'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./server.js'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"执行:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"node"}]},{"type":"text","value":" babel.js\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"babel-node"},"children":[{"type":"element","tag":"a","props":{"href":"#babel-node","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Babel-Node"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"全局安装:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" babel-cli -g\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"babel-node xxx.js\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"编译-es5-代码"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%BC%96%E8%AF%91-es5-%E4%BB%A3%E7%A0%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"编译 ES5 代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"babel src --out-dir dist\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"源目录"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"src"}]},{"type":"text","value":",目标目录"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"dist"}]},{"type":"text","value":"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"p.s. 从 Node.js "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"7.6.0"}]},{"type":"text","value":" 版本开始,再也没用过 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Babel"}]},{"type":"text","value":" 执行后端代码."}]}]},"text":"\n\n\n`babel-node`和`babel-register`功能基本相近。\n\n配置文件参考: \n\n## Babel-Register\n\n项目内安装\n\n```bash\nnpm install babel-register --save\n```\n\n使用:\n\n创建`babel.js`\n\n```js\nrequire('babel-register');\nmodule.exports = require('./server.js');\n```\n\n执行:\n\n```bash\nnode babel.js\n```\n\n## Babel-Node\n\n全局安装:\n\n```bash\nnpm install babel-cli -g\n```\n\n使用:\n\n```bash\nbabel-node xxx.js\n```\n\n\n\n### 编译 ES5 代码\n\n```bash\nbabel src --out-dir dist\n```\n\n源目录`src`,目标目录`dist`。\n\np.s. 从 Node.js `7.6.0` 版本开始,再也没用过 `Babel` 执行后端代码.\n","dir":"/zh/basic/node","path":"/zh/basic/node/babel","extension":".md","createdAt":"2025-08-29T15:18:11.817Z","updatedAt":"2025-08-29T15:18:11.817Z","to":"/basic/node/babel","meta":{"version":0,"revision":0,"created":1756480738488},"$loki":47},{"slug":"benchmark","description":"","title":"Benchmark","position":1406,"category":"知识篇-Node.js","toc":[{"id":"使用场景","depth":2,"text":"使用场景"},{"id":"结果报告示例","depth":2,"text":"结果报告示例"},{"id":"示例代码","depth":2,"text":"示例代码"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"性能对比测试框架 Matcha: "},{"type":"element","tag":"a","props":{"href":"https://github.com/logicalparadox/matcha","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/logicalparadox/matcha"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"使用场景"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"使用场景"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"技术选型,如图形验证码,在 NPM 包选取使用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"canvas"}]},{"type":"text","value":"还是"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ccap"}]},{"type":"text","value":"时可以用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"或,一个问题,有多种解决方案,选择采用哪一种方案的时候。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"注意:"}]}]},{"type":"text","value":" 所有需要做选择的场景,最好都先做一下对比。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"结果报告示例"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%BB%93%E6%9E%9C%E6%8A%A5%E5%91%8A%E7%A4%BA%E4%BE%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"结果报告示例"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ATL (After v1.0.1)\n if > (true) .................................... 4,752,967 op/s\n if = (true) .................................... 4,653,896 op/s\n if < (false) ................................... 4,612,560 op/s\n\nLeft Shift (ATL v1.0.0)\n << > (true) .................................... 2,562,098 op/s\n << = (true) .................................... 2,473,787 op/s\n << < (false) ................................... 2,458,286 op/s\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"示例代码"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"示例代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"suite"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'ATL'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"bench"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'if > (true)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"atl"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.6.7'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.4.4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"bench"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'if = (true)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"atl"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.4.4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.4.4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"bench"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'if < (false)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"atl"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.1.6'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.4.4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"suite"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Left Shift'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"bench"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'<< > (true)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"atls"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.6.7'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.4.4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"bench"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'<< = (true)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"atls"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.4.4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.4.4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"bench"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'<< < (false)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"atls"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.1.6'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1.4.4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"源码位于: "},{"type":"element","tag":"a","props":{"href":"https://github.com/WulianCC/node-atl/blob/master/benchmark/parse.js","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/WulianCC/node-atl/blob/master/benchmark/parse.js"}]}]}]},"text":"\n性能对比测试框架 Matcha: \n\n## 使用场景\n\n技术选型,如图形验证码,在 NPM 包选取使用`canvas`还是`ccap`时可以用。\n\n或,一个问题,有多种解决方案,选择采用哪一种方案的时候。\n\n**_注意:_** 所有需要做选择的场景,最好都先做一下对比。\n\n## 结果报告示例\n\n```\nATL (After v1.0.1)\n if > (true) .................................... 4,752,967 op/s\n if = (true) .................................... 4,653,896 op/s\n if < (false) ................................... 4,612,560 op/s\n\nLeft Shift (ATL v1.0.0)\n << > (true) .................................... 2,562,098 op/s\n << = (true) .................................... 2,473,787 op/s\n << < (false) ................................... 2,458,286 op/s\n```\n\n\n\n## 示例代码\n\n```js\nsuite('ATL', function () {\n bench('if > (true)', function () {\n atl('1.6.7', '1.4.4');\n });\n bench('if = (true)', function () {\n atl('1.4.4', '1.4.4');\n });\n bench('if < (false)', function () {\n atl('1.1.6', '1.4.4');\n });\n});\n\nsuite('Left Shift', function () {\n bench('<< > (true)', function () {\n atls('1.6.7', '1.4.4');\n });\n bench('<< = (true)', function () {\n atls('1.4.4', '1.4.4');\n });\n bench('<< < (false)', function () {\n atls('1.1.6', '1.4.4');\n });\n});\n```\n\n源码位于: \n","dir":"/zh/basic/node","path":"/zh/basic/node/benchmark","extension":".md","createdAt":"2025-08-29T15:18:11.817Z","updatedAt":"2025-08-29T15:18:11.817Z","to":"/basic/node/benchmark","meta":{"version":0,"revision":0,"created":1756480738495},"$loki":48},{"slug":"cpu","description":"","title":"Node.js CPU调度优化","menuTitle":"CPU调度","position":1408,"category":"知识篇-Node.js","toc":[{"id":"单一服务器多核心分配","depth":2,"text":"单一服务器多核心分配"},{"id":"cluster-模式示例","depth":2,"text":"Cluster 模式示例"},{"id":"多服务器多核心分配调度","depth":2,"text":"多服务器多核心分配调度"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!> Master / Cluster 模式"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"单一服务器多核心分配"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%8D%95%E4%B8%80%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%A4%9A%E6%A0%B8%E5%BF%83%E5%88%86%E9%85%8D","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"单一服务器多核心分配"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设处理的任务列表如下:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" arr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"5"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"7"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"8"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"9"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以 10 为例,假设服务器为 4CPU,那么每个 CPU 处理的任务分别为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU1: [1, 2, 3]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU2: [4, 5, 6]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU3: [7, 8]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU4: [9, 0]"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" numCPUs "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'os'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cpus"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 假设该值为 4"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理的任务列表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" arr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"5"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"7"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"8"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"9"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 调度处理代码写在这儿"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每个 CPU 分配 N 个任务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" n "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Math"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"floor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" numCPUs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 未分配的余数"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" remainder "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"%"}]},{"type":"text","value":" numCPUs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"for"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"<="}]},{"type":"text","value":" numCPUs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"splice"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" n "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" remainder "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"cluster-模式示例"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#cluster-%E6%A8%A1%E5%BC%8F%E7%A4%BA%E4%BE%8B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Cluster 模式示例"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"入口文件 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"index.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" cluster "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'cluster'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* eslint global-require:0 */"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" run"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"cluster"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"isMaster"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n run "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./cluster/master'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n run "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./cluster/worker'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"try"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"run"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"trace"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Master 任务: "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./cluster/master.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" cluster "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'cluster'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" numCPUs "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'os'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cpus"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理的任务列表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" arr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"5"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"7"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"8"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"9"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 调度处理代码写在这儿"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每个 CPU 分配 N 个任务"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" n "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Math"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"floor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" numCPUs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 未分配的余数"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" remainder "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"%"}]},{"type":"text","value":" numCPUs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"for"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"<="}]},{"type":"text","value":" numCPUs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" tasks "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"splice"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" n "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" remainder "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 将任务编号传递到 Cluster 内启动"}]},{"type":"text","value":"\n cluster"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"fork"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"tasks"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"tasks"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n cluster"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'exit'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"worker"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"worker #"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"worker"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" PID:"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"worker"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"process"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"pid"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" died"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Cluster 任务: "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./cluster/worker.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" cluster "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'cluster'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 禁止直接启动"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"cluster"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"isMaster"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"exit"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" env "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"tasks"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" tasks "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"^"}]},{"type":"element","tag":"span","props":{"className":["token","special-escape","escape"]},"children":[{"type":"text","value":"\\["}]},{"type":"element","tag":"span","props":{"className":["token","char-set","class-name"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","quantifier","number"]},"children":[{"type":"text","value":"*"}]},{"type":"element","tag":"span","props":{"className":["token","special-escape","escape"]},"children":[{"type":"text","value":"\\]"}]},{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"$"}]}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"env"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n tasks "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"env"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"tasks"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 非法启动, 释放进程资源"}]},{"type":"text","value":"\n process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"exit"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"worker #"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"cluster"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"worker"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" PID:"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"pid"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" Start"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"tasks"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"多服务器多核心分配调度"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%A4%9A%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%A4%9A%E6%A0%B8%E5%BF%83%E5%88%86%E9%85%8D%E8%B0%83%E5%BA%A6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"多服务器多核心分配调度"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设处理的任务列表如下:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" arr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"5"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"7"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"8"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"9"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"11"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"12"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"13"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"14"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"15"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"17"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"18"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"19"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"20"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"21"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"22"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"23"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"24"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"25"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"26"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"27"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"28"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"29"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"30"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"31"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"32"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有多台负载均衡器,仅确定服务器数量,不确定服务器硬件配置."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设目前有 3 台服务器,分别为 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"4"}]},{"type":"text","value":" 核心, "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"6"}]},{"type":"text","value":" 核心, "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"8"}]},{"type":"text","value":" 核心."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"按照核心性能进行优先调度,那么每个 CPU 处理的任务分别为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"服务器 1 ("},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"4"}]},{"type":"text","value":" 核心, 1.8GHz)\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU1: [ 29 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU2: [ 30 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU3: [ 31 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU4: [ 32 ]"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"服务器 2 ("},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"6"}]},{"type":"text","value":" 核心, 2.8GHz)\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU1: [ 1, 2 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU2: [ 3, 4 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU3: [ 5, 6 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU4: [ 7, 8 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU5: [ 9, 10 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU6: [ 11, 12 ]"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"服务器 3 ("},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"8"}]},{"type":"text","value":" 核心, 2.0GHz)\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU1: [ 13, 14 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU2: [ 15, 16 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU3: [ 17, 18 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU4: [ 19, 20 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU5: [ 21, 22 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU6: [ 23, 24 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU7: [ 25, 26 ]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CPU8: [ 27, 28 ]"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" os "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'os'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" numCPUs "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" os"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cpus"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理的任务列表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" arr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"5"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"7"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"8"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"9"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"11"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"12"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"13"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"14"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"15"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"17"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"18"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"19"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"20"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"21"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"22"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"23"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"24"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"25"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"26"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"27"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"28"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"29"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"30"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"31"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"32"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 调度处理代码写在这儿"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理器主频"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" speed "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" os"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cpus"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reduce"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"sum"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" cpu"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" sum "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" cpu"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"speed"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" numCPUs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 主机名"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" hostname "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" os"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"hostname"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 获取内网ip"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" eth0 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" os"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"networkInterfaces"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"eth0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" ip "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"typeof"}]},{"type":"text","value":" eth0 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'undefined'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" eth0"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"filter"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"family"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'IPv4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"address"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// ./cluster/master.js"}]},{"type":"text","value":"\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 上报服务器信息到公共区域, 如 redis"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 等待 `3` 台服务器全部上报完成"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 性能最高的一台执行任务调度,得到任务列表"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 写入公共区域,下派任务到其他服务器"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 下派本地cluster任务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n!> Master / Cluster 模式\n\n## 单一服务器多核心分配\n\n假设处理的任务列表如下:\n\n```js\nconst arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];\n```\n\n以 10 为例,假设服务器为 4CPU,那么每个 CPU 处理的任务分别为:\n\n- CPU1: [1, 2, 3]\n- CPU2: [4, 5, 6]\n- CPU3: [7, 8]\n- CPU4: [9, 0]\n\n```js\nconst numCPUs = require('os').cpus().length; // 假设该值为 4\n\n// 处理的任务列表\nconst arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];\n\n// 调度处理代码写在这儿\n// 每个 CPU 分配 N 个任务\nconst n = Math.floor(arr.length / numCPUs);\n// 未分配的余数\nconst remainder = arr.length % numCPUs;\n\nfor (let i = 1; i <= numCPUs; i += 1) {\n console.log(arr.splice(0, n + (i > remainder ? 0 : 1)));\n}\n```\n\n## Cluster 模式示例\n\n入口文件 `index.js`\n\n```js\nconst cluster = require('cluster');\n(async () => {\n /* eslint global-require:0 */\n let run;\n if (cluster.isMaster) {\n run = require('./cluster/master');\n } else {\n run = require('./cluster/worker');\n }\n try {\n await run();\n } catch (err) {\n console.trace(err);\n }\n})();\n```\n\nMaster 任务: `./cluster/master.js`\n\n```js\nconst cluster = require('cluster');\nconst numCPUs = require('os').cpus().length;\n\n// 处理的任务列表\nconst arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];\n\nmodule.exports = async () => {\n // 调度处理代码写在这儿\n // 每个 CPU 分配 N 个任务\n const n = Math.floor(arr.length / numCPUs);\n // 未分配的余数\n const remainder = arr.length % numCPUs;\n\n for (let i = 1; i <= numCPUs; i += 1) {\n const tasks = arr.splice(0, n + (i > remainder ? 0 : 1));\n // 将任务编号传递到 Cluster 内启动\n cluster.fork({ tasks: JSON.stringify(tasks) });\n }\n cluster.on('exit', (worker) => {\n console.log(`worker #${worker.id} PID:${worker.process.pid} died`);\n });\n};\n```\n\nCluster 任务: `./cluster/worker.js`\n\n```js\nconst cluster = require('cluster');\n// 禁止直接启动\nif (cluster.isMaster) {\n process.exit(0);\n}\n\nmodule.exports = async () => {\n const env = process.env.tasks;\n let tasks = [];\n if (/^\\[.*\\]$/.test(env)) {\n tasks = JSON.parse(env);\n }\n if (tasks.length === 0) {\n // 非法启动, 释放进程资源\n process.exit(0);\n }\n console.log(`worker #${cluster.worker.id} PID:${process.pid} Start`);\n console.log(tasks);\n};\n```\n\n\n\n## 多服务器多核心分配调度\n\n假设处理的任务列表如下:\n\n```js\nconst arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32];\n```\n\n有多台负载均衡器,仅确定服务器数量,不确定服务器硬件配置.\n\n假设目前有 3 台服务器,分别为 `4` 核心, `6` 核心, `8` 核心.\n\n按照核心性能进行优先调度,那么每个 CPU 处理的任务分别为:\n\n- 服务器 1 (`4` 核心, 1.8GHz)\n - CPU1: [ 29 ]\n - CPU2: [ 30 ]\n - CPU3: [ 31 ]\n - CPU4: [ 32 ]\n- 服务器 2 (`6` 核心, 2.8GHz)\n - CPU1: [ 1, 2 ]\n - CPU2: [ 3, 4 ]\n - CPU3: [ 5, 6 ]\n - CPU4: [ 7, 8 ]\n - CPU5: [ 9, 10 ]\n - CPU6: [ 11, 12 ]\n- 服务器 3 (`8` 核心, 2.0GHz)\n - CPU1: [ 13, 14 ]\n - CPU2: [ 15, 16 ]\n - CPU3: [ 17, 18 ]\n - CPU4: [ 19, 20 ]\n - CPU5: [ 21, 22 ]\n - CPU6: [ 23, 24 ]\n - CPU7: [ 25, 26 ]\n - CPU8: [ 27, 28 ]\n\n```js\nconst os = require('os');\nconst numCPUs = os.cpus().length;\n\n// 处理的任务列表\nconst arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32];\n\n// 调度处理代码写在这儿\n// 处理器主频\nconst speed = os.cpus().reduce((sum, cpu) => sum + cpu.speed, 0) / numCPUs;\n// 主机名\nconst hostname = os.hostname();\n// 获取内网ip\nconst eth0 = os.networkInterfaces().eth0;\nconst ip = typeof eth0 === 'undefined' ? '' : eth0.filter((x) => x.family === 'IPv4')[0].address;\n\n// ./cluster/master.js\nmodule.exports = async () => {\n // 上报服务器信息到公共区域, 如 redis\n // 等待 `3` 台服务器全部上报完成\n // 性能最高的一台执行任务调度,得到任务列表\n // 写入公共区域,下派任务到其他服务器\n // 下派本地cluster任务\n};\n```\n","dir":"/zh/basic/node","path":"/zh/basic/node/cpu","extension":".md","createdAt":"2025-08-29T15:18:11.817Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/node/cpu","meta":{"version":0,"revision":0,"created":1756480738516},"$loki":49},{"slug":"flow","description":"","title":"Flow","position":1404,"category":"知识篇-Node.js","toc":[{"id":"安装","depth":2,"text":"安装"},{"id":"配置","depth":2,"text":"配置"},{"id":"配置-eslint","depth":3,"text":"配置 Eslint"},{"id":"配置-visual-studio-code","depth":3,"text":"配置 Visual Studio Code"},{"id":"配置项目-packagejson","depth":3,"text":"配置项目 package.json"},{"id":"常用语法","depth":2,"text":"常用语法"},{"id":"单一类型","depth":3,"text":"单一类型"},{"id":"多类型可能","depth":3,"text":"多类型可能"},{"id":"任意类型","depth":3,"text":"任意类型"},{"id":"可选参数","depth":3,"text":"可选参数"},{"id":"解构赋值","depth":3,"text":"解构赋值"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"安装"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# babel"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" --dev babel-cli babel-preset-flow\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# flow"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" --dev flow-bin\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 初始化"}]},{"type":"text","value":"\nflow init\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"检查执行的命令为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"yarn run flow\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"配置-eslint"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-eslint","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 Eslint"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// .eslintrc.js"}]},{"type":"text","value":"\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// extends: 'dwing',"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"parser"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'babel-eslint'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'flowtype'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"配置-visual-studio-code"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-visual-studio-code","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 Visual Studio Code"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"关闭默认的 js 校验:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// .vscode/settings.json"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 将设置放入此文件中以覆盖默认值和用户设置。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"javascript.validate.enable\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装 flow 插件:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://marketplace.visualstudio.com/items?itemName=flowtype.flow-for-vscode","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"Flow Language Support"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"配置项目-packagejson"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE%E9%A1%B9%E7%9B%AE-packagejson","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置项目 package.json"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"build\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"babel src/ -d dist/\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"prepublish\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"yarn run build\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"常用语法"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%B8%B8%E7%94%A8%E8%AF%AD%E6%B3%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"常用语法"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"单一类型"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8D%95%E4%B8%80%E7%B1%BB%E5%9E%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"单一类型"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"square"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"n"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" number"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" n "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":" n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"多类型可能"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%A4%9A%E7%B1%BB%E5%9E%8B%E5%8F%AF%E8%83%BD","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"多类型可能"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"stringifyBasicValue"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" string "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" number"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" value"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"任意类型"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BB%BB%E6%84%8F%E7%B1%BB%E5%9E%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"任意类型"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 避免使用 any"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getTypeOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" mixed"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" string "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"typeof"}]},{"type":"text","value":" value"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"可选参数"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8F%AF%E9%80%89%E5%8F%82%E6%95%B0","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"可选参数"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"optionalValue"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" string"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// ..."}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"解构赋值"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%A7%A3%E6%9E%84%E8%B5%8B%E5%80%BC","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"解构赋值"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"foo"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" x "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" number "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" string "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"String"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default string'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例项目位于: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/start-babel-flow","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/start-babel-flow"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以参考该项目进行项目框架的初始化搭建."}]}]},"text":"\n## 安装\n\n```bash\n# babel\nyarn add --dev babel-cli babel-preset-flow\n# flow\nyarn add --dev flow-bin\n# 初始化\nflow init\n```\n\n检查执行的命令为:\n\n```\nyarn run flow\n```\n\n## 配置\n\n### 配置 Eslint\n\n```js\n// .eslintrc.js\nmodule.exports = {\n // extends: 'dwing',\n parser: 'babel-eslint',\n plugins: ['flowtype']\n};\n```\n\n### 配置 Visual Studio Code\n\n关闭默认的 js 校验:\n\n```js\n// .vscode/settings.json\n// 将设置放入此文件中以覆盖默认值和用户设置。\n{\n \"javascript.validate.enable\": false\n}\n```\n\n安装 flow 插件:\n\n[Flow Language Support](https://marketplace.visualstudio.com/items?itemName=flowtype.flow-for-vscode)\n\n### 配置项目 package.json\n\n```js\n\"scripts\": {\n \"build\": \"babel src/ -d dist/\",\n \"prepublish\": \"yarn run build\"\n}\n```\n\n\n\n## 常用语法\n\n### 单一类型\n\n```js\nfunction square(n: number) {\n return n * n;\n}\n```\n\n### 多类型可能\n\n```js\nfunction stringifyBasicValue(value: string | number) {\n return '' + value;\n}\n```\n\n### 任意类型\n\n```js\n// 避免使用 any\nfunction getTypeOf(value: mixed): string {\n return typeof value;\n}\n```\n\n### 可选参数\n\n```js\nfunction method(optionalValue?: string) {\n // ...\n}\n```\n\n### 解构赋值\n\n```js\nfunction foo({ x }: { x?: number } = {}): string {\n if (x) {\n return String(x);\n }\n return 'default string';\n}\n```\n\n示例项目位于: \n\n可以参考该项目进行项目框架的初始化搭建.\n","dir":"/zh/basic/node","path":"/zh/basic/node/flow","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/node/flow","meta":{"version":0,"revision":0,"created":1756480738524},"$loki":50},{"slug":"npm","description":"","title":"造轮子(NPM)篇","position":1407,"category":"知识篇-Node.js","toc":[{"id":"初始化项目","depth":2,"text":"初始化项目"},{"id":"发布至-npm","depth":2,"text":"发布至 NPM"},{"id":"1检查gitignore和npmignore文件是否配置好","depth":3,"text":"1.检查.gitignore和.npmignore文件是否配置好"},{"id":"2检查packagejson中的版本号","depth":3,"text":"2.检查package.json中的版本号"},{"id":"3发布","depth":3,"text":"3.发布"},{"id":"发布私有模块到-npm","depth":2,"text":"发布私有模块到 NPM"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注册 npm 账号,并登陆。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" login\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"初始化项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"初始化项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"mkdir"}]},{"type":"text","value":" xxx-tool\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" xxx-tool\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" init\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"创建各类配置文件,如果使用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ES2015"}]},{"type":"text","value":"及之后特性,需要用到"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Babel.js"}]},{"type":"text","value":"的,需要编译发布。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考项目: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/waliyun","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/waliyun"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"package.json:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"compile\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"./node_modules/.bin/babel src --out-dir dist\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"prepublish\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"npm run compile\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"发布至-npm"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8F%91%E5%B8%83%E8%87%B3-npm","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"发布至 NPM"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1检查gitignore和npmignore文件是否配置好"},"children":[{"type":"element","tag":"a","props":{"href":"#1%E6%A3%80%E6%9F%A5gitignore%E5%92%8Cnpmignore%E6%96%87%E4%BB%B6%E6%98%AF%E5%90%A6%E9%85%8D%E7%BD%AE%E5%A5%BD","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.检查"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".gitignore"}]},{"type":"text","value":"和"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".npmignore"}]},{"type":"text","value":"文件是否配置好"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"通常两者内容相近。如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"node_modules/\n*.log\n.DS_Store\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".gitignore"}]},{"type":"text","value":"中一般忽略生产环境编译输出的目录"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"dist/"}]},{"type":"text","value":","},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".npmignore"}]},{"type":"text","value":"中忽略源码目录"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"src/"}]},{"type":"text","value":"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2检查packagejson中的版本号"},"children":[{"type":"element","tag":"a","props":{"href":"#2%E6%A3%80%E6%9F%A5packagejson%E4%B8%AD%E7%9A%84%E7%89%88%E6%9C%AC%E5%8F%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.检查"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":"中的版本号"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"相同版本号不能反复发布。不能降级发布。每次需要更新并累加版本。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3发布"},"children":[{"type":"element","tag":"a","props":{"href":"#3%E5%8F%91%E5%B8%83","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.发布"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" publish\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"发布测试版本:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" publish --tag beta\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"发布私有模块到-npm"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8F%91%E5%B8%83%E7%A7%81%E6%9C%89%E6%A8%A1%E5%9D%97%E5%88%B0-npm","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"发布私有模块到 NPM"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"初始化项目的时候可以加入参数:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" init --scope"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"<"}]},{"type":"text","value":"your_scope"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"或者直接修改"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":"中的项目名称为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"@scope/project-name\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 或"}]},{"type":"text","value":"\n@username/project-name\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考文档: "},{"type":"element","tag":"a","props":{"href":"https://docs.npmjs.com/private-modules/intro","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://docs.npmjs.com/private-modules/intro"}]}]}]},"text":"\n注册 npm 账号,并登陆。\n\n```bash\nnpm login\n```\n\n## 初始化项目\n\n```bash\nmkdir xxx-tool\ncd xxx-tool\nnpm init\n```\n\n创建各类配置文件,如果使用`ES2015`及之后特性,需要用到`Babel.js`的,需要编译发布。\n\n参考项目: \n\npackage.json:\n\n```js\n\"scripts\": {\n \"compile\": \"./node_modules/.bin/babel src --out-dir dist\",\n \"prepublish\": \"npm run compile\"\n}\n```\n\n## 发布至 NPM\n\n### 1.检查`.gitignore`和`.npmignore`文件是否配置好\n\n通常两者内容相近。如:\n\n```\nnode_modules/\n*.log\n.DS_Store\n```\n\n`.gitignore`中一般忽略生产环境编译输出的目录`dist/`,`.npmignore`中忽略源码目录`src/`。\n\n### 2.检查`package.json`中的版本号\n\n相同版本号不能反复发布。不能降级发布。每次需要更新并累加版本。\n\n### 3.发布\n\n```bash\nnpm publish\n```\n\n发布测试版本:\n\n```bash\nnpm publish --tag beta\n```\n\n\n\n## 发布私有模块到 NPM\n\n初始化项目的时候可以加入参数:\n\n```bash\nnpm init --scope=\n```\n\n或者直接修改`package.json`中的项目名称为:\n\n```bash\n@scope/project-name\n# 或\n@username/project-name\n```\n\n参考文档: \n","dir":"/zh/basic/node","path":"/zh/basic/node/npm","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/node/npm","meta":{"version":0,"revision":0,"created":1756480738529},"$loki":51},{"slug":"pkg","description":"","title":"Node.js 包管理","menuTitle":"包管理","position":1401,"category":"知识篇-Node.js","toc":[{"id":"npm","depth":2,"text":"NPM"},{"id":"初始化项目","depth":3,"text":"初始化项目"},{"id":"安装依赖","depth":3,"text":"安装依赖"},{"id":"命令","depth":3,"text":"命令"},{"id":"yarn","depth":2,"text":"Yarn"},{"id":"安装-yarn","depth":3,"text":"安装 Yarn"},{"id":"使用","depth":3,"text":"使用"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"npm"},"children":[{"type":"element","tag":"a","props":{"href":"#npm","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"NPM"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"初始化项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"初始化项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" init\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装依赖"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装依赖"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 产品环境依赖"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" -S package-name\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 开发环境依赖,如Webpack及插件,不需要在产品环境中引用的"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" -D package-name\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 选择依赖,如Demo中使用的"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" -O package-name\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"命令"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%91%BD%E4%BB%A4","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Package.json 里:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"start\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"sh deploy.sh\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"test\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"node_modules/.bin/gitbook serve\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"pack-win\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"./node_modules/.bin/electron-packager . --asar --overwrite --platform=win32 --arch=ia32 --prune=true --out=out --version-string.CompanyName='GitHub, Inc.' --ignore=node_modules\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"pack-mac\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"./node_modules/.bin/electron-packager . --asar --overwrite --platform=darwin --arch=x64 --prune=true --out=out --ignore=node_modules\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"pack-all\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"./node_modules/.bin/electron-packager . --out=dist --prune --asar --overwrite --all\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其中,"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"start"}]},{"type":"text","value":"、"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"可以直接使用这样的命令运行:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" start\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其他,可以这样运行:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" run pack-win\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" run pack-mac\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" run pack-all\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" run start\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" run "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"避免使用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"npm install -g"}]},{"type":"text","value":"安装的"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"CLI"}]},{"type":"text","value":"工具,推荐:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"通过"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"npm install --save-dev CLI"}]},{"type":"text","value":"安装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"使用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./node_modules/.bin/CLI"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"yarn"},"children":[{"type":"element","tag":"a","props":{"href":"#yarn","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Yarn"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://yarnpkg.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://yarnpkg.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装-yarn"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85-yarn","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装 Yarn"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 前置条件Brew(Mac OS X)"}]},{"type":"text","value":"\nbrew update\nbrew "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 或 直接使用npm"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" i -g "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"完成后用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Sublime Text"}]},{"type":"text","value":" 或其他编辑工具根据你使用的环境打开 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".zshrc"}]},{"type":"text","value":" / "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".bashrc"}]},{"type":"text","value":" / "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".profile"}]},{"type":"text","value":",添加一行:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"export"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","environment","constant"]},"children":[{"type":"text","value":"PATH"}]}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""},{"type":"element","tag":"span","props":{"className":["token","environment","constant"]},"children":[{"type":"text","value":"$PATH"}]},{"type":"text","value":":"},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" global bin"},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":"\""}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"使用"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BD%BF%E7%94%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"使用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"新建项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%96%B0%E5%BB%BA%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"新建项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" init\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"安装依赖-1"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96-1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装依赖"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"package"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"package"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"@"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"version"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"package"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"@"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"tag"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"更新依赖"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%9B%B4%E6%96%B0%E4%BE%9D%E8%B5%96","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"更新依赖"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" upgrade "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"package"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" upgrade "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"package"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"@"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"version"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" upgrade "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"package"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"@"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"tag"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"删除依赖"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%A0%E9%99%A4%E4%BE%9D%E8%B5%96","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"删除依赖"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" remove "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"package"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"安装项目所有依赖"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85%E9%A1%B9%E7%9B%AE%E6%89%80%E6%9C%89%E4%BE%9D%E8%B5%96","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装项目所有依赖"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前提项目目录下存在 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"yarn.lock"}]},{"type":"text","value":" 文件,npm 添加的项目无法直接安装,需要通过 yarn 安装生成该 lock 文件。"}]}]},"text":"\n## NPM\n\n### 初始化项目\n\n```bash\nnpm init\n```\n\n### 安装依赖\n\n```bash\n# 产品环境依赖\nnpm install -S package-name\n# 开发环境依赖,如Webpack及插件,不需要在产品环境中引用的\nnpm install -D package-name\n# 选择依赖,如Demo中使用的\nnpm install -O package-name\n```\n\n### 命令\n\nPackage.json 里:\n\n```js\n\"scripts\": {\n \"start\": \"sh deploy.sh\",\n \"test\": \"node_modules/.bin/gitbook serve\",\n \"pack-win\": \"./node_modules/.bin/electron-packager . --asar --overwrite --platform=win32 --arch=ia32 --prune=true --out=out --version-string.CompanyName='GitHub, Inc.' --ignore=node_modules\",\n \"pack-mac\": \"./node_modules/.bin/electron-packager . --asar --overwrite --platform=darwin --arch=x64 --prune=true --out=out --ignore=node_modules\",\n \"pack-all\": \"./node_modules/.bin/electron-packager . --out=dist --prune --asar --overwrite --all\"\n}\n```\n\n其中,`start`、`test`可以直接使用这样的命令运行:\n\n```bash\nnpm start\nnpm test\n```\n\n其他,可以这样运行:\n\n```bash\nnpm run pack-win\nnpm run pack-mac\nnpm run pack-all\n\nnpm run start\nnpm run test\n```\n\n避免使用`npm install -g`安装的`CLI`工具,推荐:\n\n- 通过`npm install --save-dev CLI`安装\n- 使用`./node_modules/.bin/CLI`\n\n\n\n## Yarn\n\n\n\n### 安装 Yarn\n\n```bash\n# 前置条件Brew(Mac OS X)\nbrew update\nbrew install yarn\n# 或 直接使用npm\nnpm i -g yarn\n```\n\n完成后用 `Sublime Text` 或其他编辑工具根据你使用的环境打开 `.zshrc` / `.bashrc` / `.profile`,添加一行:\n\n```bash\nexport PATH=\"$PATH:`yarn global bin`\"\n```\n\n### 使用\n\n#### 新建项目\n\n```bash\nyarn init\n```\n\n#### 安装依赖\n\n```bash\nyarn add [package]\nyarn add [package]@[version]\nyarn add [package]@[tag]\n```\n\n#### 更新依赖\n\n```bash\nyarn upgrade [package]\nyarn upgrade [package]@[version]\nyarn upgrade [package]@[tag]\n```\n\n#### 删除依赖\n\n```bash\nyarn remove [package]\n```\n\n#### 安装项目所有依赖\n\n```bash\nyarn\n```\n\n前提项目目录下存在 `yarn.lock` 文件,npm 添加的项目无法直接安装,需要通过 yarn 安装生成该 lock 文件。\n","dir":"/zh/basic/node","path":"/zh/basic/node/pkg","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/node/pkg","meta":{"version":0,"revision":0,"created":1756480738535},"$loki":52},{"slug":"test","description":"","title":"Test","position":1405,"category":"知识篇-Node.js","toc":[{"id":"测试框架","depth":2,"text":"测试框架"},{"id":"tdd","depth":2,"text":"TDD"},{"id":"bdd","depth":2,"text":"BDD"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"谁开发,谁测试。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"注意:"}]}]},{"type":"text","value":" 原则上应该先写测试,再进行编码;如果需求时间紧,可以先进行功能实现,但务必后续维护时候将测试代码补充完善。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"BDD(优先)+TDD(完全代码覆盖)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"测试框架"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%B5%8B%E8%AF%95%E6%A1%86%E6%9E%B6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"测试框架"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"ES5: mocha + istanbul"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"ES6: ava + nyc"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"tdd"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#tdd","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"TDD"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Test Driven Development,(单元)测试驱动开发。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"特点:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"直接引用对应源码,执行方法进行测试;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"测试用例须设计完整,把所有分支都 Cover 到。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"describe"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Lib Common'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'use strict'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"it"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'isEmpty'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// isObject"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"a"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// isString"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'sth'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// isNumber"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0.1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// null and undefined"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword","null","nil"]},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword","nil"]},"children":[{"type":"text","value":"undefined"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// boolean"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 最后一行false"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"isEmpty"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"it"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'md5/sha1'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"md5"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'sth'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'7c8db9682ee40fd2f3e5d9e71034b717'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sha1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'sth'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'dec981e3bbb165d021029c42291faf06f59827c1'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"it"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'authcode'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"authcode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"authcode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'DECODE'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"authcode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"authcode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'ENCODE'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'key'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'DECODE'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'key'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"authcode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'c008AsZqmGL8VuEVpZKVlbPwXzSsCZ+YX5K5CAGpMMqn'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'DECODE'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"bdd"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#bdd","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"BDD"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Behavior Driven Development,行为驱动开发。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"特点:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"运行系统,模拟用户请求进行访问;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"行为分析要完整,要将可能所有结果覆盖。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* 测试路由 */"}]},{"type":"text","value":"\napp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/test/model/mysql/init/ok'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"req"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'use strict'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" db\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"opensips"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'v1/subscriber'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'ok'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"logger"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'routes/test/model/mysql/ok'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"403"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'fail'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\napp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/test/model/mysql/init/fail'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"req"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'use strict'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" db\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"opensips"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test/notExisted'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'OK'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'fail'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* 测试脚本 */"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"describe"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Demo'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'use strict'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"it"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'404 not found'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/sth/not/exist'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Accept'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'text/plain'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"expect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"end"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"throw"}]},{"type":"text","value":" err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"status"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"it"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'403 not allowed'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/v2/basic/mqtt'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Accept'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'text/plain'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"expect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"end"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"throw"}]},{"type":"text","value":" err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"should"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"status"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"be"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"it"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Init opensips/subscriber Should be OK'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/test/model/mysql/init/ok'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Accept'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'text/plain'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"expect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"expect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'ok'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"end"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"//console.log(res.body);"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"throw"}]},{"type":"text","value":" err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"it"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Init test/subscriber Should be FAILED'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/test/model/mysql/init/fail'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Accept'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'text/plain'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"expect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"expect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'fail'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"end"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"//console.log(res.body);"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"throw"}]},{"type":"text","value":" err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ES6 下的 BDD 测试示例对比:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" test"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" assert "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./_import'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","dom","variable"]},"children":[{"type":"text","value":"location"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\ntest"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"before"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" response "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'POST'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/login'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"payload"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"username"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'willin'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"password"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'PASSWORD'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","dom","variable"]},"children":[{"type":"text","value":"location"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" response"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"headers"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"location"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET / 302'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" response "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n assert"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"response"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"statusCode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"302"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET /login 200'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" response "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/login'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n assert"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"response"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"statusCode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'POST /login 302'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" response "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'POST'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/login'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"payload"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"username"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'willin'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"password"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'PASSWORD'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n assert"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"response"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"statusCode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"302"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'POST /login 401'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" response "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'POST'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/login'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"payload"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"username"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'willin'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"password"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Ww10842073305zZa28v3PO5Ok0L63IdA'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n assert"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"response"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"statusCode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"401"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'POST /login Invalid Params 403'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" response "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'POST'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/login'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"payload"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"username"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'willin'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n assert"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"response"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"statusCode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"403"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET /doc 200'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" response "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","dom","variable"]},"children":[{"type":"text","value":"location"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n assert"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"response"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"statusCode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET /doc 302'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" response "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" server"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/doc?'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n assert"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"equal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"response"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"statusCode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"302"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n谁开发,谁测试。\n\n**_注意:_** 原则上应该先写测试,再进行编码;如果需求时间紧,可以先进行功能实现,但务必后续维护时候将测试代码补充完善。\n\nBDD(优先)+TDD(完全代码覆盖)\n\n## 测试框架\n\n- ES5: mocha + istanbul\n- ES6: ava + nyc\n\n## TDD\n\nTest Driven Development,(单元)测试驱动开发。\n\n特点:\n\n1. 直接引用对应源码,执行方法进行测试;\n2. 测试用例须设计完整,把所有分支都 Cover 到。\n\n示例:\n\n```js\ndescribe('Lib Common', function () {\n 'use strict';\n it('isEmpty', function () {\n // isObject\n isEmpty({}).should.be.equal(true);\n isEmpty([]).should.be.equal(true);\n isEmpty({ a: 1 }).should.be.equal(false);\n isEmpty([1, 2]).should.be.equal(false);\n // isString\n isEmpty('').should.be.equal(true);\n isEmpty('sth').should.be.equal(false);\n // isNumber\n isEmpty(0).should.be.equal(true);\n isEmpty(0.1).should.be.equal(false);\n // null and undefined\n isEmpty(null).should.be.equal(true);\n isEmpty(undefined).should.be.equal(true);\n // boolean\n isEmpty(false).should.be.equal(true);\n isEmpty(true).should.be.equal(false);\n // 最后一行false\n isEmpty(isEmpty).should.be.equal(false);\n });\n it('md5/sha1', function () {\n md5('sth').should.equal('7c8db9682ee40fd2f3e5d9e71034b717');\n sha1('sth').should.equal('dec981e3bbb165d021029c42291faf06f59827c1');\n });\n it('authcode', function () {\n authcode(authcode('test'), 'DECODE').should.be.equal('test');\n authcode(authcode('test', 'ENCODE', 'key'), 'DECODE', 'key').should.be.equal('test');\n authcode('c008AsZqmGL8VuEVpZKVlbPwXzSsCZ+YX5K5CAGpMMqn', 'DECODE').should.be.equal('');\n });\n});\n```\n\n\n\n## BDD\n\nBehavior Driven Development,行为驱动开发。\n\n特点:\n\n1. 运行系统,模拟用户请求进行访问;\n2. 行为分析要完整,要将可能所有结果覆盖。\n\n示例:\n\n```js\n/* 测试路由 */\napp.get('/test/model/mysql/init/ok', function (req, res) {\n 'use strict';\n return db\n .opensips('v1/subscriber')\n .then(function () {\n res.send(200, 'ok');\n })\n .catch(function (err) {\n logger('routes/test/model/mysql/ok', err);\n res.send(403, 'fail');\n });\n});\n\napp.get('/test/model/mysql/init/fail', function (req, res) {\n 'use strict';\n return db\n .opensips('test/notExisted')\n .then(function () {\n res.send(200, 'OK');\n })\n .catch(function () {\n res.send(200, 'fail');\n });\n});\n\n/* 测试脚本 */\ndescribe('Demo', function () {\n 'use strict';\n it('404 not found', function (next) {\n request(app)\n .get('/sth/not/exist')\n .set('Accept', 'text/plain')\n .expect(200)\n .end(function (err, res) {\n if (err) {\n throw err;\n }\n should(res.body.status).be.equal(0);\n next();\n });\n });\n it('403 not allowed', function (next) {\n request(app)\n .get('/v2/basic/mqtt')\n .set('Accept', 'text/plain')\n .expect(200)\n .end(function (err, res) {\n if (err) {\n throw err;\n }\n should(res.body.status).be.equal(0);\n next();\n });\n });\n it('Init opensips/subscriber Should be OK', function (next) {\n request(app)\n .get('/test/model/mysql/init/ok')\n .set('Accept', 'text/plain')\n .expect(200)\n .expect('ok')\n .end(function (err) {\n if (err) {\n //console.log(res.body);\n throw err;\n }\n next();\n });\n });\n it('Init test/subscriber Should be FAILED', function (next) {\n request(app)\n .get('/test/model/mysql/init/fail')\n .set('Accept', 'text/plain')\n .expect(200)\n .expect('fail')\n .end(function (err) {\n if (err) {\n //console.log(res.body);\n throw err;\n }\n next();\n });\n });\n});\n```\n\nES6 下的 BDD 测试示例对比:\n\n```js\nimport { test, server, assert } from './_import';\nlet location;\ntest.before(async () => {\n const response = await server.inject({\n method: 'POST',\n url: '/login',\n payload: {\n username: 'willin',\n password: 'PASSWORD'\n }\n });\n location = response.headers.location;\n});\n\ntest('GET / 302', async () => {\n const response = await server.inject({\n method: 'GET',\n url: '/'\n });\n assert.equal(response.statusCode, 302);\n});\n\ntest('GET /login 200', async () => {\n const response = await server.inject({\n method: 'GET',\n url: '/login'\n });\n assert.equal(response.statusCode, 200);\n});\n\ntest('POST /login 302', async () => {\n const response = await server.inject({\n method: 'POST',\n url: '/login',\n payload: {\n username: 'willin',\n password: 'PASSWORD'\n }\n });\n assert.equal(response.statusCode, 302);\n});\n\ntest('POST /login 401', async () => {\n const response = await server.inject({\n method: 'POST',\n url: '/login',\n payload: {\n username: 'willin',\n password: 'Ww10842073305zZa28v3PO5Ok0L63IdA'\n }\n });\n assert.equal(response.statusCode, 401);\n});\n\ntest('POST /login Invalid Params 403', async () => {\n const response = await server.inject({\n method: 'POST',\n url: '/login',\n payload: {\n username: 'willin'\n }\n });\n assert.equal(response.statusCode, 403);\n});\n\ntest('GET /doc 200', async () => {\n const response = await server.inject({\n method: 'GET',\n url: location\n });\n assert.equal(response.statusCode, 200);\n});\n\ntest('GET /doc 302', async () => {\n const response = await server.inject({\n method: 'GET',\n url: '/doc?'\n });\n assert.equal(response.statusCode, 302);\n});\n```\n","dir":"/zh/basic/node","path":"/zh/basic/node/test","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/node/test","meta":{"version":0,"revision":0,"created":1756480738555},"$loki":53},{"slug":"yarn","description":"","title":"Yarn 进阶使用","position":"140 2","category":"知识篇-Node.js","toc":[{"id":"批量升级所有依赖项并更新-packagejson","depth":2,"text":"批量升级所有依赖项并更新 package.json"},{"id":"忽略-nodejs-要求","depth":2,"text":"忽略 Node.js 要求"},{"id":"dependency-版本落后","depth":2,"text":"dependency 版本落后"},{"id":"原理讲解","depth":3,"text":"原理讲解"},{"id":"解决方案","depth":3,"text":"解决方案"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"批量升级所有依赖项并更新-packagejson"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%89%B9%E9%87%8F%E5%8D%87%E7%BA%A7%E6%89%80%E6%9C%89%E4%BE%9D%E8%B5%96%E9%A1%B9%E5%B9%B6%E6%9B%B4%E6%96%B0-packagejson","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"批量升级所有依赖项并更新 package.json"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" pack "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./package.json'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" execSync "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'child_process'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" list "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","spread","operator"]},"children":[{"type":"text","value":"..."}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"keys"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pack"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"devDependencies"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","spread","operator"]},"children":[{"type":"text","value":"..."}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"keys"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pack"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"dependencies"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 忽略的项目 (不用升级)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" ignore "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'eslint'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'babel-cli'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nlist"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"forEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"item"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"text","value":"ignore"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"includes"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"yarn upgrade "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"execSync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"yarn upgrade "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"忽略-nodejs-要求"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%BF%BD%E7%95%A5-nodejs-%E8%A6%81%E6%B1%82","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"忽略 Node.js 要求"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比如, 有一些包指定了 Node.js 版本的要求, 如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"engines\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"node\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"^4.2.2\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" PackageName --ignore-engines\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"dependency-版本落后"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#dependency-%E7%89%88%E6%9C%AC%E8%90%BD%E5%90%8E","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"dependency 版本落后"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"tim-event-processor-host"}]},{"type":"text","value":" 包为例, 其中用到了一个子模块 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cerulean"}]},{"type":"text","value":" 来处理 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"azure-storage"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"我们想要用最新版本的"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"azure-storage"}]},{"type":"text","value":",但如果要一级级向上去提交"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Pull Request"}]},{"type":"text","value":"并且去等 npm 包作者更新, 实在是太慢太傻了."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"那么我们就可以利用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"postinstall"}]},{"type":"text","value":" 特性来删除旧版本的 npm 包并使用新版本的."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"原理讲解"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%8E%9F%E7%90%86%E8%AE%B2%E8%A7%A3","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"原理讲解"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"1只安装-tim-event-processor-host"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E5%8F%AA%E5%AE%89%E8%A3%85-tim-event-processor-host","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.只安装 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"tim-event-processor-host"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"mkdir"}]},{"type":"text","value":" DIR "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" DIR\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" tim-event-processor-host --ignore-engines\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" node_modules\ntree -L "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"结果显示如下:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"\n├── "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":".."}]},{"type":"text","value":". "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 把一些无关的目录都给忽略了"}]},{"type":"text","value":"\n├── azure-storage\n├── cerulean\n└── tim-event-processor-host\n\n"},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"113"}]},{"type":"text","value":" directories, "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" files\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cerulean"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"azure-storage"}]},{"type":"text","value":" 就都装在了 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"node_modules"}]},{"type":"text","value":" 目录下,"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"2同时安装tim-event-processor-host和azure-storage"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E5%90%8C%E6%97%B6%E5%AE%89%E8%A3%85tim-event-processor-host%E5%92%8Cazure-storage","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.同时安装"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"tim-event-processor-host"}]},{"type":"text","value":"和"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"azure-storage"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"mkdir"}]},{"type":"text","value":" DIR "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" DIR\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" tim-event-processor-host azure-storage --ignore-engines\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" node_modules\ntree -L "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"\n├── azure-storage "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 最新版本"}]},{"type":"text","value":"\n├── cerulean\n│ ├── LICENSE\n│ ├── README.md\n│ ├── examples\n│ │ ├── README.md\n│ │ ├── leader_followers.js\n│ │ └── servicebus_send_receive.js\n│ ├── lib\n│ │ ├── blob_lease.js\n│ │ ├── blob_lease_manager.js\n│ │ └── index.js\n│ ├── node_modules\n│ │ ├── assert-plus\n│ │ ├── azure-storage "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 依赖项中的指定版本(旧)"}]},{"type":"text","value":"\n│ │ ├── boom\n│ │ ├── caseless\n│ │ ├── cryptiles\n│ │ ├── delayed-stream\n│ │ ├── forever-agent\n│ │ ├── form-data\n│ │ ├── har-validator\n│ │ ├── hawk\n│ │ ├── hoek\n│ │ ├── http-signature\n│ │ ├── qs\n│ │ ├── request\n│ │ ├── sntp\n│ │ └── validator\n│ ├── package.json\n│ ├── playground.js\n│ └── "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"\n│ └── integration\n└── tim-azure-event-hubs\n\n"},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"406"}]},{"type":"text","value":" directories, "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1571"}]},{"type":"text","value":" files\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以只需要将 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"node_modules/cerulean/node_modules/azure-storage"}]},{"type":"text","value":" 目录给删除掉, 让引用的时候自动向上递归查找即可."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"解决方案"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"解决方案"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"dependencies\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"azure-storage\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"^2.2.1\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"tim-event-processor-host\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"^0.0.3\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"postinstall\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"rm -rf node_modules/cerulean/node_modules/azure-storage\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" --ignore-engines\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"完成."}]}]},"text":"\n## 批量升级所有依赖项并更新 package.json\n\n```js\nconst pack = require('./package.json');\nconst { execSync } = require('child_process');\n\nconst list = [...Object.keys(pack.devDependencies), ...Object.keys(pack.dependencies)];\n// 忽略的项目 (不用升级)\nconst ignore = ['eslint', 'babel-cli'];\n\nlist.forEach((item) => {\n if (!ignore.includes(item)) {\n console.log(`yarn upgrade ${item}`);\n execSync(`yarn upgrade ${item}`);\n }\n});\n```\n\n## 忽略 Node.js 要求\n\n比如, 有一些包指定了 Node.js 版本的要求, 如:\n\n```js\n\"engines\": {\n \"node\": \"^4.2.2\"\n}\n```\n\n```bash\nyarn add PackageName --ignore-engines\n```\n\n\n\n## dependency 版本落后\n\n以 `tim-event-processor-host` 包为例, 其中用到了一个子模块 `cerulean` 来处理 `azure-storage`\n\n我们想要用最新版本的`azure-storage`,但如果要一级级向上去提交`Pull Request`并且去等 npm 包作者更新, 实在是太慢太傻了.\n\n那么我们就可以利用 `postinstall` 特性来删除旧版本的 npm 包并使用新版本的.\n\n### 原理讲解\n\n#### 1.只安装 `tim-event-processor-host`\n\n```bash\nmkdir DIR && DIR\nyarn add tim-event-processor-host --ignore-engines\ncd node_modules\ntree -L 1\n```\n\n结果显示如下:\n\n```bash\n.\n├── ... # 把一些无关的目录都给忽略了\n├── azure-storage\n├── cerulean\n└── tim-event-processor-host\n\n113 directories, 0 files\n```\n\n`cerulean`, `azure-storage` 就都装在了 `node_modules` 目录下,\n\n#### 2.同时安装`tim-event-processor-host`和`azure-storage`\n\n```bash\nmkdir DIR && DIR\nyarn add tim-event-processor-host azure-storage --ignore-engines\ncd node_modules\ntree -L 1\n```\n\n```bash\n.\n├── azure-storage # 最新版本\n├── cerulean\n│   ├── LICENSE\n│   ├── README.md\n│   ├── examples\n│   │   ├── README.md\n│   │   ├── leader_followers.js\n│   │   └── servicebus_send_receive.js\n│   ├── lib\n│   │   ├── blob_lease.js\n│   │   ├── blob_lease_manager.js\n│   │   └── index.js\n│   ├── node_modules\n│   │   ├── assert-plus\n│   │   ├── azure-storage # 依赖项中的指定版本(旧)\n│   │   ├── boom\n│   │   ├── caseless\n│   │   ├── cryptiles\n│   │   ├── delayed-stream\n│   │   ├── forever-agent\n│   │   ├── form-data\n│   │   ├── har-validator\n│   │   ├── hawk\n│   │   ├── hoek\n│   │   ├── http-signature\n│   │   ├── qs\n│   │   ├── request\n│   │   ├── sntp\n│   │   └── validator\n│   ├── package.json\n│   ├── playground.js\n│   └── test\n│   └── integration\n└── tim-azure-event-hubs\n\n406 directories, 1571 files\n```\n\n所以只需要将 `node_modules/cerulean/node_modules/azure-storage` 目录给删除掉, 让引用的时候自动向上递归查找即可.\n\n### 解决方案\n\n```js\n\"dependencies\": {\n \"azure-storage\": \"^2.2.1\",\n \"tim-event-processor-host\": \"^0.0.3\"\n},\n\"scripts\": {\n \"postinstall\": \"rm -rf node_modules/cerulean/node_modules/azure-storage\"\n}\n```\n\n```bash\nyarn --ignore-engines\n```\n\n完成.\n","dir":"/zh/basic/node","path":"/zh/basic/node/yarn","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/node/yarn","meta":{"version":0,"revision":0,"created":1756480738563},"$loki":54},{"slug":"brew","description":"","title":"Brew","position":1101,"category":"知识篇-必备神器","toc":[{"id":"常用应用","depth":2,"text":"常用应用"},{"id":"brew-cask","depth":2,"text":"Brew Cask"},{"id":"安装-brew-cask","depth":3,"text":"安装 Brew Cask"},{"id":"brew-cask-常用应用","depth":3,"text":"Brew Cask 常用应用"},{"id":"本地-dns-配置","depth":2,"text":"本地 DNS 配置"},{"id":"百度网盘下载工具-aria2","depth":2,"text":"百度网盘下载工具 Aria2"},{"id":"通过-brew-安装-aria2","depth":3,"text":"通过 Brew 安装 Aria2"},{"id":"浏览器插件","depth":3,"text":"浏览器插件"},{"id":"运行","depth":3,"text":"运行"},{"id":"gui-界面","depth":3,"text":"GUI 界面"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"官方网址: "},{"type":"element","tag":"a","props":{"href":"http://brew.sh/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://brew.sh/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"用于安装各类 *nix 依赖包和应用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/usr/bin/ruby -e "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"curl"}]},{"type":"text","value":" -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install"},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":")"}]}]},{"type":"text","value":"\""}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"常用应用"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%B8%B8%E7%94%A8%E5%BA%94%E7%94%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"常用应用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"brew "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"常用命令:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"tree"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"autojump 配合 zsh 使用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"thefuck"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Node.js 相关:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"node"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"pkg-config"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"代理:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"proxychains-ng"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"数据库、缓存:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"mysql"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"redis"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"brew-cask"},"children":[{"type":"element","tag":"a","props":{"href":"#brew-cask","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Brew Cask"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以用于安装管理桌面应用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装-brew-cask"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85-brew-cask","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装 Brew Cask"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"brew tap caskroom/cask\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"brew-cask-常用应用"},"children":[{"type":"element","tag":"a","props":{"href":"#brew-cask-%E5%B8%B8%E7%94%A8%E5%BA%94%E7%94%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Brew Cask 常用应用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"brew cask install google-chrome\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"launchrocket 可以管理服务,如 Redis、MySQL、Nginx 等"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"filezilla"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"macdown"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"查找可用应用: "},{"type":"element","tag":"a","props":{"href":"https://caskroom.github.io/search","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://caskroom.github.io/search"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"本地-dns-配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%9C%AC%E5%9C%B0-dns-%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"本地 DNS 配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Localhost 下的泛域名指定"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"brew install dnsmasq\nmkdir -pv $(brew --prefix)/etc/\necho 'address=/.cxl/10.2.1.86' > $(brew --prefix)/etc/dnsmasq.conf\nsudo cp -v $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons\nsudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist\nsudo mkdir -v /etc/resolver\nsudo bash -c 'echo \"nameserver 127.0.0.1\" > /etc/resolver/cxl'\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"百度网盘下载工具-aria2"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%99%BE%E5%BA%A6%E7%BD%91%E7%9B%98%E4%B8%8B%E8%BD%BD%E5%B7%A5%E5%85%B7-aria2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"百度网盘下载工具 Aria2"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"通过-brew-安装-aria2"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%80%9A%E8%BF%87-brew-%E5%AE%89%E8%A3%85-aria2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"通过 Brew 安装 Aria2"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"brew "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" aria2\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"浏览器插件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8F%92%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"浏览器插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/acgotaku/BaiduExporter/releases","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/acgotaku/BaiduExporter/releases"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"运行"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%BF%90%E8%A1%8C","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"运行"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"aria2c --conf-path"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"=~"}]},{"type":"text","value":"/.aria2.conf -D\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":".aria2.conf:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"#设置加密的密钥\n#rpc-secret=token\n#允许rpc\nenable-rpc=true\n#允许所有来源, web界面跨域权限需要\nrpc-allow-origin-all=true\n#允许外部访问,false的话只监听本地端口\nrpc-listen-all=true\n#RPC端口, 仅当默认端口被占用时修改\n#rpc-listen-port=6800\n#最大同时下载数(任务数), 路由建议值: 3\nmax-concurrent-downloads=5\n#断点续传\ncontinue=true\n#同服务器连接数\nmax-connection-per-server=5\n#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要\nmin-split-size=10M\n#单文件最大线程数, 路由建议值: 5\nsplit=10\n#下载速度限制\nmax-overall-download-limit=0\n#单文件速度限制\nmax-download-limit=0\n#上传速度限制\nmax-overall-upload-limit=0\n#单文件速度限制\nmax-upload-limit=0\n#断开速度过慢的连接\n#lowest-speed-limit=0\n#验证用,需要1.16.1之后的release版本\n#referer=*\n#文件保存路径, 默认为当前启动位置\ndir=~/Downloads\n#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本\n#disk-cache=0\n#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)\n#enable-mmap=true\n#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长\n#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持\nfile-allocation=prealloc\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"gui-界面"},"children":[{"type":"element","tag":"a","props":{"href":"#gui-%E7%95%8C%E9%9D%A2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"GUI 界面"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://binux.github.io/yaaw/demo/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://binux.github.io/yaaw/demo/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"设置 URL:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"http://127.0.0.1:6800/jsonrpc\n"}]}]}]}]},"text":"\n官方网址: \n\n用于安装各类 \\*nix 依赖包和应用。\n\n```bash\n/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n```\n\n## 常用应用\n\n安装示例:\n\n```bash\nbrew install wget\n```\n\n\n\n常用命令:\n\n- wget\n- tree\n- autojump 配合 zsh 使用\n- thefuck\n\nNode.js 相关:\n\n- node\n- yarn\n- pkg-config\n\n代理:\n\n- proxychains-ng\n\n数据库、缓存:\n\n- mysql\n- redis\n\n## Brew Cask\n\n可以用于安装管理桌面应用。\n\n### 安装 Brew Cask\n\n```bash\nbrew tap caskroom/cask\n```\n\n### Brew Cask 常用应用\n\n```\nbrew cask install google-chrome\n```\n\n- launchrocket 可以管理服务,如 Redis、MySQL、Nginx 等\n- filezilla\n- macdown\n\n查找可用应用: \n\n## 本地 DNS 配置\n\nLocalhost 下的泛域名指定\n\n```\nbrew install dnsmasq\nmkdir -pv $(brew --prefix)/etc/\necho 'address=/.cxl/10.2.1.86' > $(brew --prefix)/etc/dnsmasq.conf\nsudo cp -v $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons\nsudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist\nsudo mkdir -v /etc/resolver\nsudo bash -c 'echo \"nameserver 127.0.0.1\" > /etc/resolver/cxl'\n```\n\n## 百度网盘下载工具 Aria2\n\n### 通过 Brew 安装 Aria2\n\n```bash\nbrew install aria2\n```\n\n### 浏览器插件\n\n\n\n### 运行\n\n```bash\naria2c --conf-path=~/.aria2.conf -D\n```\n\n.aria2.conf:\n\n```\n#设置加密的密钥\n#rpc-secret=token\n#允许rpc\nenable-rpc=true\n#允许所有来源, web界面跨域权限需要\nrpc-allow-origin-all=true\n#允许外部访问,false的话只监听本地端口\nrpc-listen-all=true\n#RPC端口, 仅当默认端口被占用时修改\n#rpc-listen-port=6800\n#最大同时下载数(任务数), 路由建议值: 3\nmax-concurrent-downloads=5\n#断点续传\ncontinue=true\n#同服务器连接数\nmax-connection-per-server=5\n#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要\nmin-split-size=10M\n#单文件最大线程数, 路由建议值: 5\nsplit=10\n#下载速度限制\nmax-overall-download-limit=0\n#单文件速度限制\nmax-download-limit=0\n#上传速度限制\nmax-overall-upload-limit=0\n#单文件速度限制\nmax-upload-limit=0\n#断开速度过慢的连接\n#lowest-speed-limit=0\n#验证用,需要1.16.1之后的release版本\n#referer=*\n#文件保存路径, 默认为当前启动位置\ndir=~/Downloads\n#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本\n#disk-cache=0\n#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)\n#enable-mmap=true\n#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长\n#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持\nfile-allocation=prealloc\n```\n\n### GUI 界面\n\n\n\n设置 URL:\n\n```\nhttp://127.0.0.1:6800/jsonrpc\n```\n","dir":"/zh/basic/resource","path":"/zh/basic/resource/brew","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/resource/brew","meta":{"version":0,"revision":0,"created":1756480738570},"$loki":55},{"slug":"dnsmasq","description":"","title":"Dnsmasq","position":1103,"category":"知识篇-必备神器","toc":[],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"OS X 进行泛域名解析的开发环境搭建。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前置要求:"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Brew"}]},{"type":"text","value":"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 安装"}]},{"type":"text","value":"\nbrew "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" dnsmasq\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 按需创建必要目录"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"mkdir"}]},{"type":"text","value":" -p /usr/local/etc\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"mkdir"}]},{"type":"text","value":" -p /etc/resolver\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 创建一个简单配置文件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 强制 .dev 域名到本地 127.0.0.1"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 你可以从参考配置文件里获得更多信息,文件位置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# /usr/local/opt/dnsmasq/dnsmasq.conf.example"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"echo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"address=/.dev/127.0.0.1\""}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" /usr/local/etc/dnsmasq.conf\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sh"}]},{"type":"text","value":" -c "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'echo \"nameserver 127.0.0.1\" > /etc/resolver/dev'"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 安装启动文件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"cp"}]},{"type":"text","value":" -fv /usr/local/opt/dnsmasq/*.plist "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\\"}]},{"type":"text","value":"\n /Library/LaunchDaemons\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 启动服务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" launchctl load "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"\\"}]},{"type":"text","value":"\n /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\nOS X 进行泛域名解析的开发环境搭建。\n\n前置要求:`Brew`。\n\n```bash\n# 安装\nbrew install dnsmasq\n\n# 按需创建必要目录\nmkdir -p /usr/local/etc\nsudo mkdir -p /etc/resolver\n\n# 创建一个简单配置文件\n# 强制 .dev 域名到本地 127.0.0.1\n# 你可以从参考配置文件里获得更多信息,文件位置:\n# /usr/local/opt/dnsmasq/dnsmasq.conf.example\necho \"address=/.dev/127.0.0.1\" > /usr/local/etc/dnsmasq.conf\nsudo sh -c 'echo \"nameserver 127.0.0.1\" > /etc/resolver/dev'\n\n# 安装启动文件\nsudo cp -fv /usr/local/opt/dnsmasq/*.plist \\\n /Library/LaunchDaemons\n\n# 启动服务\nsudo launchctl load \\\n /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist\n```\n\n\n","dir":"/zh/basic/resource","path":"/zh/basic/resource/dnsmasq","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/resource/dnsmasq","meta":{"version":0,"revision":0,"created":1756480738573},"$loki":56},{"slug":"frontend","description":"","title":"前端资源","position":1108,"category":"知识篇-必备神器","toc":[{"id":"数据可视化","depth":2,"text":"数据可视化"},{"id":"3d","depth":2,"text":"3D"},{"id":"动画","depth":2,"text":"动画"},{"id":"vr-虚拟现实","depth":2,"text":"VR 虚拟现实"},{"id":"图表","depth":2,"text":"图表"},{"id":"滚动视差","depth":2,"text":"滚动视差"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"《你可能用不上 jQuery》:"},{"type":"element","tag":"a","props":{"href":"http://youmightnotneedjquery.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://youmightnotneedjquery.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"数据可视化"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"数据可视化"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"D3.js: "},{"type":"element","tag":"a","props":{"href":"https://d3js.org/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://d3js.org/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"3d"},"children":[{"type":"element","tag":"a","props":{"href":"#3d","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3D"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Three.js: "},{"type":"element","tag":"a","props":{"href":"http://threejs.org/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://threejs.org/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"动画"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8A%A8%E7%94%BB","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"动画"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Anime-js: "},{"type":"element","tag":"a","props":{"href":"http://animejs.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://animejs.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Animate.css: "},{"type":"element","tag":"a","props":{"href":"http://daneden.github.io/animate.css/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://daneden.github.io/animate.css/"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"vr-虚拟现实"},"children":[{"type":"element","tag":"a","props":{"href":"#vr-%E8%99%9A%E6%8B%9F%E7%8E%B0%E5%AE%9E","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"VR 虚拟现实"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"A-Frame: "},{"type":"element","tag":"a","props":{"href":"https://aframe.io/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://aframe.io/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"图表"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9B%BE%E8%A1%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"图表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Echarts: "},{"type":"element","tag":"a","props":{"href":"http://echarts.baidu.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://echarts.baidu.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Recharts: "},{"type":"element","tag":"a","props":{"href":"http://recharts.org/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://recharts.org/"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"滚动视差"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%BB%9A%E5%8A%A8%E8%A7%86%E5%B7%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"滚动视差"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Skrollr: "},{"type":"element","tag":"a","props":{"href":"https://github.com/Prinzhorn/skrollr","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/Prinzhorn/skrollr"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"(已可用 3D 效果替代)"}]}]},"text":"\n《你可能用不上 jQuery》:\n\n## 数据可视化\n\nD3.js: \n\n## 3D\n\nThree.js: \n\n## 动画\n\n- Anime-js: \n- Animate.css: \n\n\n\n## VR 虚拟现实\n\nA-Frame: \n\n## 图表\n\n- Echarts: \n- Recharts: \n\n## 滚动视差\n\n- Skrollr: \n\n(已可用 3D 效果替代)\n","dir":"/zh/basic/resource","path":"/zh/basic/resource/frontend","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/resource/frontend","meta":{"version":0,"revision":0,"created":1756480738580},"$loki":57},{"slug":"ide","description":"","title":"IDE","position":1104,"category":"知识篇-必备神器","toc":[{"id":"webstorm","depth":2,"text":"WebStorm"},{"id":"sublime-text-3","depth":2,"text":"Sublime Text 3"},{"id":"安装","depth":3,"text":"安装"},{"id":"配置-subl-快捷命令os-x","depth":3,"text":"配置 subl 快捷命令(OS X)"},{"id":"安装-package-control","depth":3,"text":"安装 Package Control"},{"id":"安装配置主题","depth":3,"text":"安装配置主题"},{"id":"常用插件","depth":3,"text":"常用插件"},{"id":"atom","depth":2,"text":"Atom"},{"id":"插件列表--plugin-list","depth":3,"text":"插件列表 / Plugin List"},{"id":"推荐配置","depth":3,"text":"推荐配置"},{"id":"keymapcson","depth":3,"text":"keymap.cson"},{"id":"visual-studio-code","depth":2,"text":"Visual Studio Code"},{"id":"配置","depth":3,"text":"配置"},{"id":"按键","depth":3,"text":"按键"},{"id":"插件","depth":3,"text":"插件"}],"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"安装配置-ide"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE-ide","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装配置 IDE"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"适合前端、后端、全栈工程师,尤其以 Javascript(Node.js)为主。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"目前我个人用的最多的是 VS Code。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"该章节不过多对比,根据个人喜好选择。入门请使用 WebStorm,进阶 Atom、VS Code, Sublime Text 不适合项目开发使用,比较适合调试使用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"具体配置及按键映射,如 Atom 和 VS Code 的,也需要根据个人喜好来设置,可以在安装后查看全局配置,自行修改调整。记得做好备份。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"webstorm"},"children":[{"type":"element","tag":"a","props":{"href":"#webstorm","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"WebStorm"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"官方地址: "},{"type":"element","tag":"a","props":{"href":"http://www.jetbrains.com/webstorm/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.jetbrains.com/webstorm/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"适合新手入门。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"sublime-text-3"},"children":[{"type":"element","tag":"a","props":{"href":"#sublime-text-3","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Sublime Text 3"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下载地址: "},{"type":"element","tag":"a","props":{"href":"http://www.sublimetext.com/3","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.sublimetext.com/3"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"配置-subl-快捷命令os-x"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-subl-%E5%BF%AB%E6%8D%B7%E5%91%BD%E4%BB%A4os-x","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 subl 快捷命令(OS X)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"图省事的话可以直接先尝试在终端(或 iTerm)里 执行:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ln -s /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"详细过程分解"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%AF%A6%E7%BB%86%E8%BF%87%E7%A8%8B%E5%88%86%E8%A7%A3","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"详细过程分解"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Finder 中打开应用程序目录,找到 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Sublime Text"}]},{"type":"text","value":"应用,右键菜单选择 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"显示包内容"}]},{"type":"text","value":","}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"进入 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Contents -> SharedSupport -> bin"}]},{"type":"text","value":" 目录,看到一个 subl 文件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"打开终端,输入:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ln -s (停止输入,把Finder里的那个subl文件拖进来,按一个空格继续输入) /usr/local/bin/subl\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果提示 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ln: /usr/local/bin123/subl: No such file or directory"}]},{"type":"text","value":" 输入:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"mkdir /usr/local/bin\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后再重新执行上一条命令。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装-package-control"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85-package-control","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装 Package Control"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装完成后,打开 Sublime , 按下 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ctrl + ~"}]},{"type":"text","value":",在弹出的控制台中输入:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-python"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" urllib"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"request"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"os"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" pf "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Package Control.sublime-package'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" ipp "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" sublime"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"installed_packages_path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" urllib"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"request"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"install_opener"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":" urllib"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"request"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"build_opener"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":" urllib"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"request"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"ProxyHandler"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","builtin"]},"children":[{"type":"text","value":"open"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"os"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"join"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ipp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pf"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'wb'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"write"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"urllib"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"request"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"urlopen"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'http://sublime.wbond.net/'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" pf"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"replace"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"' '"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'%20'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"read"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以后使用快捷键 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"⌘(command) + ⇧(shift) + p"}]},{"type":"text","value":" 输入 Install, 就能够调出 Package Install 进行 Sublime 的插件主题安装了."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装配置主题"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE%E4%B8%BB%E9%A2%98","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装配置主题"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"调出 Package Install, 输入 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"theme"}]},{"type":"text","value":", 大多数主题都是以 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Theme:"}]},{"type":"text","value":" 开头,可以鼠标或键盘上下键选择,点击或回车便开始进行安装。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装完成后从 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Preference (左上角苹果按钮旁边点Sublime Text) -> Color Scheme"}]},{"type":"text","value":" 选择你所安装的主题并启用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"常用插件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%B8%B8%E7%94%A8%E6%8F%92%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"常用插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"1.Terminal"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装完成后从 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Preference -> Package Settings -> Terminal -> Settings - Default"}]},{"type":"text","value":" 进入配置,"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"修改"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":" \"terminal\": \"\",\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"为"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":" \"terminal\": \"iTerm.sh\",\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"即可右键从 iTerm 中打开当前目录了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"atom"},"children":[{"type":"element","tag":"a","props":{"href":"#atom","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Atom"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下载地址: "},{"type":"element","tag":"a","props":{"href":"https://atom.io/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://atom.io/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"进阶使用,或 VS Code。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"之前我个人一直用的 WebStorm,一方面这是个付费的 IDE;另一方面是该环境内存开销比较大,自带功能太多,对于新人来讲是不错的选择,但是慢慢的对开发熟悉后,并不太需要那些辅助的功能和插件,所以会尝试一些更轻量级、灵活的编辑器。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"插件列表--plugin-list"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%8F%92%E4%BB%B6%E5%88%97%E8%A1%A8--plugin-list","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"插件列表 / Plugin List"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Community Packages (49) /Users/willin/.atom/packages\n├── activate-power-mode@0.7.4\n├── atom-beautify\n├── atom-jade@0.3.0\n├── atom-material-syntax@0.4.6\n├── atom-material-ui@1.3.3\n├── atom-terminal-panel@4.4.4\n├── atom-ternjs@0.14.2\n├── atom-typescript@10.1.6\n├── auto-update-packages@1.0.1\n├── autoclose-html@0.23.0\n├── autocomplete-modules@1.6.1\n├── ava@0.7.0\n├── color-picker@2.2.2\n├── csslint@1.1.5\n├── docblockr@0.8.2\n├── editorconfig@1.4.1\n├── file-icons@1.7.18\n├── git-log@0.4.1\n├── git-time-machine@1.5.3\n├── highlight-selected@0.11.2\n├── hyperclick@0.0.37\n├── js-hyperclick@1.4.2\n├── language-babel\n├── language-dots@0.0.4\n├── language-javascript-jsx@0.3.7\n├── language-swigjs@0.3.1\n├── linter@1.11.16\n├── linter-eslint@7.2.4\n├── linter-tslint@0.11.1\n├── markdown-scroll-sync@2.1.2\n├── merge-conflicts@1.4.4\n├── minimap@4.24.7\n├── minimap-git-diff@4.3.1\n├── minimap-highlight-selected@4.4.0\n├── minimap-pigments@0.2.1\n├── open-in-browser@0.4.7\n├── open-recent@5.0.0\n├── pigments@0.31.2\n├── project-manager@2.9.7\n├── project-switcher@0.3.0\n├── rest-client@1.2.1\n├── screen-recorder@1.2.0\n├── seti-ui@1.3.1\n├── simplified-chinese-menu@3.4.11\n├── sort-lines@0.14.0\n├── terminal-plus@0.14.5\n├── todo-show@1.7.0\n├── tool-bar@1.0.1\n└── tool-bar-config@0.1.0\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"推荐配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%8E%A8%E8%8D%90%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"推荐配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"\"*\":\n \"activate-power-mode\":\n particles:\n size: {}\n spawnCount: {}\n totalCount: {}\n screenShake: {}\n \"atom-beautify\":\n apex: {}\n arduino: {}\n c: {}\n cfml: {}\n coffeescript:\n indent_size: 2\n cpp: {}\n cs: {}\n css: {}\n d: {}\n ejs: {}\n erb: {}\n fortran: {}\n general:\n _analyticsUserId: \"ea162638-166c-40b5-835b-108ef72f93f3\"\n analytics: false\n beautifyEntireFileOnSave: false\n gherkin: {}\n handlebars: {}\n html:\n end_with_newline: true\n indent_inner_html: true\n indent_size: 2\n max_preserve_newlines: 1\n jade: {}\n java: {}\n js:\n brace_style: \"collapse-preserve-inline\"\n end_with_comma: true\n end_with_newline: true\n indent_size: 2\n keep_function_indentation: true\n json:\n beautify_on_save: true\n indent_size: 2\n jsx: {}\n latex: {}\n less: {}\n marko: {}\n mustache: {}\n objectivec: {}\n pawn: {}\n perl: {}\n php: {}\n python: {}\n riot: {}\n ruby: {}\n rust: {}\n sass: {}\n scss: {}\n spacebars: {}\n sql: {}\n svg: {}\n swig: {}\n tss: {}\n twig: {}\n typescript: {}\n vala: {}\n visualforce: {}\n xml: {}\n xtemplate: {}\n \"autoclose-html\": {}\n autosave:\n enabled: true\n core:\n disabledPackages: [\n \"atom-terminal-panel\"\n \"atom-beautify\"\n \"editorconfig\"\n ]\n themes: [\n \"atom-material-ui\"\n \"atom-material-syntax\"\n ]\n editor:\n fontFamily: \"'Source Code Pro for Powerline','Electrolize'\"\n fontSize: 15\n invisibles: {}\n showIndentGuide: true\n softWrap: true\n \"exception-reporting\":\n userId: \"69f2bdd3-5fcf-f92b-ecd5-461248e4bd3f\"\n \"file-icons\":\n onChanges: true\n \"highlight-selected\": {}\n \"js-hyperclick\": {}\n linter:\n errorPanelHeight: 71\n showErrorPanel: false\n showErrorTabLine: true\n \"linter-eslint\":\n fixOnSave: true\n \"merge-conflicts\": {}\n minimap:\n plugins:\n \"git-diff\": true\n \"git-diffDecorationsZIndex\": 0\n \"highlight-selected\": true\n \"highlight-selectedDecorationsZIndex\": 0\n pigments: true\n pigmentsDecorationsZIndex: 0\n \"project-manager\":\n sortBy: \"last modified\"\n \"rest-client\": {}\n \"simplified-chinese-menu\": {}\n \"split-diff\":\n diffWords: true\n ignoreWhitespace: true\n leftEditorColor: \"red\"\n rightEditorColor: \"green\"\n syncHorizontalScroll: true\n \"terminal-plus\":\n core:\n mapTerminalsTo: \"Folder\"\n style:\n fontFamily: \"'Source Code Pro for Powerline'\"\n \"todo-show\":\n ignoreThesePaths: [\n \"**/node_modules/\"\n \"**/vendor/\"\n \"**/bower_components/\"\n \"**/public/\"\n ]\n \"tool-bar\":\n position: \"Left\"\n \"tool-bar-config\": [\n {\n icon: \"document\"\n iconSet: \"ion\"\n title: \"New File\"\n callback: \"application:new-file\"\n }\n {\n icon: \"folder\"\n iconSet: \"ion\"\n title: \"Open...\"\n callback: \"application:open-folder\"\n }\n {\n icon: \"archive\"\n iconSet: \"ion\"\n title: \"Save\"\n callback: \"core:save\"\n }\n {\n icon: \"spacer\"\n }\n {\n icon: \"search\"\n iconSet: \"ion\"\n title: \"Find in Buffer\"\n callback: \"find-and-replace:show\"\n }\n {\n icon: \"shuffle\"\n iconSet: \"ion\"\n title: \"Replace in Buffer\"\n callback: \"find-and-replace:show-replace\"\n }\n {\n icon: \"spacer\"\n }\n {\n icon: \"navicon-round\"\n iconSet: \"ion\"\n title: \"Toggle Command Palette\"\n callback: \"command-palette:toggle\"\n }\n {\n icon: \"gear-a\"\n iconSet: \"ion\"\n title: \"Open Settings View\"\n callback: \"settings-view:open\"\n }\n {\n icon: \"spacer\"\n }\n {\n icon: \"refresh\"\n iconSet: \"ion\"\n title: \"Reload Window\"\n callback: \"window:reload\"\n }\n ]\n \"tree-view\":\n autoReveal: true\n welcome:\n showOnStartup: false\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"keymapcson"},"children":[{"type":"element","tag":"a","props":{"href":"#keymapcson","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"keymap.cson"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"("},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"快捷键"}]},{"type":"text","value":"根据个人喜好和习惯设定 / up to your habit)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"'atom-text-editor':\n 'cmd-alt-l': 'atom-beautify:beautify-editor'\n 'cmd-shift-l': 'atom-beautify:beautify-editor'\n 'cmd-alt-j': 'activate-power-mode:toggle'\n 'cmd-shift-j': 'activate-power-mode:toggle'\n 'cmd-`': 'terminal-plus:toggle'\n 'cmd-alt-up': 'pane:split-up'\n 'cmd-alt-down': 'pane:split-down'\n 'cmd-alt-left': 'pane:split-left'\n 'cmd-alt-right': 'pane:split-right'\n 'cmd-alt-shift-up':'window:focus-pane-on-up'\n 'cmd-alt-shift-down':'window:focus-pane-on-down'\n 'cmd-alt-shift-left':'window:focus-pane-on-left'\n 'cmd-alt-shift-right':'window:focus-pane-on-right'\n 'cmd-k':'pane:close'\n 'cmd-1':'todo-show:find-in-project'\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"visual-studio-code"},"children":[{"type":"element","tag":"a","props":{"href":"#visual-studio-code","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Visual Studio Code"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下载地址: "},{"type":"element","tag":"a","props":{"href":"https://code.visualstudio.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://code.visualstudio.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在用了半年多 Atom 之后,一次更新导致了 Terminal 插件失效,所以转到了 VS Code。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在 1.6 之后的版本中内置了终端,所以还算不错。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比 Atom 快了很多,尤其是压缩过的 js 代码,在 Atom 中打开简直就是噩梦,可能是因为代码自动格式化引起的,原因不详。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"VS Code 不足在于:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"ESLint 报错不能直接跳转到网站详细说明"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"没有 MiniMap 插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"没有 Power Mode 插件,当然这个只是自嗨用的,无关痛痒"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"整体来讲,还是头一次对微软的东西这么满意。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"{\n \"editor.tabSize\": 2,\n \"editor.fontSize\": 13,\n \"editor.fontFamily\": \"'Source Code Pro for Powerline', Menlo, Monaco, 'Courier New', monospace\",\n \"editor.fontWeight\": \"normal\",\n \"editor.formatOnType\": true,\n \"editor.wordWrap\": true,\n \"extensions.autoUpdate\": true,\n \"files.autoSave\": \"afterDelay\",\n \"files.autoSaveDelay\": 5000,\n \"terminal.external.osxExec\": \"iTerm.app\",\n \"telemetry.enableTelemetry\": false,\n \"telemetry.enableCrashReporter\": false,\n \"window.zoomLevel\": 1,\n // 插件定义\n \"eslint.autoFixOnSave\": true\n }\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"按键"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%8C%89%E9%94%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"按键"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"[\n // HHKB\n { \"key\": \"cmd+escape\", \"command\": \"workbench.action.terminal.toggleTerminal\" },\n { \"key\": \"cmd+shift+escape\", \"command\": \"workbench.action.showErrorsWarnings\"},\n { \"key\": \"alt+i\", \"command\": \"cursorUp\", \"when\": \"editorTextFocus\" },\n { \"key\": \"alt+j\", \"command\": \"cursorLeft\", \"when\": \"editorTextFocus\" },\n { \"key\": \"alt+k\", \"command\": \"cursorDown\", \"when\": \"editorTextFocus\" },\n { \"key\": \"alt+l\", \"command\": \"cursorRight\", \"when\": \"editorTextFocus\" }\n]\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"插件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%8F%92%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Auto Close Tag"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"ESLint"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"exports autocomplete"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Material Icon Theme"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Material-theme"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Project Manager"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Sass"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"TODO Highlight"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"VS Color Picker"}]},{"type":"text","value":"\n"}]}]},"text":"\n# 安装配置 IDE\n\n适合前端、后端、全栈工程师,尤其以 Javascript(Node.js)为主。\n\n目前我个人用的最多的是 VS Code。\n\n该章节不过多对比,根据个人喜好选择。入门请使用 WebStorm,进阶 Atom、VS Code, Sublime Text 不适合项目开发使用,比较适合调试使用。\n\n具体配置及按键映射,如 Atom 和 VS Code 的,也需要根据个人喜好来设置,可以在安装后查看全局配置,自行修改调整。记得做好备份。\n\n## WebStorm\n\n官方地址: \n\n适合新手入门。\n\n\n\n## Sublime Text 3\n\n### 安装\n\n下载地址: \n\n### 配置 subl 快捷命令(OS X)\n\n图省事的话可以直接先尝试在终端(或 iTerm)里 执行:\n\n```\nln -s /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl\n```\n\n---\n\n#### 详细过程分解\n\nFinder 中打开应用程序目录,找到 `Sublime Text`应用,右键菜单选择 `显示包内容`,\n\n进入 `Contents -> SharedSupport -> bin` 目录,看到一个 subl 文件\n\n打开终端,输入:\n\n```\nln -s (停止输入,把Finder里的那个subl文件拖进来,按一个空格继续输入) /usr/local/bin/subl\n```\n\n如果提示 `ln: /usr/local/bin123/subl: No such file or directory` 输入:\n\n```\nmkdir /usr/local/bin\n```\n\n然后再重新执行上一条命令。\n\n### 安装 Package Control\n\n安装完成后,打开 Sublime , 按下 `ctrl + ~`,在弹出的控制台中输入:\n\n```python\nimport urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())\n```\n\n以后使用快捷键 `⌘(command) + ⇧(shift) + p` 输入 Install, 就能够调出 Package Install 进行 Sublime 的插件主题安装了.\n\n### 安装配置主题\n\n调出 Package Install, 输入 `theme`, 大多数主题都是以 `Theme:` 开头,可以鼠标或键盘上下键选择,点击或回车便开始进行安装。\n\n安装完成后从 `Preference (左上角苹果按钮旁边点Sublime Text) -> Color Scheme` 选择你所安装的主题并启用。\n\n### 常用插件\n\n1.Terminal\n\n安装完成后从 `Preference -> Package Settings -> Terminal -> Settings - Default` 进入配置,\n\n修改\n\n```\n\t\"terminal\": \"\",\n```\n\n为\n\n```\n\t\"terminal\": \"iTerm.sh\",\n```\n\n即可右键从 iTerm 中打开当前目录了。\n\n## Atom\n\n下载地址: \n\n进阶使用,或 VS Code。\n\n之前我个人一直用的 WebStorm,一方面这是个付费的 IDE;另一方面是该环境内存开销比较大,自带功能太多,对于新人来讲是不错的选择,但是慢慢的对开发熟悉后,并不太需要那些辅助的功能和插件,所以会尝试一些更轻量级、灵活的编辑器。\n\n### 插件列表 / Plugin List\n\n```\nCommunity Packages (49) /Users/willin/.atom/packages\n├── activate-power-mode@0.7.4\n├── atom-beautify\n├── atom-jade@0.3.0\n├── atom-material-syntax@0.4.6\n├── atom-material-ui@1.3.3\n├── atom-terminal-panel@4.4.4\n├── atom-ternjs@0.14.2\n├── atom-typescript@10.1.6\n├── auto-update-packages@1.0.1\n├── autoclose-html@0.23.0\n├── autocomplete-modules@1.6.1\n├── ava@0.7.0\n├── color-picker@2.2.2\n├── csslint@1.1.5\n├── docblockr@0.8.2\n├── editorconfig@1.4.1\n├── file-icons@1.7.18\n├── git-log@0.4.1\n├── git-time-machine@1.5.3\n├── highlight-selected@0.11.2\n├── hyperclick@0.0.37\n├── js-hyperclick@1.4.2\n├── language-babel\n├── language-dots@0.0.4\n├── language-javascript-jsx@0.3.7\n├── language-swigjs@0.3.1\n├── linter@1.11.16\n├── linter-eslint@7.2.4\n├── linter-tslint@0.11.1\n├── markdown-scroll-sync@2.1.2\n├── merge-conflicts@1.4.4\n├── minimap@4.24.7\n├── minimap-git-diff@4.3.1\n├── minimap-highlight-selected@4.4.0\n├── minimap-pigments@0.2.1\n├── open-in-browser@0.4.7\n├── open-recent@5.0.0\n├── pigments@0.31.2\n├── project-manager@2.9.7\n├── project-switcher@0.3.0\n├── rest-client@1.2.1\n├── screen-recorder@1.2.0\n├── seti-ui@1.3.1\n├── simplified-chinese-menu@3.4.11\n├── sort-lines@0.14.0\n├── terminal-plus@0.14.5\n├── todo-show@1.7.0\n├── tool-bar@1.0.1\n└── tool-bar-config@0.1.0\n```\n\n### 推荐配置\n\n```\n\"*\":\n \"activate-power-mode\":\n particles:\n size: {}\n spawnCount: {}\n totalCount: {}\n screenShake: {}\n \"atom-beautify\":\n apex: {}\n arduino: {}\n c: {}\n cfml: {}\n coffeescript:\n indent_size: 2\n cpp: {}\n cs: {}\n css: {}\n d: {}\n ejs: {}\n erb: {}\n fortran: {}\n general:\n _analyticsUserId: \"ea162638-166c-40b5-835b-108ef72f93f3\"\n analytics: false\n beautifyEntireFileOnSave: false\n gherkin: {}\n handlebars: {}\n html:\n end_with_newline: true\n indent_inner_html: true\n indent_size: 2\n max_preserve_newlines: 1\n jade: {}\n java: {}\n js:\n brace_style: \"collapse-preserve-inline\"\n end_with_comma: true\n end_with_newline: true\n indent_size: 2\n keep_function_indentation: true\n json:\n beautify_on_save: true\n indent_size: 2\n jsx: {}\n latex: {}\n less: {}\n marko: {}\n mustache: {}\n objectivec: {}\n pawn: {}\n perl: {}\n php: {}\n python: {}\n riot: {}\n ruby: {}\n rust: {}\n sass: {}\n scss: {}\n spacebars: {}\n sql: {}\n svg: {}\n swig: {}\n tss: {}\n twig: {}\n typescript: {}\n vala: {}\n visualforce: {}\n xml: {}\n xtemplate: {}\n \"autoclose-html\": {}\n autosave:\n enabled: true\n core:\n disabledPackages: [\n \"atom-terminal-panel\"\n \"atom-beautify\"\n \"editorconfig\"\n ]\n themes: [\n \"atom-material-ui\"\n \"atom-material-syntax\"\n ]\n editor:\n fontFamily: \"'Source Code Pro for Powerline','Electrolize'\"\n fontSize: 15\n invisibles: {}\n showIndentGuide: true\n softWrap: true\n \"exception-reporting\":\n userId: \"69f2bdd3-5fcf-f92b-ecd5-461248e4bd3f\"\n \"file-icons\":\n onChanges: true\n \"highlight-selected\": {}\n \"js-hyperclick\": {}\n linter:\n errorPanelHeight: 71\n showErrorPanel: false\n showErrorTabLine: true\n \"linter-eslint\":\n fixOnSave: true\n \"merge-conflicts\": {}\n minimap:\n plugins:\n \"git-diff\": true\n \"git-diffDecorationsZIndex\": 0\n \"highlight-selected\": true\n \"highlight-selectedDecorationsZIndex\": 0\n pigments: true\n pigmentsDecorationsZIndex: 0\n \"project-manager\":\n sortBy: \"last modified\"\n \"rest-client\": {}\n \"simplified-chinese-menu\": {}\n \"split-diff\":\n diffWords: true\n ignoreWhitespace: true\n leftEditorColor: \"red\"\n rightEditorColor: \"green\"\n syncHorizontalScroll: true\n \"terminal-plus\":\n core:\n mapTerminalsTo: \"Folder\"\n style:\n fontFamily: \"'Source Code Pro for Powerline'\"\n \"todo-show\":\n ignoreThesePaths: [\n \"**/node_modules/\"\n \"**/vendor/\"\n \"**/bower_components/\"\n \"**/public/\"\n ]\n \"tool-bar\":\n position: \"Left\"\n \"tool-bar-config\": [\n {\n icon: \"document\"\n iconSet: \"ion\"\n title: \"New File\"\n callback: \"application:new-file\"\n }\n {\n icon: \"folder\"\n iconSet: \"ion\"\n title: \"Open...\"\n callback: \"application:open-folder\"\n }\n {\n icon: \"archive\"\n iconSet: \"ion\"\n title: \"Save\"\n callback: \"core:save\"\n }\n {\n icon: \"spacer\"\n }\n {\n icon: \"search\"\n iconSet: \"ion\"\n title: \"Find in Buffer\"\n callback: \"find-and-replace:show\"\n }\n {\n icon: \"shuffle\"\n iconSet: \"ion\"\n title: \"Replace in Buffer\"\n callback: \"find-and-replace:show-replace\"\n }\n {\n icon: \"spacer\"\n }\n {\n icon: \"navicon-round\"\n iconSet: \"ion\"\n title: \"Toggle Command Palette\"\n callback: \"command-palette:toggle\"\n }\n {\n icon: \"gear-a\"\n iconSet: \"ion\"\n title: \"Open Settings View\"\n callback: \"settings-view:open\"\n }\n {\n icon: \"spacer\"\n }\n {\n icon: \"refresh\"\n iconSet: \"ion\"\n title: \"Reload Window\"\n callback: \"window:reload\"\n }\n ]\n \"tree-view\":\n autoReveal: true\n welcome:\n showOnStartup: false\n```\n\n### keymap.cson\n\n(`快捷键`根据个人喜好和习惯设定 / up to your habit)\n\n```\n'atom-text-editor':\n 'cmd-alt-l': 'atom-beautify:beautify-editor'\n 'cmd-shift-l': 'atom-beautify:beautify-editor'\n 'cmd-alt-j': 'activate-power-mode:toggle'\n 'cmd-shift-j': 'activate-power-mode:toggle'\n 'cmd-`': 'terminal-plus:toggle'\n 'cmd-alt-up': 'pane:split-up'\n 'cmd-alt-down': 'pane:split-down'\n 'cmd-alt-left': 'pane:split-left'\n 'cmd-alt-right': 'pane:split-right'\n 'cmd-alt-shift-up':'window:focus-pane-on-up'\n 'cmd-alt-shift-down':'window:focus-pane-on-down'\n 'cmd-alt-shift-left':'window:focus-pane-on-left'\n 'cmd-alt-shift-right':'window:focus-pane-on-right'\n 'cmd-k':'pane:close'\n 'cmd-1':'todo-show:find-in-project'\n```\n\n## Visual Studio Code\n\n下载地址: \n\n在用了半年多 Atom 之后,一次更新导致了 Terminal 插件失效,所以转到了 VS Code。\n\n在 1.6 之后的版本中内置了终端,所以还算不错。\n\n比 Atom 快了很多,尤其是压缩过的 js 代码,在 Atom 中打开简直就是噩梦,可能是因为代码自动格式化引起的,原因不详。\n\nVS Code 不足在于:\n\n- ESLint 报错不能直接跳转到网站详细说明\n- 没有 MiniMap 插件\n- 没有 Power Mode 插件,当然这个只是自嗨用的,无关痛痒\n\n整体来讲,还是头一次对微软的东西这么满意。\n\n### 配置\n\n```\n{\n \"editor.tabSize\": 2,\n \"editor.fontSize\": 13,\n \"editor.fontFamily\": \"'Source Code Pro for Powerline', Menlo, Monaco, 'Courier New', monospace\",\n \"editor.fontWeight\": \"normal\",\n \"editor.formatOnType\": true,\n \"editor.wordWrap\": true,\n \"extensions.autoUpdate\": true,\n \"files.autoSave\": \"afterDelay\",\n \"files.autoSaveDelay\": 5000,\n \"terminal.external.osxExec\": \"iTerm.app\",\n \"telemetry.enableTelemetry\": false,\n \"telemetry.enableCrashReporter\": false,\n \"window.zoomLevel\": 1,\n // 插件定义\n \"eslint.autoFixOnSave\": true\n }\n```\n\n### 按键\n\n```\n[\n // HHKB\n { \"key\": \"cmd+escape\", \"command\": \"workbench.action.terminal.toggleTerminal\" },\n { \"key\": \"cmd+shift+escape\", \"command\": \"workbench.action.showErrorsWarnings\"},\n { \"key\": \"alt+i\", \"command\": \"cursorUp\", \"when\": \"editorTextFocus\" },\n { \"key\": \"alt+j\", \"command\": \"cursorLeft\", \"when\": \"editorTextFocus\" },\n { \"key\": \"alt+k\", \"command\": \"cursorDown\", \"when\": \"editorTextFocus\" },\n { \"key\": \"alt+l\", \"command\": \"cursorRight\", \"when\": \"editorTextFocus\" }\n]\n```\n\n### 插件\n\n- Auto Close Tag\n- ESLint\n- exports autocomplete\n- Material Icon Theme\n- Material-theme\n- Project Manager\n- Sass\n- TODO Highlight\n- VS Color Picker\n","dir":"/zh/basic/resource","path":"/zh/basic/resource/ide","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/resource/ide","meta":{"version":0,"revision":0,"created":1756480738608},"$loki":58},{"slug":"offline","description":"","title":"离线资源","position":1107,"category":"知识篇-必备神器","toc":[{"id":"系统工具","depth":2,"text":"系统工具"},{"id":"ide","depth":2,"text":"IDE"},{"id":"设计工具","depth":2,"text":"设计工具"},{"id":"浏览器插件","depth":2,"text":"浏览器插件"},{"id":"chrome","depth":3,"text":"Chrome"},{"id":"firefox","depth":3,"text":"FireFox"},{"id":"前端工具","depth":2,"text":"前端工具"},{"id":"nodejs","depth":3,"text":"Node.js"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"系统工具"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%B3%BB%E7%BB%9F%E5%B7%A5%E5%85%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"系统工具"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Oh My Zsh:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"http://ohmyz.sh/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://ohmyz.sh/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"iTerm:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"http://www.iterm2.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.iterm2.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"HomeBrew: "},{"type":"element","tag":"a","props":{"href":"http://brew.sh/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://brew.sh/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"XtraFinder: "},{"type":"element","tag":"a","props":{"href":"http://www.trankynam.com/xtrafinder/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.trankynam.com/xtrafinder/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"iStat Menus (系统状态监控)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Bartender (状态栏图标管理)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Skim: "},{"type":"element","tag":"a","props":{"href":"http://skim-app.sourceforge.net/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://skim-app.sourceforge.net/"}]},{"type":"text","value":" (PDF 阅读)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Moom (调整窗口大小)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Autojump (Terminal 自动定位到目录的神器): brew install autojump (然后修改 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".zshrc"}]},{"type":"text","value":" 在 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"plugins"}]},{"type":"text","value":" 里面加上"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"autojump"}]},{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Dash (文档管理)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"ide"},"children":[{"type":"element","tag":"a","props":{"href":"#ide","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"IDE"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"VS Code"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://code.visualstudio.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://code.visualstudio.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"Atom:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://atom.io/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://atom.io/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"WebStorm "},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"(收费)"}]},{"type":"text","value":": "},{"type":"element","tag":"a","props":{"href":"http://www.jetbrains.com/webstorm/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.jetbrains.com/webstorm/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Sublime Text 3: "},{"type":"element","tag":"a","props":{"href":"http://www.sublimetext.com/3","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.sublimetext.com/3"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"MacDown "},{"type":"element","tag":"a","props":{"href":"http://macdown.uranusjr.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://macdown.uranusjr.com/"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"设计工具"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%AE%BE%E8%AE%A1%E5%B7%A5%E5%85%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设计工具"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"OmniGraffle (UML 建模)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Mindjet MindManager (思维导图)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Sketch (原型)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Axure (原型)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"浏览器插件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8F%92%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"浏览器插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"chrome"},"children":[{"type":"element","tag":"a","props":{"href":"#chrome","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Chrome"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Chrome Dev: "},{"type":"element","tag":"a","props":{"href":"https://dl.google.com/chrome/mac/dev/GoogleChrome.dmg","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://dl.google.com/chrome/mac/dev/GoogleChrome.dmg"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"HTTP/2 检测 HTTP/2 and SPDY indicator:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"梯|子 Proxy SwitchyOmega:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"正则工具 RegExp Tester App:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/regexp-tester-app/cmmblmkfaijaadfjapjddbeaoffeccib","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://chrome.google.com/webstore/detail/regexp-tester-app/cmmblmkfaijaadfjapjddbeaoffeccib"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"取色器 ColorZilla:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/bhlhnicpbhignbdhedgjhgdocnmhomnp","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://chrome.google.com/webstore/detail/bhlhnicpbhignbdhedgjhgdocnmhomnp"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"JSON 美化 JsonView:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/jsonview-jsonviewer-json/hdmbdioamgdkppmocchpkjhbpfmpjiei","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://chrome.google.com/webstore/detail/jsonview-jsonviewer-json/hdmbdioamgdkppmocchpkjhbpfmpjiei"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"模拟请求 Postman:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"服务器环境嗅探 Wappalyzer: "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"服务器环境嗅探 ChromeSnifferPlus: "},{"type":"element","tag":"a","props":{"href":"https://github.com/justjavac/ChromeSnifferPlus","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/justjavac/ChromeSnifferPlus"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"时间戳 Utime: "},{"type":"element","tag":"a","props":{"href":"https://chrome.google.com/webstore/detail/utime/kpcibgnngaaabebmcabmkocdokepdaki","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://chrome.google.com/webstore/detail/utime/kpcibgnngaaabebmcabmkocdokepdaki"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"firefox"},"children":[{"type":"element","tag":"a","props":{"href":"#firefox","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"FireFox"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"调试工具 FireBug:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://addons.mozilla.org/zh-CN/firefox/addon/firebug/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://addons.mozilla.org/zh-CN/firefox/addon/firebug/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"取色器 ColorZilla:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://addons.mozilla.org/zh-CN/firefox/addon/colorzilla/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://addons.mozilla.org/zh-CN/firefox/addon/colorzilla/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"JSON 美化 JsonView:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://addons.mozilla.org/zh-CN/firefox/addon/jsonview/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://addons.mozilla.org/zh-CN/firefox/addon/jsonview/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"模拟请求 RESTClient:"}]},{"type":"text","value":" "},{"type":"element","tag":"a","props":{"href":"https://addons.mozilla.org/zh-CN/firefox/addon/restclient/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://addons.mozilla.org/zh-CN/firefox/addon/restclient/"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"前端工具"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%89%8D%E7%AB%AF%E5%B7%A5%E5%85%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"前端工具"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"PNG 图片压缩: "},{"type":"element","tag":"a","props":{"href":"https://pngquant.org/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://pngquant.org/"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"nodejs"},"children":[{"type":"element","tag":"a","props":{"href":"#nodejs","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Node.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"YARN: "},{"type":"element","tag":"a","props":{"href":"https://yarnpkg.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://yarnpkg.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"NVM: "},{"type":"element","tag":"a","props":{"href":"https://github.com/creationix/nvm","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/creationix/nvm"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CNPM: "},{"type":"element","tag":"a","props":{"href":"http://npm.taobao.org/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://npm.taobao.org/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Labeb: "},{"type":"element","tag":"a","props":{"href":"https://github.com/mohebifar/lebab","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/mohebifar/lebab"}]},{"type":"text","value":" (ES5 代码转 ES6 工具)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Babel: "},{"type":"element","tag":"a","props":{"href":"https://github.com/babel/babel","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/babel/babel"}]},{"type":"text","value":" (ES6 代码转 ES5 工具)"}]},{"type":"text","value":"\n"}]}]},"text":"\n## 系统工具\n\n- **Oh My Zsh:** [http://ohmyz.sh/](http://ohmyz.sh/)\n- **iTerm:** [http://www.iterm2.com/](http://www.iterm2.com/)\n- HomeBrew: [http://brew.sh/](http://brew.sh/)\n- XtraFinder: [http://www.trankynam.com/xtrafinder/](http://www.trankynam.com/xtrafinder/)\n- iStat Menus (系统状态监控)\n- Bartender (状态栏图标管理)\n- Skim: [http://skim-app.sourceforge.net/](http://skim-app.sourceforge.net/) (PDF 阅读)\n- Moom (调整窗口大小)\n- Autojump (Terminal 自动定位到目录的神器): brew install autojump (然后修改 `.zshrc` 在 `plugins` 里面加上`autojump`)\n- Dash (文档管理)\n\n## IDE\n\n- **VS Code** \n- **Atom:** \n- WebStorm _(收费)_: [http://www.jetbrains.com/webstorm/](http://www.jetbrains.com/webstorm/)\n- Sublime Text 3: [http://www.sublimetext.com/3](http://www.sublimetext.com/3)\n- MacDown [http://macdown.uranusjr.com/](http://macdown.uranusjr.com/)\n\n\n\n## 设计工具\n\n- OmniGraffle (UML 建模)\n- Mindjet MindManager (思维导图)\n- Sketch (原型)\n- Axure (原型)\n\n## 浏览器插件\n\n### Chrome\n\nChrome Dev: [https://dl.google.com/chrome/mac/dev/GoogleChrome.dmg](https://dl.google.com/chrome/mac/dev/GoogleChrome.dmg)\n\n- **HTTP/2 检测 HTTP/2 and SPDY indicator:** \n- **梯|子 Proxy SwitchyOmega:** [https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif](https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif)\n- **正则工具 RegExp Tester App:** [https://chrome.google.com/webstore/detail/regexp-tester-app/cmmblmkfaijaadfjapjddbeaoffeccib](https://chrome.google.com/webstore/detail/regexp-tester-app/cmmblmkfaijaadfjapjddbeaoffeccib)\n- **取色器 ColorZilla:** [https://chrome.google.com/webstore/detail/bhlhnicpbhignbdhedgjhgdocnmhomnp](https://chrome.google.com/webstore/detail/bhlhnicpbhignbdhedgjhgdocnmhomnp)\n- **JSON 美化 JsonView:** [https://chrome.google.com/webstore/detail/jsonview-jsonviewer-json/hdmbdioamgdkppmocchpkjhbpfmpjiei](https://chrome.google.com/webstore/detail/jsonview-jsonviewer-json/hdmbdioamgdkppmocchpkjhbpfmpjiei)\n- **模拟请求 Postman:** [https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm](https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm)\n- 服务器环境嗅探 Wappalyzer: \n- 服务器环境嗅探 ChromeSnifferPlus: [https://github.com/justjavac/ChromeSnifferPlus](https://github.com/justjavac/ChromeSnifferPlus)\n- 时间戳 Utime: [https://chrome.google.com/webstore/detail/utime/kpcibgnngaaabebmcabmkocdokepdaki](https://chrome.google.com/webstore/detail/utime/kpcibgnngaaabebmcabmkocdokepdaki)\n\n### FireFox\n\n- **调试工具 FireBug:** [https://addons.mozilla.org/zh-CN/firefox/addon/firebug/](https://addons.mozilla.org/zh-CN/firefox/addon/firebug/)\n- **取色器 ColorZilla:** [https://addons.mozilla.org/zh-CN/firefox/addon/colorzilla/](https://addons.mozilla.org/zh-CN/firefox/addon/colorzilla/)\n- **JSON 美化 JsonView:** [https://addons.mozilla.org/zh-CN/firefox/addon/jsonview/](https://addons.mozilla.org/zh-CN/firefox/addon/jsonview/)\n- **模拟请求 RESTClient:** [https://addons.mozilla.org/zh-CN/firefox/addon/restclient/](https://addons.mozilla.org/zh-CN/firefox/addon/restclient/)\n\n## 前端工具\n\n- PNG 图片压缩: [https://pngquant.org/](https://pngquant.org/)\n\n### Node.js\n\n- YARN: \n- NVM: [https://github.com/creationix/nvm](https://github.com/creationix/nvm)\n- CNPM: [http://npm.taobao.org/](http://npm.taobao.org/)\n- Labeb: (ES5 代码转 ES6 工具)\n- Babel: (ES6 代码转 ES5 工具)\n","dir":"/zh/basic/resource","path":"/zh/basic/resource/offline","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/resource/offline","meta":{"version":0,"revision":0,"created":1756480738624},"$loki":59},{"slug":"ss","description":"","title":"科学上网","position":1105,"category":"知识篇-必备神器","toc":[{"id":"shad0ws0cks-服务器端","depth":2,"text":"Shad0ws0cks 服务器端"},{"id":"启动脚本","depth":3,"text":"启动脚本"},{"id":"各版本默认配置文件","depth":3,"text":"各版本默认配置文件"},{"id":"shad0ws0cks-客户端","depth":2,"text":"Shad0ws0cks 客户端"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"shad0ws0cks-服务器端"},"children":[{"type":"element","tag":"a","props":{"href":"#shad0ws0cks-%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Shad0ws0cks 服务器端"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一键安装脚本网站: "},{"type":"element","tag":"a","props":{"href":"https://shad0ws0cks.be/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://shad0ws0cks.be/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用 root 用户登录,运行以下命令:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":" --no-check-certificate -O shad0ws0cks-all.sh https://raw.githubusercontent.com/teddysun/shad0ws0cks_install/master/shad0ws0cks-all.sh\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"chmod"}]},{"type":"text","value":" +x shad0ws0cks-all.sh\n./shad0ws0cks-all.sh "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"element","tag":"span","props":{"className":["token","file-descriptor","important"]},"children":[{"type":"text","value":"2"}]},{"type":"text","value":">"}]},{"type":"element","tag":"span","props":{"className":["token","file-descriptor","important"]},"children":[{"type":"text","value":"&1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"tee"}]},{"type":"text","value":" shad0ws0cks-all.log\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"启动脚本"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"启动脚本"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"启动脚本后面的参数含义,从左至右依次为:启动,停止,重启,查看状态。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cks-Python 版:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/init.d/shad0ws0cks-python start "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" stop "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" restart "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" status\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cksR 版:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/init.d/shad0ws0cks-r start "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" stop "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" restart "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" status\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cks-Go 版:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/init.d/shad0ws0cks-go start "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" stop "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" restart "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" status\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cks-libev 版:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/init.d/shad0ws0cks-libev start "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" stop "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" restart "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":" status\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"各版本默认配置文件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%90%84%E7%89%88%E6%9C%AC%E9%BB%98%E8%AE%A4%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"各版本默认配置文件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cks-Python 版:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/shad0ws0cks-python/config.json\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cksR 版:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/shad0ws0cks-r/config.json\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cks-Go 版:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/shad0ws0cks-go/config.json\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cks-libev 版:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/shad0ws0cks-libev/config.json\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"shad0ws0cks-客户端"},"children":[{"type":"element","tag":"a","props":{"href":"#shad0ws0cks-%E5%AE%A2%E6%88%B7%E7%AB%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Shad0ws0cks 客户端"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Across the Great Wall we can reach every corner in the world."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cks 是一款轻量级 socks 代理软件,速度快,而且可以跨平台使用。 在这里假定我们已经获取到账号."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下载:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shad0ws0cks-windows: "},{"type":"element","tag":"a","props":{"href":"https://github.com/Shad0ws0cks/Shad0ws0cks-windows/releases","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/Shad0ws0cks/Shad0ws0cks-windows/releases"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"os-x: "},{"type":"element","tag":"a","props":{"href":"https://github.com/Shad0ws0cks/Shad0ws0cksX-NG/releases","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/Shad0ws0cks/Shad0ws0cksX-NG/releases"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"找到安装包解压,右键 Shad0ws0cks.exe,以管理员身份运行,在任务栏里面找到图标,右键,服务器->编辑服务器"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image1.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"根据购买的服务器帐号信息,添加服务器 IP,端口,密码,点击确定,如果有多个账号,就点击添加,最后确定。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后程序就会自动连接服务器."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image2.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后通过 Firefox 下的 Autoproxy 或者 Chrome 下的 SwichyOmega 之类惯用的扩展插件设置一下 SOCKS 5 代理服务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里讲一下 Chrome 下的 SwichyOmega:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下载:\nSwichyOmega:"},{"type":"element","tag":"a","props":{"href":"https://github.com/FelisCatus/SwitchyOmega/releases","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.amrom.workers.devShad0ws0cks/FelisCatus/SwitchyOmega/releases"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image3.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下载.rcx 文件,下载完成拖入谷歌扩展程序列表安装并开启.安装完毕后会自动开启选项界面:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image4.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里有一段介绍性的教程。如果想了解 SwitchyOmega 的不妨跟着教程走一遍。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"点击 proxy 情景模式:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image5.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"按照选择的代理服务器要求填写以上红线部分,这里用的是 Shad0ws0cks,所以代理协议选择 socks5,代理端口号为刚刚在编辑服务器时设置的本机端口号。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"点击选择自动代理情景模式"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image6.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"添加条件设置,即添加需要永久自动启动代理访问的域名:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image7.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"就可以使得这些域名通配符匹配的域名可以通过代理访问,永久的(即以后浏览这些网站都自动使用代理模式)。\n除了在选项界面添加条件,也可以在浏览器右上角小图标设置,如下:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image8.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"点击添加条件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image9.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"或者点击资源未加载"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image10.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"就可以添加到自动代理模式。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"但是,有些网站有时候抽风需要 fan 墙访问,有时候不需要,那就可以临时设置代理模式,默认是直接连接,如下:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image11.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"点击 proxy,此时,就可以访问临时需要 fan 墙的网站了。图标为"},{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image12.png"},"children":[]},{"type":"text","value":"时为直接连接,图标为"},{"type":"element","tag":"img","props":{"alt":"","src":"/basic/ss/image13.png"},"children":[]},{"type":"text","value":"时为代理模式。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"p.s."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"将 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Shad0ws0cks"}]},{"type":"text","value":" 中的 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" 全部 替换为 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"o"}]},{"type":"text","value":"."}]}]},"text":"\n## Shad0ws0cks 服务器端\n\n一键安装脚本网站: \n\n使用 root 用户登录,运行以下命令:\n\n```bash\nwget --no-check-certificate -O shad0ws0cks-all.sh https://raw.githubusercontent.com/teddysun/shad0ws0cks_install/master/shad0ws0cks-all.sh\nchmod +x shad0ws0cks-all.sh\n./shad0ws0cks-all.sh 2>&1 | tee shad0ws0cks-all.log\n```\n\n### 启动脚本\n\n启动脚本后面的参数含义,从左至右依次为:启动,停止,重启,查看状态。\n\nShad0ws0cks-Python 版:\n\n```bash\n/etc/init.d/shad0ws0cks-python start | stop | restart | status\n```\n\nShad0ws0cksR 版:\n\n```bash\n/etc/init.d/shad0ws0cks-r start | stop | restart | status\n```\n\nShad0ws0cks-Go 版:\n\n```bash\n/etc/init.d/shad0ws0cks-go start | stop | restart | status\n```\n\nShad0ws0cks-libev 版:\n\n```bash\n/etc/init.d/shad0ws0cks-libev start | stop | restart | status\n```\n\n\n\n### 各版本默认配置文件\n\nShad0ws0cks-Python 版:\n\n```bash\n/etc/shad0ws0cks-python/config.json\n```\n\nShad0ws0cksR 版:\n\n```bash\n/etc/shad0ws0cks-r/config.json\n```\n\nShad0ws0cks-Go 版:\n\n```bash\n/etc/shad0ws0cks-go/config.json\n```\n\nShad0ws0cks-libev 版:\n\n```bash\n/etc/shad0ws0cks-libev/config.json\n```\n\n## Shad0ws0cks 客户端\n\n> Across the Great Wall we can reach every corner in the world.\n\nShad0ws0cks 是一款轻量级 socks 代理软件,速度快,而且可以跨平台使用。 在这里假定我们已经获取到账号.\n\n下载:\n\nShad0ws0cks-windows: \n\nos-x: \n\n找到安装包解压,右键 Shad0ws0cks.exe,以管理员身份运行,在任务栏里面找到图标,右键,服务器->编辑服务器\n\n![](/basic/ss/image1.png)\n\n根据购买的服务器帐号信息,添加服务器 IP,端口,密码,点击确定,如果有多个账号,就点击添加,最后确定。\n\n然后程序就会自动连接服务器.\n\n![](/basic/ss/image2.png)\n\n然后通过 Firefox 下的 Autoproxy 或者 Chrome 下的 SwichyOmega 之类惯用的扩展插件设置一下 SOCKS 5 代理服务\n\n这里讲一下 Chrome 下的 SwichyOmega:\n\n下载:\nSwichyOmega:[https://github.amrom.workers.devShad0ws0cks/FelisCatus/SwitchyOmega/releases](https://github.com/FelisCatus/SwitchyOmega/releases)\n\n![](/basic/ss/image3.png)\n\n下载.rcx 文件,下载完成拖入谷歌扩展程序列表安装并开启.安装完毕后会自动开启选项界面:\n\n![](/basic/ss/image4.png)\n\n这里有一段介绍性的教程。如果想了解 SwitchyOmega 的不妨跟着教程走一遍。\n\n点击 proxy 情景模式:\n\n![](/basic/ss/image5.png)\n\n按照选择的代理服务器要求填写以上红线部分,这里用的是 Shad0ws0cks,所以代理协议选择 socks5,代理端口号为刚刚在编辑服务器时设置的本机端口号。\n\n点击选择自动代理情景模式\n\n![](/basic/ss/image6.png)\n\n添加条件设置,即添加需要永久自动启动代理访问的域名:\n\n![](/basic/ss/image7.png)\n\n就可以使得这些域名通配符匹配的域名可以通过代理访问,永久的(即以后浏览这些网站都自动使用代理模式)。\n除了在选项界面添加条件,也可以在浏览器右上角小图标设置,如下:\n\n![](/basic/ss/image8.png)\n\n点击添加条件\n\n![](/basic/ss/image9.png)\n\n或者点击资源未加载\n\n![](/basic/ss/image10.png)\n\n就可以添加到自动代理模式。\n\n但是,有些网站有时候抽风需要 fan 墙访问,有时候不需要,那就可以临时设置代理模式,默认是直接连接,如下:\n\n![](/basic/ss/image11.png)\n\n点击 proxy,此时,就可以访问临时需要 fan 墙的网站了。图标为![](/basic/ss/image12.png)时为直接连接,图标为![](/basic/ss/image13.png)时为代理模式。\n\np.s.\n\n将 `Shad0ws0cks` 中的 `0` 全部 替换为 `o`.\n","dir":"/zh/basic/resource","path":"/zh/basic/resource/ss","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/basic/resource/ss","meta":{"version":0,"revision":0,"created":1756480738631},"$loki":60},{"slug":"online","description":"","title":"在线资源","position":1106,"category":"知识篇-必备神器","toc":[{"id":"前端工具","depth":2,"text":"前端工具"},{"id":"代码运行","depth":2,"text":"代码运行"},{"id":"工具箱","depth":2,"text":"工具箱"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"前端工具"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%89%8D%E7%AB%AF%E5%B7%A5%E5%85%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"前端工具"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CSS Sprite: "},{"type":"element","tag":"a","props":{"href":"http://www.spritebox.net/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.spritebox.net/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CSS 兼容性查询: "},{"type":"element","tag":"a","props":{"href":"http://browserhacks.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://browserhacks.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"JPG 压缩: "},{"type":"element","tag":"a","props":{"href":"https://tinyjpg.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://tinyjpg.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"图片压缩: "},{"type":"element","tag":"a","props":{"href":"https://compressor.io/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://compressor.io/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"图片转文字: "},{"type":"element","tag":"a","props":{"href":"http://photo2text.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://photo2text.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CSSTidy: "},{"type":"element","tag":"a","props":{"href":"http://www.css88.com/tool/csstidy/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.css88.com/tool/csstidy/"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"代码运行"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BB%A3%E7%A0%81%E8%BF%90%E8%A1%8C","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"代码运行"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://runjs.cn/code/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://runjs.cn/code/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://jsbin.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://jsbin.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://codepen.io/pen/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://codepen.io/pen/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://jsfiddle.net/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://jsfiddle.net/"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"工具箱"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%B7%A5%E5%85%B7%E7%AE%B1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"工具箱"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://tool.oschina.net/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://tool.oschina.net/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://tool.lu/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://tool.lu/"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n## 前端工具\n\n- CSS Sprite: [http://www.spritebox.net/](http://www.spritebox.net/)\n- CSS 兼容性查询: [http://browserhacks.com/](http://browserhacks.com/)\n- JPG 压缩: [https://tinyjpg.com/](https://tinyjpg.com/)\n- 图片压缩: [https://compressor.io/](https://compressor.io/)\n- 图片转文字: [http://photo2text.com/](http://photo2text.com/)\n- CSSTidy: [http://www.css88.com/tool/csstidy/](http://www.css88.com/tool/csstidy/)\n\n## 代码运行\n\n- \n- \n- \n- \n\n## 工具箱\n\n- \n- \n\n\n","dir":"/zh/basic/resource","path":"/zh/basic/resource/online","extension":".md","createdAt":"2025-08-29T15:18:11.818Z","updatedAt":"2025-08-29T15:18:11.818Z","to":"/basic/resource/online","meta":{"version":0,"revision":0,"created":1756480738634},"$loki":61},{"slug":"zsh","description":"","title":"OhMyZsh","position":1102,"category":"知识篇-必备神器","toc":[{"id":"安装-ohmyzsh","depth":2,"text":"安装 OhMyZsh"},{"id":"为所有用户安装-ohmyzsh","depth":2,"text":"为所有用户安装 OhMyZsh"},{"id":"配置-ohmyzsh-主题和插件","depth":2,"text":"配置 OhMyZsh 主题和插件"},{"id":"配置-iterm-主题","depth":2,"text":"配置 iTerm 主题"},{"id":"配置-hyper-主题和插件","depth":2,"text":"配置 Hyper 主题和插件"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"安装-ohmyzsh"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85-ohmyzsh","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装 OhMyZsh"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sh"}]},{"type":"text","value":" -c "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"curl"}]},{"type":"text","value":" -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh"},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":")"}]}]},{"type":"text","value":"\""}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"为所有用户安装-ohmyzsh"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%B8%BA%E6%89%80%E6%9C%89%E7%94%A8%E6%88%B7%E5%AE%89%E8%A3%85-ohmyzsh","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"为所有用户安装 OhMyZsh"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先要确认 zsh 已经安装(Ubuntu):"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"sudo apt-get install zsh\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"1.以"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Root"}]},{"type":"text","value":"用户安装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sh"}]},{"type":"text","value":" -c "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"curl"}]},{"type":"text","value":" -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh"},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":")"}]}]},{"type":"text","value":"\""}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"2.修改"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/adduser.conf"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"text","value":"DSHELL"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/bin/bash "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#也可能是 sh"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"text","value":"DSHELL"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/bin/zsh\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"3.修改"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/default/useradd"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","environment","constant"]},"children":[{"type":"text","value":"SHELL"}]}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/bin/sh\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","environment","constant"]},"children":[{"type":"text","value":"SHELL"}]}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/bin/zsh\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"4.复制配置到新用户目录"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cp -r .oh-my-zsh /etc/skel/\ncp .zshrc /etc/skel\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"5.新建用户后,修改用户目录下的 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/home/username/.zshrc"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"export ZSH=/root/.oh-my-zsh\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"export ZSH=/home/username/.oh-my-zsh\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置-ohmyzsh-主题和插件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-ohmyzsh-%E4%B8%BB%E9%A2%98%E5%92%8C%E6%8F%92%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 OhMyZsh 主题和插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"配置文件路径:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"~/.zshrc\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"搜索 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ZSH_THEME="}]},{"type":"text","value":" 修改主题,默认主题为 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"robbyrussell"}]},{"type":"text","value":", 想要折腾的话,可以试试"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"agnoster"}]},{"type":"text","value":", 需要安装 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"PowerLine"}]},{"type":"text","value":" 字体"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可用主题列表: "},{"type":"element","tag":"a","props":{"href":"https://github.com/robbyrussell/oh-my-zsh/wiki/Themes","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/robbyrussell/oh-my-zsh/wiki/Themes"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"搜索 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"plugins="}]},{"type":"text","value":" 增改弃用的插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可用插件列表: "},{"type":"element","tag":"a","props":{"href":"https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置-iterm-主题"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-iterm-%E4%B8%BB%E9%A2%98","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 iTerm 主题"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"iterm","src":"/basic/source/iterm.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下载安装: "},{"type":"element","tag":"a","props":{"href":"https://www.iterm2.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.iterm2.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"推荐使用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Solarized"}]},{"type":"text","value":", 下载地址: "},{"type":"element","tag":"a","props":{"href":"http://ethanschoonover.com/solarized/files/solarized.zip","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://ethanschoonover.com/solarized/files/solarized.zip"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"解压后"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"iterm2-colors-solarized"}]},{"type":"text","value":"目录下,双击即可安装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装完成后 在 iTerm 的 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Preference (左上角苹果按钮旁边点Sublime Text) -> Profiles 顶部大选项卡 -> Colors 偏右小选项卡 -> Load Presets 底部下拉菜单"}]},{"type":"text","value":" 启用主题"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置-hyper-主题和插件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-hyper-%E4%B8%BB%E9%A2%98%E5%92%8C%E6%8F%92%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 Hyper 主题和插件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"直接修改 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"~/.hyper.js"}]},{"type":"text","value":" 即可."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"推荐插件:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'hyperpower'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'hyper-blink'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n## 安装 OhMyZsh\n\n安装:\n\n```bash\nsh -c \"$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)\"\n```\n\n## 为所有用户安装 OhMyZsh\n\n首先要确认 zsh 已经安装(Ubuntu):\n\n```\nsudo apt-get install zsh\n```\n\n1.以`Root`用户安装\n\n```bash\nsh -c \"$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)\"\n```\n\n2.修改`/etc/adduser.conf`\n\n```bash\nDSHELL=/bin/bash #也可能是 sh\n```\n\n为:\n\n```bash\nDSHELL=/bin/zsh\n```\n\n3.修改`/etc/default/useradd`\n\n```bash\nSHELL=/bin/sh\n```\n\n为:\n\n```bash\nSHELL=/bin/zsh\n```\n\n4.复制配置到新用户目录\n\n```\ncp -r .oh-my-zsh /etc/skel/\ncp .zshrc /etc/skel\n```\n\n5.新建用户后,修改用户目录下的 `/home/username/.zshrc`\n\n```\nexport ZSH=/root/.oh-my-zsh\n```\n\n为:\n\n```\nexport ZSH=/home/username/.oh-my-zsh\n```\n\n\n\n## 配置 OhMyZsh 主题和插件\n\n配置文件路径:\n\n```\n~/.zshrc\n```\n\n搜索 `ZSH_THEME=` 修改主题,默认主题为 `robbyrussell`, 想要折腾的话,可以试试`agnoster`, 需要安装 `PowerLine` 字体\n\n可用主题列表: \n\n搜索 `plugins=` 增改弃用的插件\n\n可用插件列表: \n\n## 配置 iTerm 主题\n\n![iterm](/basic/source/iterm.png)\n\n下载安装: \n\n推荐使用`Solarized`, 下载地址: \n\n解压后`iterm2-colors-solarized`目录下,双击即可安装\n\n安装完成后 在 iTerm 的 `Preference (左上角苹果按钮旁边点Sublime Text) -> Profiles 顶部大选项卡 -> Colors 偏右小选项卡 -> Load Presets 底部下拉菜单` 启用主题\n\n## 配置 Hyper 主题和插件\n\n直接修改 `~/.hyper.js` 即可.\n\n推荐插件:\n\n```js\nplugins: ['hyperpower', 'hyper-blink'];\n```\n","dir":"/zh/basic/resource","path":"/zh/basic/resource/zsh","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/basic/resource/zsh","meta":{"version":0,"revision":0,"created":1756480738643},"$loki":62},{"slug":"coding-as-building","description":"","title":"像盖房子一样写代码","position":2401,"category":"经验篇-进阶","toc":[{"id":"当我写一个功能模块方法时我在想些什么","depth":2,"text":"当我写一个功能模块方法时,我在想些什么"},{"id":"地基","depth":3,"text":"地基"},{"id":"浇筑","depth":3,"text":"浇筑"},{"id":"主体结构","depth":3,"text":"主体结构"},{"id":"封顶","depth":3,"text":"封顶"},{"id":"当我写一段测试的时候我在想些什么","depth":2,"text":"当我写一段测试的时候,我在想些什么"},{"id":"设计思路","depth":3,"text":"设计思路"},{"id":"当我以测试驱动开发的时候我在想些什么","depth":2,"text":"当我以测试驱动开发的时候,我在想些什么"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"当我写一个功能模块方法时我在想些什么"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%BD%93%E6%88%91%E5%86%99%E4%B8%80%E4%B8%AA%E5%8A%9F%E8%83%BD%E6%A8%A1%E5%9D%97%E6%96%B9%E6%B3%95%E6%97%B6%E6%88%91%E5%9C%A8%E6%83%B3%E4%BA%9B%E4%BB%80%E4%B9%88","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"当我写一个功能模块方法时,我在想些什么"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 无论什么方法,都是这样一个结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"fn"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比如,我要写一个接口,查询组织下的设备列表 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/api/device/list"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"地基"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%9C%B0%E5%9F%BA","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"地基"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"deviceList"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"params"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 传入一些参数"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 返回一个列表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"我需要哪些参数:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户基本信息(主要是用户 id,用户的组织 id)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户对应的组织基本信息(主要是组织 id,组织管理员 id,层级关系,以及权限逻辑)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"输出结果很简单,为一个数组。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"浇筑"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%B5%87%E7%AD%91","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"浇筑"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"第一步分析,存在成功和错误(错误类型先不考虑)两种类型的结果。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 成功"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"deviceList"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"someError"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 返回错误结果"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 成功"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getDevicesByOid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"oid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这是一个大概的设想,没有必要将代码写出来。然后润化该思路,写出第一段框架。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"主体结构"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%B8%BB%E4%BD%93%E7%BB%93%E6%9E%84","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"主体结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先,传入的参数为组织 oid,用户的信息可以通过 session(或其他方式)从内部获得。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"可能的一种思路"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%8F%AF%E8%83%BD%E7%9A%84%E4%B8%80%E7%A7%8D%E6%80%9D%E8%B7%AF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"可能的一种思路"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 成功"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误1:用户未加入组织"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误2:传入参数组织不存在"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误3:用户无组织权限"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 传入参数: 要查询的组织 oid"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 能够通过 session 取到的信息: user"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"deviceList"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 用户信息 ctx.user"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 判断用户是否有组织"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"oid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误1:用户未加入组织"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 如果不传该参数,查询当前用户组织的设备"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" oid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"oid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"oid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"oid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 成功"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getDevicesByOid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"oid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 根据oid查询组织信息"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误2:传入参数组织不存在"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 判断是否有权限"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" checkRights "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"checkUserOrgRights"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"uid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" oid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"text","value":"checkRights"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误3:用户无组织权限"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 成功"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getDevicesByOid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"oid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"推荐的实现方式"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%8E%A8%E8%8D%90%E7%9A%84%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"推荐的实现方式"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 成功"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误1:用户未加入组织"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误2:传入参数组织不存在"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误3:用户无组织权限"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 传入参数: 要查询的组织 oid"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 能够通过 session 取到的信息: user"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"deviceList"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 用户信息 ctx.user"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 判断用户是否有组织"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"oid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误1:用户未加入组织"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 如果不传该参数,查询当前用户组织的设备"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" oid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"oid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"oid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"oid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 为什么这里不用等于判断:如果等于的话,则当时就需要返回出去,这样的话该方法会有两个成功的 return"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 根据oid查询组织信息"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误2:传入参数组织不存在"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 判断是否有权限"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" checkRights "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"checkUserOrgRights"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"uid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" oid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"text","value":"checkRights"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 错误3:用户无组织权限"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 成功"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getDevicesByOid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"oid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"封顶"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%B0%81%E9%A1%B6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"封顶"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"完成其他的业务代码。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"当我写一段测试的时候我在想些什么"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%BD%93%E6%88%91%E5%86%99%E4%B8%80%E6%AE%B5%E6%B5%8B%E8%AF%95%E7%9A%84%E6%97%B6%E5%80%99%E6%88%91%E5%9C%A8%E6%83%B3%E4%BA%9B%E4%BB%80%E4%B9%88","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"当我写一段测试的时候,我在想些什么"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"按照上面推荐方式完成代码后,需要进行代码的测试。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先需要明确业务的流程,理清测试的思路。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"成功"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"错误\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"错误 1:用户未加入组织"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"错误 2:传入参数组织不存在"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"错误 3:用户无组织权限"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"主要有两种设计思路:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"设计思路"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%AE%BE%E8%AE%A1%E6%80%9D%E8%B7%AF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设计思路"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"思路一"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%80%9D%E8%B7%AF%E4%B8%80","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"思路一"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"完成测试用例,覆盖成功的所有情况"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"完成测试用例,覆盖错误 1 的所有情况"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"完成测试用例,覆盖错误 2 的所有情况"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"完成测试用例,覆盖错误 3 的所有情况"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这是传统的单元测试衍生而来的 BDD 测试方式。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里测试用例的个数应该为"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"8"}]},{"type":"text","value":"次:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"成功:\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"1.当前组织的用户有传入组织 oid"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"2.当前组织的用户未传入组织 oid"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"3-5.上级组织,上上级组织,根级组织的管理员用户传入组织 oid"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"6.失败 1:用户未加入组织"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"7.失败 2:传入参数组织不存在"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"8.失败 3:用户无组织权限"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其中,测试 3-5 可以优化为一次测试(即根据所有管理员 uid 的数组比较是否包含当前用户 uid),最终优化后的结果应当为"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"6"}]},{"type":"text","value":"次。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"但由于该思路中不明确用户,所以用户行为无法准确表达,在创建测试数据的时候较为困难,不仔细思考分析,无法优化需要创建多少条测试数据。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"思路二"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%80%9D%E8%B7%AF%E4%BA%8C","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"思路二"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"而实际上 BDD 测试为用户行为测试,可以以几类用户的情形分别进行测试。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"模拟一个用户的数据,覆盖成功和可能错误(有可能无法涵盖到所有错误)的所有情况"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"根据未覆盖的部分,再模拟另一个用户的数据,覆盖成功和可能错误(有可能无法涵盖到所有错误)的所有情况"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以此循环,直至覆盖所有。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户 1(非组织管理员,查询自己的组织)\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"1.成功(未传入组织 oid)(组织 1)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"2.成功(传入组织 oid)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"3.失败 2:传入参数组织不存在"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"4.失败 3:用户无组织权限(组织 2)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户 2(上级某组织管理员)(组织 3)\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"5.成功"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户 3(未加入组织用户)\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"6.失败 1:用户未加入组织"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"非常简洁明了的关系,需要 3 个测试用户,3 个组织(上下级关系进行数据复用,一个无权限的组织),即可涵盖所有范围。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最终优化版设计:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户 1(某组织管理员,有下级组织)\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"1.成功(未传入组织 oid,查询自己的组织)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"2.成功(传入当前的组织 oid(组织 1))"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"3.成功(传入下级的组织 oid(组织 2))"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"4.失败 2:传入参数组织不存在"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"5.失败 3:用户无组织权限"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户 2(未加入组织用户)\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"6.失败 1:用户未加入组织(组织 3)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"两个用户,三个组织。完成所有覆盖。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"当我以测试驱动开发的时候我在想些什么"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%BD%93%E6%88%91%E4%BB%A5%E6%B5%8B%E8%AF%95%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91%E7%9A%84%E6%97%B6%E5%80%99%E6%88%91%E5%9C%A8%E6%83%B3%E4%BA%9B%E4%BB%80%E4%B9%88","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"当我以测试驱动开发的时候,我在想些什么"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以从上述测试思路二中进行反推。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"实际上思路可能是在写代码或者写测试的过程中不断的改进和完善的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"如果已经写好了测试正在写代码,可以及时回过头来调整测试;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"如果功能写好了又再重新测试,可以在测试优化后再去看逻辑代码是否还有优化的空间。"}]},{"type":"text","value":"\n"}]}]},"text":"\n## 当我写一个功能模块方法时,我在想些什么\n\n```js\n// 无论什么方法,都是这样一个结构\nconst fn = () => {};\n```\n\n比如,我要写一个接口,查询组织下的设备列表 `/api/device/list`\n\n### 地基\n\n```js\nconst deviceList = (params) => {\n // 传入一些参数\n return []; // 返回一个列表\n};\n```\n\n我需要哪些参数:\n\n- 用户基本信息(主要是用户 id,用户的组织 id)\n- 用户对应的组织基本信息(主要是组织 id,组织管理员 id,层级关系,以及权限逻辑)\n\n输出结果很简单,为一个数组。\n\n### 浇筑\n\n第一步分析,存在成功和错误(错误类型先不考虑)两种类型的结果。\n\n```js\n// 成功\n// 错误\nconst deviceList = async (ctx) => {\n // 错误\n if (someError) {\n // 返回错误结果\n }\n // 成功\n return getDevicesByOid(oid);\n};\n```\n\n这是一个大概的设想,没有必要将代码写出来。然后润化该思路,写出第一段框架。\n\n\n\n### 主体结构\n\n首先,传入的参数为组织 oid,用户的信息可以通过 session(或其他方式)从内部获得。\n\n#### 可能的一种思路\n\n```js\n// 成功\n// 错误\n// 错误1:用户未加入组织\n// 错误2:传入参数组织不存在\n// 错误3:用户无组织权限\n\n// 传入参数: 要查询的组织 oid\n// 能够通过 session 取到的信息: user\nconst deviceList = async (ctx) => {\n // 用户信息 ctx.user\n // 判断用户是否有组织\n if (ctx.user.oid === 0) {\n // 错误1:用户未加入组织\n }\n\n // 如果不传该参数,查询当前用户组织的设备\n const { oid = ctx.user.oid } = ctx.request.body;\n if (oid === ctx.user.oid) {\n // 成功\n return getDevicesByOid(oid);\n }\n\n // 根据oid查询组织信息\n // 错误2:传入参数组织不存在\n // 判断是否有权限\n const checkRights = await checkUserOrgRights(ctx.user.uid, oid);\n if (!checkRights) {\n // 错误3:用户无组织权限\n }\n // 成功\n return getDevicesByOid(oid);\n};\n```\n\n#### 推荐的实现方式\n\n```js\n// 成功\n// 错误\n// 错误1:用户未加入组织\n// 错误2:传入参数组织不存在\n// 错误3:用户无组织权限\n\n// 传入参数: 要查询的组织 oid\n// 能够通过 session 取到的信息: user\nconst deviceList = async (ctx) => {\n // 用户信息 ctx.user\n // 判断用户是否有组织\n if (ctx.user.oid === 0) {\n // 错误1:用户未加入组织\n }\n\n // 如果不传该参数,查询当前用户组织的设备\n const { oid = ctx.user.oid } = ctx.request.body;\n if (oid !== ctx.user.oid) {\n // 为什么这里不用等于判断:如果等于的话,则当时就需要返回出去,这样的话该方法会有两个成功的 return\n // 根据oid查询组织信息\n // 错误2:传入参数组织不存在\n // 判断是否有权限\n const checkRights = await checkUserOrgRights(ctx.user.uid, oid);\n if (!checkRights) {\n // 错误3:用户无组织权限\n }\n }\n // 成功\n return getDevicesByOid(oid);\n};\n```\n\n### 封顶\n\n完成其他的业务代码。\n\n## 当我写一段测试的时候,我在想些什么\n\n按照上面推荐方式完成代码后,需要进行代码的测试。\n\n首先需要明确业务的流程,理清测试的思路。\n\n- 成功\n- 错误\n - 错误 1:用户未加入组织\n - 错误 2:传入参数组织不存在\n - 错误 3:用户无组织权限\n\n主要有两种设计思路:\n\n### 设计思路\n\n#### 思路一\n\n1. 完成测试用例,覆盖成功的所有情况\n2. 完成测试用例,覆盖错误 1 的所有情况\n3. 完成测试用例,覆盖错误 2 的所有情况\n4. 完成测试用例,覆盖错误 3 的所有情况\n\n这是传统的单元测试衍生而来的 BDD 测试方式。\n\n这里测试用例的个数应该为`8`次:\n\n- 成功:\n - 1.当前组织的用户有传入组织 oid\n - 2.当前组织的用户未传入组织 oid\n - 3-5.上级组织,上上级组织,根级组织的管理员用户传入组织 oid\n- 6.失败 1:用户未加入组织\n- 7.失败 2:传入参数组织不存在\n- 8.失败 3:用户无组织权限\n\n其中,测试 3-5 可以优化为一次测试(即根据所有管理员 uid 的数组比较是否包含当前用户 uid),最终优化后的结果应当为`6`次。\n\n但由于该思路中不明确用户,所以用户行为无法准确表达,在创建测试数据的时候较为困难,不仔细思考分析,无法优化需要创建多少条测试数据。\n\n#### 思路二\n\n而实际上 BDD 测试为用户行为测试,可以以几类用户的情形分别进行测试。\n\n1. 模拟一个用户的数据,覆盖成功和可能错误(有可能无法涵盖到所有错误)的所有情况\n2. 根据未覆盖的部分,再模拟另一个用户的数据,覆盖成功和可能错误(有可能无法涵盖到所有错误)的所有情况\n\n以此循环,直至覆盖所有。\n\n- 用户 1(非组织管理员,查询自己的组织)\n - 1.成功(未传入组织 oid)(组织 1)\n - 2.成功(传入组织 oid)\n - 3.失败 2:传入参数组织不存在\n - 4.失败 3:用户无组织权限(组织 2)\n- 用户 2(上级某组织管理员)(组织 3)\n - 5.成功\n- 用户 3(未加入组织用户)\n - 6.失败 1:用户未加入组织\n\n非常简洁明了的关系,需要 3 个测试用户,3 个组织(上下级关系进行数据复用,一个无权限的组织),即可涵盖所有范围。\n\n最终优化版设计:\n\n- 用户 1(某组织管理员,有下级组织)\n - 1.成功(未传入组织 oid,查询自己的组织)\n - 2.成功(传入当前的组织 oid(组织 1))\n - 3.成功(传入下级的组织 oid(组织 2))\n - 4.失败 2:传入参数组织不存在\n - 5.失败 3:用户无组织权限\n- 用户 2(未加入组织用户)\n - 6.失败 1:用户未加入组织(组织 3)\n\n两个用户,三个组织。完成所有覆盖。\n\n## 当我以测试驱动开发的时候,我在想些什么\n\n可以从上述测试思路二中进行反推。\n\n实际上思路可能是在写代码或者写测试的过程中不断的改进和完善的。\n\n- 如果已经写好了测试正在写代码,可以及时回过头来调整测试;\n- 如果功能写好了又再重新测试,可以在测试优化后再去看逻辑代码是否还有优化的空间。\n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/coding-as-building","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/experience/advanced/coding-as-building","meta":{"version":0,"revision":0,"created":1756480738655},"$loki":63},{"slug":"desktop-app","description":"","title":"Electron 桌面应用","position":2404,"category":"经验篇-进阶","toc":[{"id":"初始化项目","depth":2,"text":"初始化项目"},{"id":"配置-vue2--webpack2","depth":2,"text":"配置 Vue2 + Webpack2"},{"id":"坑-1-extract-text-webpack-plugin","depth":3,"text":"坑 1: extract-text-webpack-plugin"},{"id":"坑-2babel-plugin-transform-runtime-与-extract-text-webpack-plugin-插件有冲突","depth":3,"text":"坑 2:babel-plugin-transform-runtime 与 extract-text-webpack-plugin 插件有冲突"},{"id":"坑-3postcss-loader-与-extract-text-webpack-plugin-插件有冲突","depth":3,"text":"坑 3:postcss-loader 与 extract-text-webpack-plugin 插件有冲突"},{"id":"坑-4在-vue-中使用-electron","depth":3,"text":"坑 4:在 Vue 中使用 Electron"},{"id":"electron-配置","depth":2,"text":"Electron 配置"},{"id":"设置-app-开机自启","depth":3,"text":"设置 App 开机自启"},{"id":"添加-electron-vue-devtools","depth":3,"text":"添加 Electron Vue DevTools"},{"id":"设计核心模块","depth":2,"text":"设计核心模块"},{"id":"i18n","depth":3,"text":"i18n"},{"id":"hostsjs-分级列表","depth":3,"text":"Hosts.js 分级列表"},{"id":"排序算法","depth":3,"text":"排序算法"},{"id":"删除元素算法","depth":3,"text":"删除元素算法"},{"id":"添加元素算法","depth":3,"text":"添加元素算法"},{"id":"位置调整算法","depth":3,"text":"位置调整算法"},{"id":"优化","depth":3,"text":"优化"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本章节以 Mac OS X 下 Hosts 文件管理 App 为例。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"技术栈包含:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Electron (仅 OS X 平台)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Webpack 2"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Vue 2"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Vuex"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Vue-Router"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Vue-Material (UI 组件)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Babel"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"ESLint"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Yarn(包管理)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"初始化项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"初始化项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"安装所需的各种 NPM 包。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"引入 ESLint、Babel 配置文件。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置-vue2--webpack2"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-vue2--webpack2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 Vue2 + Webpack2"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"需要注意"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Webpack"}]},{"type":"text","value":" 2.x.x 版本与 1.x.x 版本发生了不少改动。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以参考迁移文档: "},{"type":"element","tag":"a","props":{"href":"https://webpack.js.org/guides/migrating/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://webpack.js.org/guides/migrating/"}]},{"type":"text","value":" 进行学习。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"坑-1-extract-text-webpack-plugin"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9D%91-1-extract-text-webpack-plugin","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"坑 1: extract-text-webpack-plugin"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"该插件 NPM 最新版本为 1.0.1,不支持 Webpack2,所以需要通过安装 RC3 版本来获得对应支持。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"yarn add --dev extract-text-webpack-plugin@2.0.0-rc3\n或\nnpm i --save-dev extract-text-webpack-plugin@2.0.0-rc3\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"坑-2babel-plugin-transform-runtime-与-extract-text-webpack-plugin-插件有冲突"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9D%91-2babel-plugin-transform-runtime-%E4%B8%8E-extract-text-webpack-plugin-%E6%8F%92%E4%BB%B6%E6%9C%89%E5%86%B2%E7%AA%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"坑 2:babel-plugin-transform-runtime 与 extract-text-webpack-plugin 插件有冲突"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"会导致 extract-text 插件报错崩溃。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"解决方法,修改 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".babelrc"}]},{"type":"text","value":":"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-json"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"presets\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"latest\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"plugins\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"transform-runtime\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"helpers\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"polyfill\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"regenerator\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"compact\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其中 设置"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"compact"}]},{"type":"text","value":"属性还能阻止 500kb 限制的警告。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"坑-3postcss-loader-与-extract-text-webpack-plugin-插件有冲突"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9D%91-3postcss-loader-%E4%B8%8E-extract-text-webpack-plugin-%E6%8F%92%E4%BB%B6%E6%9C%89%E5%86%B2%E7%AA%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"坑 3:postcss-loader 与 extract-text-webpack-plugin 插件有冲突"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"目前无解,去掉了"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"postcss-loader"}]},{"type":"text","value":"的使用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下一阶段尝试。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"坑-4在-vue-中使用-electron"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9D%91-4%E5%9C%A8-vue-%E4%B8%AD%E4%BD%BF%E7%94%A8-electron","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"坑 4:在 Vue 中使用 Electron"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先,需要在 webpack config 中设置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-yaml"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","key","atrule"]},"children":[{"type":"text","value":"target"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'electron'"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"向 Electron 注册插件:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Vue"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'vue'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"text","value":"electron"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'electron'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Vue"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"install"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n vue"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"prototype"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"$electron"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" electron"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前端向 IPC 发送消息:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"$electron"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"ipcRenderer"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'resizePreferencesWindow'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"width"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"400"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"height"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"300"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"electron-配置"},"children":[{"type":"element","tag":"a","props":{"href":"#electron-%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Electron 配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"设置-app-开机自启"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%AE%BE%E7%BD%AE-app-%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设置 App 开机自启"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用插件:"},{"type":"element","tag":"a","props":{"href":"https://github.com/Teamwork/node-auto-launch","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/Teamwork/node-auto-launch"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"AutoLaunch"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'auto-launch'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" hostsAutoLauncher "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"AutoLaunch"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Hosts.js'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/Applications/Hosts.js.app'"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nexports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"isEnabled"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" hostsAutoLauncher"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"isEnabled"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nexports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"enable"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n hostsAutoLauncher"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"enable"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nexports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"disable"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n hostsAutoLauncher"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"disable"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"添加-electron-vue-devtools"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B7%BB%E5%8A%A0-electron-vue-devtools","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"添加 Electron Vue DevTools"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以直接通过插件实现,地址:"},{"type":"element","tag":"a","props":{"href":"https://github.com/MarshallOfSound/electron-devtools-installer","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/MarshallOfSound/electron-devtools-installer"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"devtools.js:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" installExtension"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"VUEJS_DEVTOOLS"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'electron-devtools-installer'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"installExtension"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"VUEJS_DEVTOOLS"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"窗口加载:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"NODE_ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'development'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 开发模式加载 devtools"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" devtools "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../lib/devtools'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n devtools"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 注意调用方式"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"preferencesWindow"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"loadURL"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'http://localhost:3000/build/app.html'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"preferencesWindow"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"loadURL"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"file://"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"join"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../../build/app.html'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"设计核心模块"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%AE%BE%E8%AE%A1%E6%A0%B8%E5%BF%83%E6%A8%A1%E5%9D%97","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设计核心模块"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"i18n"},"children":[{"type":"element","tag":"a","props":{"href":"#i18n","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"i18n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"国际化支持,没有什么难度,根据语言参数找到对应的翻译文件,配置默认语言(英文):"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" readdirSync "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'fs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" locales "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"readdirSync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/*\n try `zh-CN` first\n then `zh`\n or otherwise `default`\n */"}]},{"type":"text","value":"\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"lang "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" locale "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" locales"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"filter"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"indexOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"lang"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* eslint import/no-dynamic-require:0,global-require:0 */"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"locale "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","nil"]},"children":[{"type":"text","value":"undefined"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" file "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"./"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"locale"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" file"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" langPrefix "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" lang"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"split"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'-'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n locale "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" locales"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"filter"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"indexOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"langPrefix"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"locale "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","nil"]},"children":[{"type":"text","value":"undefined"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" file "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"./"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"locale"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" file"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" file "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" file"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"目录结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".\n├── default.js\n├── index.js\n└── zh-CN.js\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如有其它语言,添加对应语言文件即可。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"hostsjs-分级列表"},"children":[{"type":"element","tag":"a","props":{"href":"#hostsjs-%E5%88%86%E7%BA%A7%E5%88%97%E8%A1%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Hosts.js 分级列表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Hosts.js 项目源码: "},{"type":"element","tag":"a","props":{"href":"https://github.com/js-cool/Hosts.js","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/js-cool/Hosts.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"特点:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"支持顶级项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"支持二级目录项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"目录不含有启动状态,目录下的子项目有"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"支持排序"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"order"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"enabled"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"namename"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Folder'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"order"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxx1'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'folder'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Sub Item 2'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"order"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxs2'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"enabled"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Sub Item 1'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"order"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxs1'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"enabled"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Sub Item 4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"order"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxs4'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"enabled"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Sub Item 3'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"order"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxs3'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"enabled"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"排序算法"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"排序算法"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"对顶级项目进行排序"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"对子菜单项目进行排序"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"reorderItems"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"arr"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":"\n arr\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"sort"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" y"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" y"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" iIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" iIndex "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"type"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'folder'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"sort"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" y"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" y"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"j"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" jIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n j"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" jIndex "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" j"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"删除元素算法"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%A0%E9%99%A4%E5%85%83%E7%B4%A0%E7%AE%97%E6%B3%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"删除元素算法"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"默认项禁止删除"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"编程过程中的异常捕获,实际操作中不会发生"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"子菜单超过两个项目禁止删除"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" deleteItem "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 子菜单超过两个项目禁止删除"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"typeof"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'object'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"splice"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reorderItems"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"deleteItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reorderItems"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"添加元素算法"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B7%BB%E5%8A%A0%E5%85%83%E7%B4%A0%E7%AE%97%E6%B3%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"添加元素算法"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"不能建立二级目录"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"编程过程中的异常捕获,实际操作中不会发生"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" uuid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'uuid'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" insertItem "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" type "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"type "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'folder'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" item "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n type"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"order"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" uuid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"v4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"type "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"enabled"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"push"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"push"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reorderItems"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"位置调整算法"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BD%8D%E7%BD%AE%E8%B0%83%E6%95%B4%E7%AE%97%E6%B3%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"位置调整算法"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Default 不能移动"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"编程过程中的异常捕获,实际操作中不会发生"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"上移"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%B8%8A%E7%A7%BB","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"上移"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" moveUpItem "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arrOrigin"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arrOrigin"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" arr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reorderItems"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arrOrigin"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"moveUpItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reorderItems"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"下移"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%B8%8B%E7%A7%BB","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"下移"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" moveDownItem "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arrOrigin"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arrOrigin"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" arr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reorderItems"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arrOrigin"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"moveUpItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reorderItems"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"新增了重命名和切换启用状态的两个方法,不再展开。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"优化"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BC%98%E5%8C%96","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"优化"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"以 class 形式封装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"抛出简单的外部接口"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* eslint class-methods-use-this: [2, { \"exceptMethods\": [\"_deleteItem\",\"_moveUpItem\",\"_moveDownItem\"] }] */"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" existsSync"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" mkdirSync"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" writeFileSync"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" readFileSync "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'fs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"text","value":"uuid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'uuid'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"text","value":"locales"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../locales'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"class"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Category"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"constructor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"lang"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"locale"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"locales"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"lang"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"DIR_PATH"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"HOME"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"/.hosts.js"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"FILE_PATH"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"DIR_PATH"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"/.category.js"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"init"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"init"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" defaultData "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"locale"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"order"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"enabled"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"existsSync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"DIR_PATH"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"mkdirSync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"DIR_PATH"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"existsSync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"FILE_PATH"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" defaultData"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"readFileSync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"FILE_PATH"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'utf-8'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"try"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"e"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" defaultData"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reorder"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"sort"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" y"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" y"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" iIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" iIndex "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"type"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'folder'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"sort"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" y"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" y"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"j"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" jIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n j"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" jIndex "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" j"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" i"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"_deleteItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 子菜单超过两个项目禁止删除"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"typeof"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'object'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"splice"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"_moveUpItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"_moveDownItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"delete"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"_deleteItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"_deleteItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reorder"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"insert"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" type "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'folder'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"indexOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"type"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"type "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'folder'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" item "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n type"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"id"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" uuid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"v4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"type "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'item'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"enabled"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"push"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"order"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"push"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reorder"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"moveUp"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"_moveUpItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reorder"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"_moveUpItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reorder"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"moveDown"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"_moveDownItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reorder"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"_moveDownItem"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reorder"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"rename"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"name"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" indexChildren "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"indexChildren "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"indexChildren"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"name"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reorder"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"toggle"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"id "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"pid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Reflect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"has"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'enabled'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"enabled"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"enabled"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" pid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"index "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" indexChildren "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findIndex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" id"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 异常捕获"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"indexChildren "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"indexChildren"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"enabled"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"index"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"children"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"indexChildren"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"enabled"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"reload"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"save"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"writeFileSync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"FILE_PATH"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","null","nil"]},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"该文件源码如有更新,在: "},{"type":"element","tag":"a","props":{"href":"https://github.com/js-cool/Hosts.js/blob/master/src/lib/category.js","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/js-cool/Hosts.js/blob/master/src/lib/category.js"}]},{"type":"text","value":" 上查看。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"demo"},"children":[{"type":"element","tag":"a","props":{"href":"#demo","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Demo"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Category"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./category'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" categories "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Category"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 增加目录:"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"insert"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'目录名称'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'folder'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 增加项目:"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"insert"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目名称'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"insert"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目名称'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'目录 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 删除项目:"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"delete"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'根目录项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"delete"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'目录 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 向上移动"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"moveUp"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'根目录项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"moveUp"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'目录 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 向下移动"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"moveDown"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'根目录项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"moveDown"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'目录 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 重命名"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"rename"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目名称'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'根目录项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"rename"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目名称'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'目录 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 切换启用状态"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"toggle"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'根目录项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"toggle"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'项目 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'目录 id'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 保存更改到配置文件"}]},{"type":"text","value":"\ncategories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"save"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 获取最新的列表数据"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" categories"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reload"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","null","nil"]},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n本章节以 Mac OS X 下 Hosts 文件管理 App 为例。\n\n技术栈包含:\n\n- Electron (仅 OS X 平台)\n- Webpack 2\n- Vue 2\n- Vuex\n- Vue-Router\n- Vue-Material (UI 组件)\n- Babel\n- ESLint\n- Yarn(包管理)\n\n## 初始化项目\n\n- 安装所需的各种 NPM 包。\n- 引入 ESLint、Babel 配置文件。\n\n## 配置 Vue2 + Webpack2\n\n需要注意`Webpack` 2.x.x 版本与 1.x.x 版本发生了不少改动。\n\n可以参考迁移文档: 进行学习。\n\n### 坑 1: extract-text-webpack-plugin\n\n该插件 NPM 最新版本为 1.0.1,不支持 Webpack2,所以需要通过安装 RC3 版本来获得对应支持。\n\n```\nyarn add --dev extract-text-webpack-plugin@2.0.0-rc3\n或\nnpm i --save-dev extract-text-webpack-plugin@2.0.0-rc3\n```\n\n### 坑 2:babel-plugin-transform-runtime 与 extract-text-webpack-plugin 插件有冲突\n\n会导致 extract-text 插件报错崩溃。\n\n解决方法,修改 `.babelrc`:\n\n```json\n{\n \"presets\": [\"latest\"],\n \"plugins\": [\n [\n \"transform-runtime\",\n {\n \"helpers\": false,\n \"polyfill\": false,\n \"regenerator\": true\n }\n ]\n ],\n \"compact\": true\n}\n```\n\n其中 设置`compact`属性还能阻止 500kb 限制的警告。\n\n### 坑 3:postcss-loader 与 extract-text-webpack-plugin 插件有冲突\n\n目前无解,去掉了`postcss-loader`的使用。\n\n下一阶段尝试。\n\n### 坑 4:在 Vue 中使用 Electron\n\n首先,需要在 webpack config 中设置:\n\n```yaml\ntarget: 'electron'\n```\n\n向 Electron 注册插件:\n\n```js\nimport Vue from 'vue';\nimport electron from 'electron';\n\nVue.use({\n install: (vue) => {\n vue.prototype.$electron = electron;\n }\n});\n```\n\n前端向 IPC 发送消息:\n\n```js\nthis.$electron.ipcRenderer.send('resizePreferencesWindow', { width: 400, height: 300 });\n```\n\n\n\n## Electron 配置\n\n### 设置 App 开机自启\n\n使用插件:\n\n```js\nimport AutoLaunch from 'auto-launch';\n\nconst hostsAutoLauncher = new AutoLaunch({\n name: 'Hosts.js',\n path: '/Applications/Hosts.js.app'\n});\n\nexports.isEnabled = async () => {\n const result = await hostsAutoLauncher.isEnabled();\n return result;\n};\n\nexports.enable = () => {\n hostsAutoLauncher.enable();\n};\n\nexports.disable = () => {\n hostsAutoLauncher.disable();\n};\n```\n\n### 添加 Electron Vue DevTools\n\n可以直接通过插件实现,地址:\n\ndevtools.js:\n\n```js\nimport installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer';\n\nmodule.exports = installExtension(VUEJS_DEVTOOLS);\n```\n\n窗口加载:\n\n```js\nif (process.env.NODE_ENV === 'development') {\n // 开发模式加载 devtools\n const devtools = require('../lib/devtools');\n devtools.then(() => {\n // 注意调用方式\n this.preferencesWindow.loadURL('http://localhost:3000/build/app.html');\n });\n} else {\n this.preferencesWindow.loadURL(`file://${path.join(__dirname, '../../build/app.html')}`);\n}\n```\n\n## 设计核心模块\n\n### i18n\n\n国际化支持,没有什么难度,根据语言参数找到对应的翻译文件,配置默认语言(英文):\n\n```js\nimport { readdirSync } from 'fs';\n\nconst locales = readdirSync(__dirname);\n\n/*\n try `zh-CN` first\n then `zh`\n or otherwise `default`\n */\nmodule.exports = (lang = 'default') => {\n let locale = locales.filter((x) => x.indexOf(lang) !== -1)[0];\n /* eslint import/no-dynamic-require:0,global-require:0 */\n if (locale !== undefined) {\n const file = require(`./${locale}`);\n return file;\n }\n const langPrefix = lang.split('-')[0];\n locale = locales.filter((x) => x.indexOf(langPrefix) !== -1)[0];\n if (locale !== undefined) {\n const file = require(`./${locale}`);\n return file;\n }\n const file = require('./default');\n return file;\n};\n```\n\n目录结构\n\n```\n.\n├── default.js\n├── index.js\n└── zh-CN.js\n```\n\n如有其它语言,添加对应语言文件即可。\n\n### Hosts.js 分级列表\n\nHosts.js 项目源码: \n\n特点:\n\n- 支持顶级项目\n- 支持二级目录项目\n- 目录不含有启动状态,目录下的子项目有\n- 支持排序\n\n```js\n[\n {\n name: 'Default',\n order: 2,\n id: 'default',\n type: 'item',\n enabled: true\n },\n {\n namename: 'Folder',\n order: 1,\n id: 'xxx1',\n type: 'folder',\n children: [\n {\n name: 'Sub Item 2',\n order: 2,\n id: 'xxxs2',\n type: 'item',\n enabled: false\n },\n {\n name: 'Sub Item 1',\n order: 1,\n id: 'xxxs1',\n type: 'item',\n enabled: true\n },\n {\n name: 'Sub Item 4',\n order: 4,\n id: 'xxxs4',\n type: 'item',\n enabled: true\n },\n {\n name: 'Sub Item 3',\n order: 3,\n id: 'xxxs3',\n type: 'item',\n enabled: true\n }\n ]\n }\n];\n```\n\n### 排序算法\n\n1. 对顶级项目进行排序\n2. 对子菜单项目进行排序\n\n```js\nconst reorderItems = (arr) =>\n arr\n .sort((x, y) => (x.order - y.order > 0 ? 1 : -1))\n .map((i, iIndex) => {\n i.order = iIndex + 1;\n if (i.type === 'folder') {\n i.children = i.children\n .sort((x, y) => (x.order - y.order > 0 ? 1 : -1))\n .map((j, jIndex) => {\n j.order = jIndex + 1;\n return j;\n });\n }\n return i;\n });\n```\n\n### 删除元素算法\n\n1. 默认项禁止删除\n2. 编程过程中的异常捕获,实际操作中不会发生\n3. 子菜单超过两个项目禁止删除\n\n```js\nconst deleteItem = (arr, id, pid = '') => {\n if (id === 'default') return false;\n let index;\n if (pid === '') {\n index = arr.findIndex((x) => x.id === id);\n // 异常捕获\n if (index === -1) return false;\n // 子菜单超过两个项目禁止删除\n if (typeof arr[index].children === 'object' && arr[index].children.length > 1) return false;\n arr.splice(index, 1);\n return reorderItems(arr);\n }\n index = arr.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n arr[index].children = deleteItem(arr[index].children, id);\n return reorderItems(arr);\n};\n```\n\n### 添加元素算法\n\n1. 不能建立二级目录\n2. 编程过程中的异常捕获,实际操作中不会发生\n\n```js\nconst uuid = require('uuid');\nconst insertItem = (arr, name, pid = '', type = 'item') => {\n if (type === 'folder' && pid !== '') return false;\n const item = {\n name,\n type,\n order: -1,\n id: uuid.v4()\n };\n if (type === 'item') {\n item.enabled = false;\n } else {\n item.children = [];\n }\n if (pid === '') {\n item.order = arr.length;\n arr.push(item);\n } else {\n const index = arr.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n item.order = arr[index].length;\n arr[index].children.push(item);\n }\n return reorderItems(arr);\n};\n```\n\n### 位置调整算法\n\n1. Default 不能移动\n2. 编程过程中的异常捕获,实际操作中不会发生\n\n#### 上移\n\n```js\nconst moveUpItem = (arrOrigin, id, pid = '') => {\n if (id === 'default') return arrOrigin;\n const arr = reorderItems(arrOrigin);\n let index;\n if (pid === '') {\n index = arr.findIndex((x) => x.id === id);\n if (index === -1) return false;\n if (index - 1 === -1) return arr;\n arr[index].order -= 1;\n arr[index - 1].order += 1;\n return arr;\n }\n index = arr.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n arr[index].children = moveUpItem(arr[index].children, id);\n return reorderItems(arr);\n};\n```\n\n#### 下移\n\n```js\nconst moveDownItem = (arrOrigin, id, pid = '') => {\n if (id === 'default') return arrOrigin;\n const arr = reorderItems(arrOrigin);\n let index;\n if (pid === '') {\n index = arr.findIndex((x) => x.id === id);\n if (index === -1) return false;\n if (index + 1 === arr.length) return arr;\n arr[index].order += 1;\n arr[index + 1].order -= 1;\n return arr;\n }\n index = arr.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n arr[index].children = moveUpItem(arr[index].children, id);\n return reorderItems(arr);\n};\n```\n\n新增了重命名和切换启用状态的两个方法,不再展开。\n\n### 优化\n\n- 以 class 形式封装\n- 抛出简单的外部接口\n\n```js\n/* eslint class-methods-use-this: [2, { \"exceptMethods\": [\"_deleteItem\",\"_moveUpItem\",\"_moveDownItem\"] }] */\n\nimport { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';\nimport uuid from 'uuid';\nimport locales from '../locales';\n\nmodule.exports = class Category {\n constructor(lang) {\n this.locale = locales(lang);\n this.DIR_PATH = `${process.env.HOME}/.hosts.js`;\n this.FILE_PATH = `${this.DIR_PATH}/.category.js`;\n this.init();\n }\n\n init() {\n const defaultData = [\n {\n name: this.locale.default,\n order: 1,\n id: 'default',\n type: 'item',\n enabled: true\n }\n ];\n if (!existsSync(this.DIR_PATH)) {\n mkdirSync(this.DIR_PATH);\n }\n if (!existsSync(this.FILE_PATH)) {\n this.data = defaultData;\n } else {\n const data = readFileSync(this.FILE_PATH, 'utf-8');\n try {\n this.data = JSON.parse(data);\n } catch (e) {\n this.data = defaultData;\n }\n }\n }\n\n reorder() {\n this.data = this.data\n .sort((x, y) => (x.order - y.order > 0 ? 1 : -1))\n .map((i, iIndex) => {\n i.order = iIndex + 1;\n if (i.type === 'folder') {\n i.children = i.children\n .sort((x, y) => (x.order - y.order > 0 ? 1 : -1))\n .map((j, jIndex) => {\n j.order = jIndex + 1;\n return j;\n });\n }\n\n return i;\n });\n return true;\n }\n\n _deleteItem(arr, id) {\n const index = arr.findIndex((x) => x.id === id);\n // 异常捕获\n if (index === -1) return false;\n // 子菜单超过两个项目禁止删除\n if (typeof arr[index].children === 'object' && arr[index].children.length > 1) return false;\n arr.splice(index, 1);\n return arr;\n }\n\n _moveUpItem(arr, id) {\n const index = arr.findIndex((x) => x.id === id);\n if (index === -1) return false;\n if (index - 1 === -1) return false;\n arr[index].order -= 1;\n arr[index - 1].order += 1;\n return arr;\n }\n\n _moveDownItem(arr, id) {\n const index = arr.findIndex((x) => x.id === id);\n if (index === -1) return false;\n if (index + 1 === arr.length) return false;\n arr[index].order += 1;\n arr[index + 1].order -= 1;\n return arr;\n }\n\n delete(id, pid = '') {\n if (pid === '') {\n const data = this._deleteItem(this.data, id);\n if (data === false) return false;\n this.data = data;\n } else {\n const index = this.data.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n const data = this._deleteItem(this.data[index].children, id);\n if (data === false) return false;\n this.data[index].children = data;\n }\n return this.reorder();\n }\n\n insert(name, pid = '', type = 'item') {\n if (['item', 'folder'].indexOf(type) === -1) return false;\n if (type === 'folder' && pid !== '') return false;\n const item = {\n name,\n type,\n id: uuid.v4()\n };\n if (type === 'item') {\n item.enabled = false;\n } else {\n item.children = [];\n }\n if (pid === '') {\n item.order = this.data.length + 1;\n this.data.push(item);\n } else {\n const index = this.data.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n item.order = this.data[index].children.length + 1;\n this.data[index].children.push(item);\n }\n return this.reorder();\n }\n\n moveUp(id, pid = '') {\n if (id === 'default') return false;\n let index;\n if (pid === '') {\n index = this.data.findIndex((x) => x.id === id);\n if (index === 1 || index === -1) return false;\n const data = this._moveUpItem(this.data, id);\n if (data === false) return false;\n this.data = data;\n return this.reorder();\n }\n index = this.data.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n const data = this._moveUpItem(this.data[index].children, id);\n if (data === false) return false;\n this.data[index].children = data;\n return this.reorder();\n }\n\n moveDown(id, pid = '') {\n if (id === 'default') return false;\n if (pid === '') {\n const data = this._moveDownItem(this.data, id);\n if (data === false) return false;\n this.data = data;\n return this.reorder();\n }\n const index = this.data.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n const data = this._moveDownItem(this.data[index].children, id);\n if (data === false) return false;\n this.data[index].children = data;\n return this.reorder();\n }\n\n rename(name, id, pid = '') {\n if (pid === '') {\n const index = this.data.findIndex((x) => x.id === id);\n // 异常捕获\n if (index === -1) return false;\n this.data[index].name = name;\n } else {\n const index = this.data.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n const indexChildren = this.data[index].children.findIndex((x) => x.id === id);\n // 异常捕获\n if (indexChildren === -1) return false;\n this.data[index].children[indexChildren].name = name;\n }\n return this.reorder();\n }\n\n toggle(id, pid = '') {\n if (id === 'default') return false;\n if (pid === '') {\n const index = this.data.findIndex((x) => x.id === id);\n // 异常捕获\n if (index === -1 || !Reflect.has(this.data[index], 'enabled')) return false;\n this.data[index].enabled = !this.data[index].enabled;\n } else {\n const index = this.data.findIndex((x) => x.id === pid);\n // 异常捕获\n if (index === -1) return false;\n const indexChildren = this.data[index].children.findIndex((x) => x.id === id);\n // 异常捕获\n if (indexChildren === -1) return false;\n this.data[index].children[indexChildren].enabled = !this.data[index].children[indexChildren].enabled;\n }\n return true;\n }\n\n reload() {\n return this.data;\n }\n\n save() {\n writeFileSync(this.FILE_PATH, JSON.stringify(this.data, null, 2));\n return true;\n }\n};\n```\n\n该文件源码如有更新,在: 上查看。\n\n#### Demo\n\n```js\nimport Category from './category';\n\nconst categories = new Category();\n\n// 增加目录:\ncategories.insert('目录名称', '', 'folder');\n\n// 增加项目:\ncategories.insert('项目名称');\ncategories.insert('项目名称', '目录 id');\n\n// 删除项目:\ncategories.delete('根目录项目 id');\ncategories.delete('项目 id', '目录 id');\n\n// 向上移动\ncategories.moveUp('根目录项目 id');\ncategories.moveUp('项目 id', '目录 id');\n\n// 向下移动\ncategories.moveDown('根目录项目 id');\ncategories.moveDown('项目 id', '目录 id');\n\n// 重命名\ncategories.rename('项目名称', '根目录项目 id');\ncategories.rename('项目名称', '项目 id', '目录 id');\n\n// 切换启用状态\ncategories.toggle('根目录项目 id');\ncategories.toggle('项目 id', '目录 id');\n\n// 保存更改到配置文件\ncategories.save();\n\n// 获取最新的列表数据\nconst data = categories.reload();\n\nconsole.log(JSON.stringify(data, null, 2));\n```\n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/desktop-app","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/experience/advanced/desktop-app","meta":{"version":0,"revision":0,"created":1756480738709},"$loki":64},{"slug":"meta","description":"","title":"元编程构造简单优雅解决方案","menuTitle":"元编程构造优雅解决方案","position":2403,"category":"经验篇-进阶","toc":[{"id":"api-接口-sdk-封装","depth":2,"text":"API 接口 SDK 封装"},{"id":"云服务器-cvm","depth":3,"text":"云服务器 CVM"},{"id":"传统解决方案","depth":3,"text":"传统解决方案"},{"id":"简单优雅解决方案","depth":3,"text":"简单优雅解决方案"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ECMAScript 6 中引入了相关 API —— "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Proxy"}]},{"type":"text","value":"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考文档: "},{"type":"element","tag":"a","props":{"href":"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"搭配"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Reflect"}]},{"type":"text","value":"使用例子:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" loggedObj "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Proxy"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"obj"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" value"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" receiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" success "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Reflect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" value"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" receiver"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"success"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'property '"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" name "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"' on '"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" target "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"' set to '"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" value"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" success"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'get'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Reflect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"deleteProperty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'delete'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Reflect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"deleteProperty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"has"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'has'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Reflect"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"has"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" name"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"下面用例个示例来讲解何为优雅的元编程解决方案。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"api-接口-sdk-封装"},"children":[{"type":"element","tag":"a","props":{"href":"#api-%E6%8E%A5%E5%8F%A3-sdk-%E5%B0%81%E8%A3%85","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"API 接口 SDK 封装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本章节以 "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"腾讯云/QCloud"}]}]},{"type":"text","value":" 为例。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"云服务器-cvm"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8-cvm","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"云服务器 CVM"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"文档说明:"},{"type":"element","tag":"a","props":{"href":"https://www.qcloud.com/document/api/213/6978","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.qcloud.com/document/api/213/6978"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"请求形式:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"https://cvm.api.qcloud.com/v2/index.php?\nAction=DescribeInstances\n&SecretId=xxxxxxx\n&Region=gz\n&Timestamp=1465055529\n&Nonce=59485\n&Signature=mysignature\n&instanceIds.0=ins-0hm4gvho\n&instanceIds.1=ins-8oby8q00\n&offset=0\n&limit=20\n&status=2\n&zoneId=100003\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"传统解决方案"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BC%A0%E7%BB%9F%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"传统解决方案"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"常规的解决方案大体如下:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"class"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Cvm"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"constructor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"config"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 将配置信息传入进行初始化"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"hosts"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'https://cvm.api.qcloud.com/v2/index.php'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"describeInstances"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 查看实例列表为例"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"hosts"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"action"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'describeInstances'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"param1"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" options"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"param1"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 其他参数拼装"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"method2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 查看实例列表为例"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"this"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"hosts"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"action"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'method2'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"param1"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" options"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"param1"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 其他参数拼装"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"result"}]},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果再有其他服务,再定义 class,再封装方法。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这类处理有一个特点就是,共性很多,都是发送 HTTP 请求,获取请求结果。差异化在于:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"域名,QCloud 的规律为 https://{服务名}.api.qcloud.com/v2/index.php"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"方法名,即不同的 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Action"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"请求类型和参数"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"简单优雅解决方案"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%AE%80%E5%8D%95%E4%BC%98%E9%9B%85%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"简单优雅解决方案"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 引入 HTTP 请求相关封装库"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"text","value":"request"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./request'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 列举 API 别名,包括 QCloud CVM、CDN、CDB 等所有服务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"SDKS"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'bm'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'cdn'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'cdb'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'cvm'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'cbs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'csec'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'dayu'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'lb'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'monitor'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'scaling'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'sqlserver'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'redis'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'cmem'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'trade'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'tdsql'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'vpc'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'wenzhi'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'yunsou'"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 默认参数"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"DEFAULTS"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"SecretId"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Signature: '',"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Region"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'gz'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Nonce"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"parseInt"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Math"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"random"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"999999"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Timestamp"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"parseInt"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Date"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"lazyLoad"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"service"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 设置各服务的 api host"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" settings "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"api"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"https://"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"service"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":".api.qcloud.com/v2/index.php"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 预留"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"actions"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 重要事情说三遍:"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 核心代码开始"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 核心代码开始"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 核心代码开始"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Proxy"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 创建代理"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 定义 get 方法"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 例子:"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// const obj = new Obj();"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// obj.prop 获取属性,用的 get 方法"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// obj.prop() 获取方法,用的依然是 get 方法"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"target"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" property"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"opts"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 非重要,将 Action 改为首字母大写,如 'ListRegions'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" action "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" property"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"replace"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"property"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"charAt"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" property"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"charAt"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"toUpperCase"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 拼装请求参数"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" params "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"assign"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"DEFAULTS"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" options"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n params "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"assign"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Action"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" property "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" opts"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 预留了 GET/POST 自定义"}]},{"type":"text","value":"\n params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"method"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" settings"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"actions"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"action"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'post'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 发送请求,获取请求结果返回"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 由于不同接口均是 HTTP/S 方式请求,只需将对应方法封装完成,即可实现复用"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"settings"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"api"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// LazyLoad 懒加载优化性能,但对于元编程来讲收益并不太大"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"SDKS"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"forEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"item"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n exports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"toUpperCase"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"lazyLoad"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TRADE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'wqcloud'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" trade "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TRADE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"options"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// ES7 Async/Await 方式"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" userInfo "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" trade"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DescribeUserInfo"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"userInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// ES5 Promise 方式"}]},{"type":"text","value":"\ntrade"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DescribeUserInfo"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"userInfo"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"userInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"完整项目源码: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/wqcloud","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/wqcloud"}]}]}]},"text":"\nECMAScript 6 中引入了相关 API —— `Proxy`。\n\n参考文档: \n\n搭配`Reflect`使用例子:\n\n```js\nvar loggedObj = new Proxy(obj, {\n set: function (target, name, value, receiver) {\n var success = Reflect.set(target, name, value, receiver);\n if (success) {\n console.log('property ' + name + ' on ' + target + ' set to ' + value);\n }\n return success;\n },\n get(target, name) {\n console.log('get', target, name);\n return Reflect.get(target, name);\n },\n deleteProperty(target, name) {\n console.log('delete' + name);\n return Reflect.deleteProperty(target, name);\n },\n has(target, name) {\n console.log('has' + name);\n return Reflect.has(target, name);\n }\n});\n```\n\n下面用例个示例来讲解何为优雅的元编程解决方案。\n\n\n\n## API 接口 SDK 封装\n\n本章节以 **_腾讯云/QCloud_** 为例。\n\n### 云服务器 CVM\n\n文档说明:\n\n请求形式:\n\n```\nhttps://cvm.api.qcloud.com/v2/index.php?\nAction=DescribeInstances\n&SecretId=xxxxxxx\n&Region=gz\n&Timestamp=1465055529\n&Nonce=59485\n&Signature=mysignature\n&instanceIds.0=ins-0hm4gvho\n&instanceIds.1=ins-8oby8q00\n&offset=0\n&limit=20\n&status=2\n&zoneId=100003\n```\n\n### 传统解决方案\n\n常规的解决方案大体如下:\n\n```js\nclass Cvm(){\n constructor(config){\n // 将配置信息传入进行初始化\n this.hosts = 'https://cvm.api.qcloud.com/v2/index.php';\n }\n describeInstances(options){\n // 查看实例列表为例\n return request(this.hosts,{\n action: 'describeInstances',\n param1: options.param1\n // 其他参数拼装\n }).then(result=>{\n return JSON.parse(result);\n });\n }\n method2(options){\n // 查看实例列表为例\n return request(this.hosts,{\n action: 'method2',\n param1: options.param1\n // 其他参数拼装\n }).then(result=>{\n return JSON.parse(result);\n });\n }\n}\n```\n\n如果再有其他服务,再定义 class,再封装方法。\n\n这类处理有一个特点就是,共性很多,都是发送 HTTP 请求,获取请求结果。差异化在于:\n\n1. 域名,QCloud 的规律为 https://{服务名}.api.qcloud.com/v2/index.php\n2. 方法名,即不同的 `Action`\n3. 请求类型和参数\n\n### 简单优雅解决方案\n\n```js\n// 引入 HTTP 请求相关封装库\nimport request from './request';\n\n// 列举 API 别名,包括 QCloud CVM、CDN、CDB 等所有服务\nconst SDKS = [\n 'bm',\n 'cdn',\n 'cdb',\n 'cvm',\n 'cbs',\n 'csec',\n 'dayu',\n 'lb',\n 'monitor',\n 'scaling',\n 'sqlserver',\n 'redis',\n 'cmem',\n 'trade',\n 'tdsql',\n 'vpc',\n 'wenzhi',\n 'yunsou'\n];\n\n// 默认参数\nconst DEFAULTS = {\n SecretId: '',\n // Signature: '',\n Region: 'gz',\n Nonce: parseInt(Math.random() * 999999, 10),\n Timestamp: parseInt(new Date() / 1000, 10)\n};\n\nconst lazyLoad = (service) => (options) => {\n // 设置各服务的 api host\n const settings = {\n api: `https://${service}.api.qcloud.com/v2/index.php`,\n // 预留\n actions: {}\n };\n // 重要事情说三遍:\n // 核心代码开始\n // 核心代码开始\n // 核心代码开始\n return new Proxy(\n {},\n {\n // 创建代理\n // 定义 get 方法\n // 例子:\n // const obj = new Obj();\n // obj.prop 获取属性,用的 get 方法\n // obj.prop() 获取方法,用的依然是 get 方法\n get: (target, property) => (opts) => {\n // 非重要,将 Action 改为首字母大写,如 'ListRegions'\n const action = property.replace(property.charAt(0), property.charAt(0).toUpperCase());\n\n // 拼装请求参数\n let params = Object.assign({}, DEFAULTS, options);\n params = Object.assign({ Action: property }, params, opts);\n // 预留了 GET/POST 自定义\n params.method = settings.actions[action] || 'post';\n\n // 发送请求,获取请求结果返回\n // 由于不同接口均是 HTTP/S 方式请求,只需将对应方法封装完成,即可实现复用\n return request(settings.api, params);\n }\n }\n );\n};\n\n// LazyLoad 懒加载优化性能,但对于元编程来讲收益并不太大\nSDKS.forEach((item) => {\n exports[item.toUpperCase()] = lazyLoad(item);\n});\n```\n\n使用示例:\n\n```js\nimport { TRADE } from 'wqcloud';\nconst trade = TRADE(options);\n\n// ES7 Async/Await 方式\n(async () => {\n const userInfo = await trade.DescribeUserInfo(params);\n console.log(userInfo);\n})();\n\n// ES5 Promise 方式\ntrade.DescribeUserInfo(params).then((userInfo) => {\n console.log(userInfo);\n});\n```\n\n完整项目源码: \n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/meta","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/experience/advanced/meta","meta":{"version":0,"revision":0,"created":1756480738723},"$loki":65},{"slug":"mixed-project","description":"","title":"混合Web应用实践","position":2405,"category":"经验篇-进阶","toc":[{"id":"设计","depth":2,"text":"设计"},{"id":"项目诉求","depth":3,"text":"项目诉求"},{"id":"存储设计","depth":3,"text":"存储设计"},{"id":"编码","depth":2,"text":"编码"},{"id":"初始化项目","depth":3,"text":"初始化项目"},{"id":"开发环境配置","depth":3,"text":"开发环境配置"},{"id":"model","depth":3,"text":"Model"},{"id":"计划任务","depth":3,"text":"计划任务"},{"id":"待填的坑","depth":3,"text":"待填的坑"},{"id":"测试","depth":2,"text":"测试"},{"id":"部署","depth":2,"text":"部署"},{"id":"ps","depth":3,"text":"P.S."}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本项目实例代码: "},{"type":"element","tag":"a","props":{"href":"https://github.com/js-cool/up.js.cool","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/js-cool/up.js.cool"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"设计"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%AE%BE%E8%AE%A1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设计"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"项目诉求"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%A1%B9%E7%9B%AE%E8%AF%89%E6%B1%82","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"项目诉求"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"输出:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"图表按时间展示在线状况及效率"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"接口、图片输出当前在线状态"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"输入:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"WRescueTime 插件获取在线行为数据"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"存储设计"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AD%98%E5%82%A8%E8%AE%BE%E8%AE%A1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"存储设计"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"数据库采用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"MySQL"}]},{"type":"text","value":",缓存采用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Redis"}]},{"type":"text","value":"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"表结构"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%A1%A8%E7%BB%93%E6%9E%84","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"表结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-sql"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"CREATE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"char"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'用户'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"active"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"int"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"unsigned"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'活跃时间(秒)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"efficiency"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"decimal"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"5"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'效率(%)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"date"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"int"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"unsigned"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'数据时间(转时间戳)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"KEY"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"whereorder"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"date"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"KEY"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"date"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"date"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"ENGINE"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"MyISAM "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"CHARSET"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"utf8"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"缓存结构"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%BC%93%E5%AD%98%E7%BB%93%E6%9E%84","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"缓存结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"up:data:username\nup:latest:username\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"编码"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%BC%96%E7%A0%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"编码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"初始化项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"初始化项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"yarn init\nyarn add --dev eslint eslint-config-airbnb eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-import\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"配置"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ESLint"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"开发环境配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"开发环境配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"config/index.js"}]},{"type":"text","value":":"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"NODE_ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'dev'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" users "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"./users."}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"ENV"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" redis"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" mysql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" cdn "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"./server."}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"ENV"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n cdn"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n users"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n redis"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n mysql\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"优化"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BC%98%E5%8C%96","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"优化"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"lazyload"}]},{"type":"text","value":"方式动态加载:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"NODE_ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'dev'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"config"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"./"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"config"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"ENV"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"考虑到本项目已经在实施过程中,变更改动较大,未修改。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"model"},"children":[{"type":"element","tag":"a","props":{"href":"#model","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Model"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"crontabcrabjs片段"},"children":[{"type":"element","tag":"a","props":{"href":"#crontabcrabjs%E7%89%87%E6%AE%B5","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"crontab/crab.js"}]},{"type":"text","value":"片段"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"业务中插入操作尽可能精简,参数最好统一,像这样的方式调用:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"rows"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"forEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"item"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"operator"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 插入数据"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"dataAdd"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" last"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n operator "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" last"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 更新最后一条数据"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"dataUpdate"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"对应-model-实现代码"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AF%B9%E5%BA%94-model-%E5%AE%9E%E7%8E%B0%E4%BB%A3%E7%A0%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"对应 Model 实现代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"model/data.js"}]},{"type":"text","value":" 片段:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" pool"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" format "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'@dwing/mysql'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"mysql"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" mysqlOptions "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../config'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" isEmpty "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../lib'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"DB"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" mysqlOptions"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"database"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TABLENAME"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"DB"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":".data"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nexports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"dataAdd"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"date"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" active"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" efficiency"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" mysql "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"pool"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"mysqlOptions"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" sql "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'INSERT INTO ?? (user,active,efficiency,date) VALUES (?,?,?,?)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TABLENAME"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n active"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n efficiency"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"parseInt"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Date"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"date"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" mysql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"sql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n mysql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"release"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"affectedRows"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nexports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"dataUpdate"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"date"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" active"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" efficiency"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" mysql "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"pool"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"mysqlOptions"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" sql "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'UPDATE ?? SET active = ?, efficiency = ? WHERE user = ? AND date = ?'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TABLENAME"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n active"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n efficiency"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"parseInt"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Date"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"date"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" mysql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"sql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n mysql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"release"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"affectedRows"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里主要用的是结构赋值新特性。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"计划任务"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"计划任务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"采用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Later.js"}]},{"type":"text","value":",类似于 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Crontab"}]},{"type":"text","value":"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" later "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'later'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" users "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../config'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" random "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../lib'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" lastClear"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" historyClear "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../model/data'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" crab "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./crab'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" updateCertbot "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./certbot'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nusers"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"forEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每分钟抓取用户数据"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"crab"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n later"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"crab"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" later"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"recur"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"every"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"random"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"50"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"70"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"second"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每天 0:00 清除计时器"}]},{"type":"text","value":"\nlater"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"lastClear"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" later"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cron"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0 0 */1 * * ?'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每天 1:00 清除30天前历史数据"}]},{"type":"text","value":"\nlater"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"historyClear"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" later"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cron"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0 1 */1 * * ?'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每周一 2:00 更新 certbot 证书"}]},{"type":"text","value":"\nlater"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"updateCertbot"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" later"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cron"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0 2 * * 1 ?'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"待填的坑"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BE%85%E5%A1%AB%E7%9A%84%E5%9D%91","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"待填的坑"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"数据采集"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"数据采集"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"从上文计划任务中即可看出,每个用户都会随机产生一条任务,由于用户是写在配置文件中的固定的,所以一旦想要改为动态的(比如开放注册),这套体系就不能支持了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以需要一个更好的手段进行数据采集。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"欢迎提 ISSUE 发表自己的看法和建议。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"服务器渲染"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%B8%B2%E6%9F%93","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"服务器渲染"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"项目里写了一个简单的 HTML 模板引擎,可以替换一些简单参数:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" path "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'path'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" readFileSync "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'fs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" cdn "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../../config'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"view"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" params "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" html "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"readFileSync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"join"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"view"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":".html"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'utf8'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"replace"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"text","value":"{{cdn}}"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-flags"]},"children":[{"type":"text","value":"g"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" cdn"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"keys"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"forEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"key"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n html "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" html"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"replace"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"RegExp"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"{{"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"key"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"}}"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'g'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"key"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" html"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其中用到了 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"readFileSync"}]},{"type":"text","value":",该操作可能会在 I/O 密集发生阻塞。并且每个请求均会产生 IO 操作,可以从很多方面进行进一步优化。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"部分优化建议:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"可以进行内存缓存(仅适用该项目,因为只有一个页面,根据实际项目情况考虑)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"可以通过反向代理直接访问静态 HTML 文件,参数通过异步请求带入"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"路由配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%B7%AF%E7%94%B1%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"路由配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"koa-router"}]},{"type":"text","value":" 还是 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"koa-route"}]},{"type":"text","value":"? 这是个好问题。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"该项目中使用的是"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"koa-route"}]},{"type":"text","value":",原因是当时并不知道有好多种路由中间件,这个是从官方仓库中发现的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比较了一下源码,个人感觉 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"koa-router"}]},{"type":"text","value":" 更优美,使用起来也更方便。感兴趣的同学可以尝试一下: "},{"type":"element","tag":"a","props":{"href":"https://github.com/alexmingoia/koa-router","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/alexmingoia/koa-router"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"测试"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B5%8B%E8%AF%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"测试"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"练手项目,测试阶段暂时忽略。有时间了再来补上。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"部署"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%83%A8%E7%BD%B2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"部署"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 start up.config.js\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注意 PM2 版本使用大于 2.4,Node 版本大于 7.6.0。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"ps"},"children":[{"type":"element","tag":"a","props":{"href":"#ps","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"P.S."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"SSL 证书由 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"CertBot"}]},{"type":"text","value":" 生成。"}]}]},"text":"\n本项目实例代码: \n\n## 设计\n\n### 项目诉求\n\n输出:\n\n- 图表按时间展示在线状况及效率\n- 接口、图片输出当前在线状态\n\n输入:\n\n- WRescueTime 插件获取在线行为数据\n\n\n\n### 存储设计\n\n数据库采用`MySQL`,缓存采用`Redis`。\n\n#### 表结构\n\n```sql\nCREATE TABLE `data` (\n `user` char(16) NOT NULL DEFAULT '' COMMENT '用户',\n `active` int(3) unsigned NOT NULL COMMENT '活跃时间(秒)',\n `efficiency` decimal(5,2) NOT NULL COMMENT '效率(%)',\n `date` int(10) unsigned NOT NULL COMMENT '数据时间(转时间戳)',\n KEY `whereorder` (`user`,`date`),\n KEY `date` (`date`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8;\n```\n\n#### 缓存结构\n\n```\nup:data:username\nup:latest:username\n```\n\n## 编码\n\n### 初始化项目\n\n```\nyarn init\nyarn add --dev eslint eslint-config-airbnb eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-import\n```\n\n配置`ESLint`\n\n### 开发环境配置\n\n`config/index.js`:\n\n```js\nconst ENV = process.env.NODE_ENV || 'dev';\n\nconst users = require(`./users.${ENV}`);\nconst { redis, mysql, cdn } = require(`./server.${ENV}`);\n\nmodule.exports = {\n cdn,\n users,\n redis,\n mysql\n};\n```\n\n#### 优化\n\n可以用`lazyload`方式动态加载:\n\n```js\nconst ENV = process.env.NODE_ENV || 'dev';\nmodule.exports = (config) => (() => require(`./${config}.${ENV}`))();\n```\n\n考虑到本项目已经在实施过程中,变更改动较大,未修改。\n\n### Model\n\n#### `crontab/crab.js`片段\n\n业务中插入操作尽可能精简,参数最好统一,像这样的方式调用:\n\n```js\ndata.rows.forEach(async (item) => {\n if (operator) {\n // 插入数据\n await dataAdd(user, item);\n } else if (item[0] === last[0]) {\n operator = true;\n if (item[1] !== last[1]) {\n // 更新最后一条数据\n await dataUpdate(user, item);\n }\n }\n});\n```\n\n#### 对应 Model 实现代码\n\n`model/data.js` 片段:\n\n```js\nconst { pool, format } = require('@dwing/mysql');\nconst { mysql: mysqlOptions } = require('../config');\nconst { isEmpty } = require('../lib');\n\nconst DB = mysqlOptions.database;\nconst TABLENAME = `${DB}.data`;\n\nexports.dataAdd = async (user, [date, active, , , efficiency]) => {\n const mysql = await pool(mysqlOptions);\n const sql = format('INSERT INTO ?? (user,active,efficiency,date) VALUES (?,?,?,?)', [\n TABLENAME,\n user,\n active,\n efficiency,\n parseInt(new Date(date) / 1000, 10)\n ]);\n const result = await mysql.query(sql);\n mysql.release();\n return isEmpty(result) ? -1 : result.affectedRows;\n};\n\nexports.dataUpdate = async (user, [date, active, , , efficiency]) => {\n const mysql = await pool(mysqlOptions);\n const sql = format('UPDATE ?? SET active = ?, efficiency = ? WHERE user = ? AND date = ?', [\n TABLENAME,\n active,\n efficiency,\n user,\n parseInt(new Date(date) / 1000, 10)\n ]);\n const result = await mysql.query(sql);\n mysql.release();\n return isEmpty(result) ? -1 : result.affectedRows;\n};\n```\n\n这里主要用的是结构赋值新特性。\n\n### 计划任务\n\n采用 `Later.js`,类似于 `Crontab`。\n\n```js\nconst later = require('later');\nconst { users } = require('../config');\nconst { random } = require('../lib');\nconst { lastClear, historyClear } = require('../model/data');\nconst crab = require('./crab');\nconst updateCertbot = require('./certbot');\n\nusers.forEach(async (x) => {\n // 每分钟抓取用户数据\n await crab(x);\n later.setInterval(async () => {\n await crab(x);\n }, later.parse.recur().every(random(50, 70)).second());\n});\n\n// 每天 0:00 清除计时器\nlater.setInterval(lastClear, later.parse.cron('0 0 */1 * * ?'));\n\n// 每天 1:00 清除30天前历史数据\nlater.setInterval(historyClear, later.parse.cron('0 1 */1 * * ?'));\n\n// 每周一 2:00 更新 certbot 证书\nlater.setInterval(updateCertbot, later.parse.cron('0 2 * * 1 ?'));\n```\n\n### 待填的坑\n\n#### 数据采集\n\n从上文计划任务中即可看出,每个用户都会随机产生一条任务,由于用户是写在配置文件中的固定的,所以一旦想要改为动态的(比如开放注册),这套体系就不能支持了。\n\n所以需要一个更好的手段进行数据采集。\n\n> 欢迎提 ISSUE 发表自己的看法和建议。\n\n#### 服务器渲染\n\n项目里写了一个简单的 HTML 模板引擎,可以替换一些简单参数:\n\n```js\nconst path = require('path');\nconst { readFileSync } = require('fs');\nconst { cdn } = require('../../config');\n\nmodule.exports = (view, params = {}) => {\n let html = readFileSync(path.join(__dirname, `${view}.html`), 'utf8').replace(/{{cdn}}/g, cdn);\n Object.keys(params).forEach((key) => {\n html = html.replace(new RegExp(`{{${key}}}`, 'g'), params[key]);\n });\n return html;\n};\n```\n\n其中用到了 `readFileSync`,该操作可能会在 I/O 密集发生阻塞。并且每个请求均会产生 IO 操作,可以从很多方面进行进一步优化。\n\n部分优化建议:\n\n1. 可以进行内存缓存(仅适用该项目,因为只有一个页面,根据实际项目情况考虑)\n2. 可以通过反向代理直接访问静态 HTML 文件,参数通过异步请求带入\n\n#### 路由配置\n\n`koa-router` 还是 `koa-route`? 这是个好问题。\n\n该项目中使用的是`koa-route`,原因是当时并不知道有好多种路由中间件,这个是从官方仓库中发现的。\n\n比较了一下源码,个人感觉 `koa-router` 更优美,使用起来也更方便。感兴趣的同学可以尝试一下: \n\n## 测试\n\n练手项目,测试阶段暂时忽略。有时间了再来补上。\n\n## 部署\n\n```bash\npm2 start up.config.js\n```\n\n注意 PM2 版本使用大于 2.4,Node 版本大于 7.6.0。\n\n### P.S.\n\nSSL 证书由 `CertBot` 生成。\n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/mixed-project","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/experience/advanced/mixed-project","meta":{"version":0,"revision":0,"created":1756480738745},"$loki":66},{"slug":"translate","description":"","title":"开源项目翻译正确姿势","position":2402,"category":"经验篇-进阶","toc":[{"id":"独立文档项目","depth":2,"text":"独立文档项目"},{"id":"1-初始化翻译项目","depth":3,"text":"1. 初始化翻译项目"},{"id":"2-从源站更新内容","depth":3,"text":"2. 从源站更新内容"},{"id":"文档包含在项目中","depth":2,"text":"文档包含在项目中"},{"id":"1-初始化翻译项目-1","depth":3,"text":"1. 初始化翻译项目"},{"id":"2-从源站更新内容-1","depth":3,"text":"2. 从源站更新内容"},{"id":"注意事项","depth":2,"text":"注意事项"},{"id":"ps","depth":2,"text":"p.s."}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"日常开发中,我们经常会在 Github 上发现一些好用的新框架, 如何对这些项目文档进行翻译, 其实这个问题困扰了我很久. 这里,我总结了一些不同情况下所谓的最佳实践, 供大家参考:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"独立文档项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%8B%AC%E7%AB%8B%E6%96%87%E6%A1%A3%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"独立文档项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举例: "},{"type":"element","tag":"a","props":{"href":"https://github.com/graphql/graphql.github.io","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/graphql/graphql.github.io"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"GraphQL 文档的网站, 是一个独立的项目, source 分支是源码目录, master 分支(可以理解为 gh-pages 分支)是静态站点."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1-初始化翻译项目"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E5%88%9D%E5%A7%8B%E5%8C%96%E7%BF%BB%E8%AF%91%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 初始化翻译项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"直接"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Fork"}]},{"type":"text","value":"该项目, 示例: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/graphql.js.cool","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/graphql.js.cool"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Fork 之后可以给该项目改名, 如我换到了 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"graphql.js.cool"}]},{"type":"text","value":" 域名, 并以该域名进行命名."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后, 将项目"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Clone"}]},{"type":"text","value":"至本地."}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" clone git@github.com:willin/graphql.js.cool.git\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" graphql.js.cool\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 默认源码的分支是source, 可以新建一个分支用于翻译"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" checkout -b cn\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" push -u origin cn\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"至此, 可以开始翻译工作了."}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2-从源站更新内容"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E4%BB%8E%E6%BA%90%E7%AB%99%E6%9B%B4%E6%96%B0%E5%86%85%E5%AE%B9","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 从源站更新内容"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 一次性添加"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" remote "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" remote git@github.com:graphql/graphql.github.io.git\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 每次更新源站最新代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" pull remote "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"source"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".git/config"}]},{"type":"text","value":"文件参考:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"[core]\n repositoryformatversion = 0\n filemode = true\n bare = false\n logallrefupdates = true\n ignorecase = true\n precomposeunicode = true\n[remote \"origin\"]\n url = git@github.com:willin/graphql.js.cool.git\n fetch = +refs/heads/*:refs/remotes/origin/*\n[branch \"cn\"]\n remote = origin\n merge = refs/heads/cn\n[travis]\n slug = willin/graphql.js.cool\n[remote \"remote\"]\n url = git@github.com:graphql/graphql.github.io.git\n fetch = +refs/heads/*:refs/remotes/remote/*\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"文档包含在项目中"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%96%87%E6%A1%A3%E5%8C%85%E5%90%AB%E5%9C%A8%E9%A1%B9%E7%9B%AE%E4%B8%AD","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"文档包含在项目中"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可能是一个一个单独的分支, 或者只是某个分支的一个目录."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"vue-router"}]},{"type":"text","value":"项目为例, 文档位于"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"dev"}]},{"type":"text","value":"分支的"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"docs"}]},{"type":"text","value":"目录: "},{"type":"element","tag":"a","props":{"href":"https://github.com/vuejs/vue-router/tree/dev/docs","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/vuejs/vue-router/tree/dev/docs"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1-初始化翻译项目-1"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E5%88%9D%E5%A7%8B%E5%8C%96%E7%BF%BB%E8%AF%91%E9%A1%B9%E7%9B%AE-1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 初始化翻译项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" init\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" remote "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" origin xxx "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 你的项目路径"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" remote "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" remote git@github.com:vuejs/vue-router.git\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 拉取源站代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" pull remote dev\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2-从源站更新内容-1"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E4%BB%8E%E6%BA%90%E7%AB%99%E6%9B%B4%E6%96%B0%E5%86%85%E5%AE%B9-1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 从源站更新内容"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 每次更新源站最新代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" pull remote dev\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"注意事项"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注意事项"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"CNAME"}]},{"type":"text","value":"等配置文件需要替换"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pull"}]},{"type":"text","value":"后可能会有冲突. 解决后再提交代码."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"ps"},"children":[{"type":"element","tag":"a","props":{"href":"#ps","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"p.s."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"优秀的中文翻译项目及推荐的未翻译项目汇总: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/awesome-cn","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"Awesome-CN"}]}]}]},"text":"\n日常开发中,我们经常会在 Github 上发现一些好用的新框架, 如何对这些项目文档进行翻译, 其实这个问题困扰了我很久. 这里,我总结了一些不同情况下所谓的最佳实践, 供大家参考:\n\n## 独立文档项目\n\n举例: \n\nGraphQL 文档的网站, 是一个独立的项目, source 分支是源码目录, master 分支(可以理解为 gh-pages 分支)是静态站点.\n\n### 1. 初始化翻译项目\n\n直接`Fork`该项目, 示例: \n\nFork 之后可以给该项目改名, 如我换到了 `graphql.js.cool` 域名, 并以该域名进行命名.\n\n然后, 将项目`Clone`至本地.\n\n```bash\ngit clone git@github.com:willin/graphql.js.cool.git\ncd graphql.js.cool\n# 默认源码的分支是source, 可以新建一个分支用于翻译\ngit checkout -b cn\ngit push -u origin cn\n```\n\n至此, 可以开始翻译工作了.\n\n\n\n### 2. 从源站更新内容\n\n```bash\n# 一次性添加\ngit remote add remote git@github.com:graphql/graphql.github.io.git\n# 每次更新源站最新代码\ngit pull remote source\n```\n\n`.git/config`文件参考:\n\n```\n[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = false\n\tlogallrefupdates = true\n\tignorecase = true\n\tprecomposeunicode = true\n[remote \"origin\"]\n\turl = git@github.com:willin/graphql.js.cool.git\n\tfetch = +refs/heads/*:refs/remotes/origin/*\n[branch \"cn\"]\n\tremote = origin\n\tmerge = refs/heads/cn\n[travis]\n\tslug = willin/graphql.js.cool\n[remote \"remote\"]\n\turl = git@github.com:graphql/graphql.github.io.git\n\tfetch = +refs/heads/*:refs/remotes/remote/*\n```\n\n## 文档包含在项目中\n\n可能是一个一个单独的分支, 或者只是某个分支的一个目录.\n\n以`vue-router`项目为例, 文档位于`dev`分支的`docs`目录: \n\n### 1. 初始化翻译项目\n\n```bash\ngit init\ngit remote add origin xxx # 你的项目路径\ngit remote add remote git@github.com:vuejs/vue-router.git\n# 拉取源站代码\ngit pull remote dev\n```\n\n### 2. 从源站更新内容\n\n```bash\n# 每次更新源站最新代码\ngit pull remote dev\n```\n\n## 注意事项\n\n- `CNAME`等配置文件需要替换\n- `pull`后可能会有冲突. 解决后再提交代码.\n\n## p.s.\n\n优秀的中文翻译项目及推荐的未翻译项目汇总: [Awesome-CN](https://github.com/willin/awesome-cn)\n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/translate","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/experience/advanced/translate","meta":{"version":0,"revision":0,"created":1756480738750},"$loki":67},{"slug":"vue-components","description":"","title":"手把手教你发布一个Vue组件","menuTitle":"发布一个Vue组件","position":2408,"category":"经验篇-进阶","toc":[{"id":"0-初始化项目","depth":2,"text":"0. 初始化项目"},{"id":"初始化-npm-包","depth":3,"text":"初始化 NPM 包"},{"id":"1-配置-eslint-babel-webpack","depth":2,"text":"1. 配置 eslint, babel, webpack"},{"id":"2-配置-dev-开发环境","depth":2,"text":"2. 配置 dev 开发环境"},{"id":"3-完成组件功能并测试","depth":2,"text":"3. 完成组件功能并测试"},{"id":"4-完善文档-并提供演示","depth":2,"text":"4. 完善文档, 并提供演示"},{"id":"参考资源","depth":2,"text":"参考资源"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"0-初始化项目"},"children":[{"type":"element","tag":"a","props":{"href":"#0-%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"0. 初始化项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"项目位于: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/vchart","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/vchart"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"yarn"}]},{"type":"text","value":" init -y\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"vchart\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"version\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"0.0.0\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"main\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"index.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"repository\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"git@github.com:willin/vchart.git\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"author\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"Willin Wang \""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"license\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"MIT\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"初始化-npm-包"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%9D%E5%A7%8B%E5%8C%96-npm-%E5%8C%85","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"初始化 NPM 包"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" publish\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"NPM 包位于: "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/vchart","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.npmjs.com/package/vchart"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"1-配置-eslint-babel-webpack"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E9%85%8D%E7%BD%AE-eslint-babel-webpack","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 配置 eslint, babel, webpack"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注意: "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"eslint-plugin-vue"}]},{"type":"text","value":" 目前仅支持到 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"eslint@4.3.0"}]},{"type":"text","value":" 版本"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"代码提交: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/vchart/commit/69b3e923ef565b975585872fb0438b304cbdb7d4","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/vchart/commit/69b3e923ef565b975585872fb0438b304cbdb7d4"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"2-配置-dev-开发环境"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E9%85%8D%E7%BD%AE-dev-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 配置 dev 开发环境"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"用简单的"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"http-server"}]},{"type":"text","value":" 运行并调试."}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"start\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"npm run prepare && http-server -c0 .\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"prepare\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"webpack --progress --hide-modules\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"代码提交: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/vchart/commit/0b875fcea03e2afed9955887e0b79097d2111adb","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/vchart/commit/0b875fcea03e2afed9955887e0b79097d2111adb"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"3-完成组件功能并测试"},"children":[{"type":"element","tag":"a","props":{"href":"#3-%E5%AE%8C%E6%88%90%E7%BB%84%E4%BB%B6%E5%8A%9F%E8%83%BD%E5%B9%B6%E6%B5%8B%E8%AF%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3. 完成组件功能并测试"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"4-完善文档-并提供演示"},"children":[{"type":"element","tag":"a","props":{"href":"#4-%E5%AE%8C%E5%96%84%E6%96%87%E6%A1%A3-%E5%B9%B6%E6%8F%90%E4%BE%9B%E6%BC%94%E7%A4%BA","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"4. 完善文档, 并提供演示"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"演示地址: "},{"type":"element","tag":"a","props":{"href":"https://vchart.js.cool","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://vchart.js.cool"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"3/4 两步合并提交的代码: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/vchart/commit/58b46ece2f19f7f5e07009dc46a71da3855c5bbf","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/vchart/commit/58b46ece2f19f7f5e07009dc46a71da3855c5bbf"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"参考资源"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8F%82%E8%80%83%E8%B5%84%E6%BA%90","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"参考资源"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/gionkunz/chartist-js","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/gionkunz/chartist-js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Yopadd/vue-chartist","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/Yopadd/vue-chartist"}]},{"type":"text","value":" (注入式)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/lakb248/vue-chartist","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/lakb248/vue-chartist"}]},{"type":"text","value":" (组件式)"}]},{"type":"text","value":"\n"}]}]},"text":"\n## 0. 初始化项目\n\n项目位于: \n\n```bash\nyarn init -y\n```\n\n```js\n{\n \"name\": \"vchart\",\n \"version\": \"0.0.0\",\n \"main\": \"index.js\",\n \"repository\": \"git@github.com:willin/vchart.git\",\n \"author\": \"Willin Wang \",\n \"license\": \"MIT\"\n}\n```\n\n### 初始化 NPM 包\n\n```bash\nnpm publish\n```\n\nNPM 包位于: https://www.npmjs.com/package/vchart\n\n## 1. 配置 eslint, babel, webpack\n\n注意: `eslint-plugin-vue` 目前仅支持到 `eslint@4.3.0` 版本\n\n代码提交: https://github.com/willin/vchart/commit/69b3e923ef565b975585872fb0438b304cbdb7d4\n\n## 2. 配置 dev 开发环境\n\n用简单的`http-server` 运行并调试.\n\n```js\n\"scripts\": {\n \"start\": \"npm run prepare && http-server -c0 .\",\n \"prepare\": \"webpack --progress --hide-modules\"\n}\n```\n\n代码提交: https://github.com/willin/vchart/commit/0b875fcea03e2afed9955887e0b79097d2111adb\n\n\n\n## 3. 完成组件功能并测试\n\n## 4. 完善文档, 并提供演示\n\n演示地址: https://vchart.js.cool\n\n3/4 两步合并提交的代码: https://github.com/willin/vchart/commit/58b46ece2f19f7f5e07009dc46a71da3855c5bbf\n\n## 参考资源\n\n- https://github.com/gionkunz/chartist-js\n- https://github.com/Yopadd/vue-chartist (注入式)\n- https://github.com/lakb248/vue-chartist (组件式)\n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/vue-components","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/experience/advanced/vue-components","meta":{"version":0,"revision":0,"created":1756480738754},"$loki":68},{"slug":"vue-webapp","description":"","title":"Vue + Koa 前后端分离实践","menuTitle":"前后端分离实践","position":2407,"category":"经验篇-进阶","toc":[{"id":"webpack","depth":2,"text":"Webpack"},{"id":"babel","depth":2,"text":"Babel"},{"id":"eslint","depth":2,"text":"ESLint"},{"id":"开发环境","depth":2,"text":"开发环境"},{"id":"产品环境","depth":2,"text":"产品环境"}],"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"webpack"},"children":[{"type":"element","tag":"a","props":{"href":"#webpack","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Webpack"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"vue-cli"}]},{"type":"text","value":"及诸多脚手架生成的项目里, 配置项非常繁琐, 结构也非常混乱, 实际上 webpack 常规配置就需要两个, 分别给开发环境和产品环境使用."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"而且像 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"webpack-merge"}]},{"type":"text","value":" 这样的插件, 可以通过简单的 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Object.assign"}]},{"type":"text","value":" 或 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"[].concat"}]},{"type":"text","value":" 完成."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"base.js"}]},{"type":"text","value":" 基础设置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" path "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'path'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"HtmlWebpackPlugin"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'html-webpack-plugin'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"ExtractTextPlugin"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'extract-text-webpack-plugin'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"entry"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../src/main.js'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"output"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../dist'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"publicPath"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"filename"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'[name].[hash].js'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"chunkFilename"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'[id].[hash].js'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"module"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"rules"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","special-escape","escape"]},"children":[{"type":"text","value":"\\."}]},{"type":"text","value":"vue"},{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"$"}]}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"loader"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'vue-loader'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"extractCSS"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","special-escape","escape"]},"children":[{"type":"text","value":"\\."}]},{"type":"text","value":"js"},{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"$"}]}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"loader"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'babel-loader'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"exclude"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"text","value":"node_modules"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","special-escape","escape"]},"children":[{"type":"text","value":"\\."}]},{"type":"element","tag":"span","props":{"className":["token","group","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"png"},{"type":"element","tag":"span","props":{"className":["token","alternation","keyword"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":"jpg"},{"type":"element","tag":"span","props":{"className":["token","alternation","keyword"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":"gif"},{"type":"element","tag":"span","props":{"className":["token","alternation","keyword"]},"children":[{"type":"text","value":"|"}]},{"type":"text","value":"svg"},{"type":"element","tag":"span","props":{"className":["token","group","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","anchor","function"]},"children":[{"type":"text","value":"$"}]}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"loader"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'file-loader'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"options"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'[name].[ext]?[hash]'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"extensions"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'.js'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'.json'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'.vue'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"alias"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"vue$"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'vue/dist/vue.esm.js'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"performance"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"hints"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"ExtractTextPlugin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'style.css'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"HtmlWebpackPlugin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"filename"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../dist/index.html'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../index.html'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"inject"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"minify"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"removeComments"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"collapseWhitespace"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"removeAttributeQuotes"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// more options:"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// https://github.com/kangax/html-minifier#options-quick-reference"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// necessary to consistently work with multiple chunks via CommonsChunkPlugin"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"chunksSortMode"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'dependency'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"dev 配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" base "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./base'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"assign"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" base"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"devtool"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'#eval-source-map'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"devServer"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"historyApiFallback"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"noInfo"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"prod 配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" webpack "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'webpack'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" base "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./base'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"assign"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" base"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"devtool"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'#source-map'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"devServer"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"historyApiFallback"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"noInfo"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"base"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"plugins"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"concat"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"webpack"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"DefinePlugin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"'process.env'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"NODE_ENV"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'\"production\"'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"webpack"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"optimize"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"UglifyJsPlugin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"sourceMap"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"compress"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"warnings"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"webpack"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"LoaderOptionsPlugin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"minimize"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"babel"},"children":[{"type":"element","tag":"a","props":{"href":"#babel","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Babel"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"preset-latest"}]},{"type":"text","value":" 或 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"preset-2015"}]},{"type":"text","value":" 之类的东西, 谨慎添加. 慢慢必要性也不会太大."}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"module"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"presets"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'env'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"modules"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'transform-runtime'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"comments"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"eslint"},"children":[{"type":"element","tag":"a","props":{"href":"#eslint","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"ESLint"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里是我用的配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"module"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"browser"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"es6"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"node"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"extends"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'dwing'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"plugins"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'html'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'vue'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"rules"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"'no-new'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"'no-bitwise'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"'import/extensions'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'error'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'always'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"js"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'never'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"vue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'never'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"'import/no-extraneous-dependencies'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"settings"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"'import/resolver'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"webpack"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"config"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./config/base.js'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在 vscode 下默认是无法对 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":".vue"}]},{"type":"text","value":" 文件进行 autofix 的."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"需要注意其中的两个插件, 一个是"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"eslint-plugin-html"}]},{"type":"text","value":", 一个是"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"eslint-plugin-vue"}]},{"type":"text","value":", 同时要修改 vscode 的配置 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"eslint.validate"}]},{"type":"text","value":", 参考:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 将设置放入此文件中以覆盖默认设置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"editor.tabSize\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"[vue]\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"editor.formatOnSave\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"eslint.autoFixOnSave\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"eslint.validate\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"javascript\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"javascriptreact\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"language\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"vue\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"autoFix\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"language\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"html\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"autoFix\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h1","props":{"id":"后端渲染"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%90%8E%E7%AB%AF%E6%B8%B2%E6%9F%93","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"后端渲染"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"根据项目来权衡,是否需要进行服务器端渲染(SSR)."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本项目中采用前后端完全分离的做法, 后端将直接透传前端相关的请求. 目前市面上大多数 devServer 都是用 express 框架做的,而实际项目中用到 express 的可能性小之又小. 找了很久 koa 相关的,都无法跑通,这里我就自己搞了一个能够在 koa 上进行开发运行的方法."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"开发环境"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"开发环境"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"使用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Stream PassThrough"}]},{"type":"text","value":" 将请求结果转发到前端 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"webpack-dev-server"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"PassThrough"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'stream'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nrouter"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Content-Type'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'text/html'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// webpack-dev-server 端口 9000"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" request"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'http://localhost:9000/index.html'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"pipe"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"PassThrough"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nrouter"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/(.*)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" path "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"split"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'.'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reverse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" type "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"switch"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"type"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"case"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'css'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Content-Type'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'text/css'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"break"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"case"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'js'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Content-Type'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'text/javascript'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"break"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"case"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'jpg'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Content-Type'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'image/jpeg'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"break"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"case"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'png'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Content-Type'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'image/png'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"break"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Content-Type'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'text/plain'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" request"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"http://localhost:9000"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"pipe"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"PassThrough"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"唯一的不足就是, "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"PassThough"}]},{"type":"text","value":" 默认的 mime 是 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"application/octet-stream"}]},{"type":"text","value":" 需要手动替换头信息."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"产品环境"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BA%A7%E5%93%81%E7%8E%AF%E5%A2%83","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"产品环境"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"koa-send"}]},{"type":"text","value":" 就可以满足:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" send "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'koa-send'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nrouter"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/(.*)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"try"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/index.html'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../dist'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"e"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\nrouter"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/(.*)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"try"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'../dist'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"e"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"项目源码: "},{"type":"element","tag":"a","props":{"href":"https://github.com/willin/koa-api-logger-ui","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/willin/koa-api-logger-ui"}]}]}]},"text":"\n# 配置\n\n## Webpack\n\n`vue-cli`及诸多脚手架生成的项目里, 配置项非常繁琐, 结构也非常混乱, 实际上 webpack 常规配置就需要两个, 分别给开发环境和产品环境使用.\n\n而且像 `webpack-merge` 这样的插件, 可以通过简单的 `Object.assign` 或 `[].concat` 完成.\n\n示例:\n\n`base.js` 基础设置:\n\n```js\nconst path = require('path');\nconst HtmlWebpackPlugin = require('html-webpack-plugin');\nconst ExtractTextPlugin = require('extract-text-webpack-plugin');\n\nmodule.exports = {\n entry: path.resolve(__dirname, '../src/main.js'),\n output: {\n path: path.resolve(__dirname, '../dist'),\n publicPath: '/',\n filename: '[name].[hash].js',\n chunkFilename: '[id].[hash].js'\n },\n module: {\n rules: [\n {\n test: /\\.vue$/,\n loader: 'vue-loader',\n options: {\n extractCSS: true\n }\n },\n {\n test: /\\.js$/,\n loader: 'babel-loader',\n exclude: /node_modules/\n },\n {\n test: /\\.(png|jpg|gif|svg)$/,\n loader: 'file-loader',\n options: {\n name: '[name].[ext]?[hash]'\n }\n }\n ]\n },\n resolve: {\n extensions: ['.js', '.json', '.vue'],\n alias: {\n vue$: 'vue/dist/vue.esm.js'\n }\n },\n performance: {\n hints: false\n },\n plugins: [\n new ExtractTextPlugin('style.css'),\n new HtmlWebpackPlugin({\n filename: path.resolve(__dirname, '../dist/index.html'),\n template: path.resolve(__dirname, '../index.html'),\n inject: true,\n minify: {\n removeComments: true,\n collapseWhitespace: true,\n removeAttributeQuotes: true\n // more options:\n // https://github.com/kangax/html-minifier#options-quick-reference\n },\n // necessary to consistently work with multiple chunks via CommonsChunkPlugin\n chunksSortMode: 'dependency'\n })\n ]\n};\n```\n\ndev 配置:\n\n```js\nconst base = require('./base');\n\nmodule.exports = Object.assign({}, base, {\n devtool: '#eval-source-map',\n devServer: {\n historyApiFallback: true,\n noInfo: true\n }\n});\n```\n\n\n\nprod 配置:\n\n```js\nconst webpack = require('webpack');\nconst base = require('./base');\n\nmodule.exports = Object.assign({}, base, {\n devtool: '#source-map',\n devServer: {\n historyApiFallback: true,\n noInfo: true\n },\n plugins: (base.plugins || []).concat([\n new webpack.DefinePlugin({\n 'process.env': {\n NODE_ENV: '\"production\"'\n }\n }),\n new webpack.optimize.UglifyJsPlugin({\n sourceMap: true,\n compress: {\n warnings: false\n }\n }),\n new webpack.LoaderOptionsPlugin({\n minimize: true\n })\n ])\n});\n```\n\n## Babel\n\n`preset-latest` 或 `preset-2015` 之类的东西, 谨慎添加. 慢慢必要性也不会太大.\n\n```js\nmodule.exports = {\n presets: [['env', { modules: false }]],\n plugins: ['transform-runtime'],\n comments: false\n};\n```\n\n## ESLint\n\n这里是我用的配置:\n\n```js\nmodule.exports = {\n root: true,\n env: {\n browser: true,\n es6: true,\n node: true\n },\n extends: ['dwing'],\n plugins: ['html', 'vue'],\n rules: {\n 'no-new': 0,\n 'no-bitwise': 0,\n 'import/extensions': ['error', 'always', { js: 'never', vue: 'never' }],\n 'import/no-extraneous-dependencies': 0\n },\n settings: {\n 'import/resolver': {\n webpack: {\n config: './config/base.js'\n }\n }\n }\n};\n```\n\n在 vscode 下默认是无法对 `.vue` 文件进行 autofix 的.\n\n需要注意其中的两个插件, 一个是`eslint-plugin-html`, 一个是`eslint-plugin-vue`, 同时要修改 vscode 的配置 `eslint.validate`, 参考:\n\n```js\n// 将设置放入此文件中以覆盖默认设置\n{\n \"editor.tabSize\": 2,\n \"[vue]\": {\n \"editor.formatOnSave\": true\n },\n \"eslint.autoFixOnSave\": true,\n \"eslint.validate\": [\n \"javascript\",\n \"javascriptreact\",\n { \"language\": \"vue\", \"autoFix\": true },\n { \"language\": \"html\", \"autoFix\": true }\n ]\n}\n```\n\n# 后端渲染\n\n根据项目来权衡,是否需要进行服务器端渲染(SSR).\n\n本项目中采用前后端完全分离的做法, 后端将直接透传前端相关的请求. 目前市面上大多数 devServer 都是用 express 框架做的,而实际项目中用到 express 的可能性小之又小. 找了很久 koa 相关的,都无法跑通,这里我就自己搞了一个能够在 koa 上进行开发运行的方法.\n\n## 开发环境\n\n使用 `Stream PassThrough` 将请求结果转发到前端 `webpack-dev-server`\n\n```js\nconst { PassThrough } = require('stream');\n\nrouter.get('/', (ctx) => {\n ctx.set('Content-Type', 'text/html');\n // webpack-dev-server 端口 9000\n ctx.body = request.get('http://localhost:9000/index.html').pipe(PassThrough());\n});\n\nrouter.get('/(.*)', async (ctx) => {\n const path = ctx.path.split('.').reverse();\n if (path.length > 0) {\n const type = path[0];\n switch (type) {\n case 'css': {\n ctx.set('Content-Type', 'text/css');\n break;\n }\n case 'js': {\n ctx.set('Content-Type', 'text/javascript');\n break;\n }\n case 'jpg': {\n ctx.set('Content-Type', 'image/jpeg');\n break;\n }\n case 'png': {\n ctx.set('Content-Type', 'image/png');\n break;\n }\n default: {\n ctx.set('Content-Type', 'text/plain');\n }\n }\n }\n ctx.body = request.get(`http://localhost:9000${ctx.path}`).pipe(PassThrough());\n});\n```\n\n唯一的不足就是, `PassThough` 默认的 mime 是 `application/octet-stream` 需要手动替换头信息.\n\n## 产品环境\n\n`koa-send` 就可以满足:\n\n```js\nconst send = require('koa-send');\n\nrouter.get('/(.*)', async (ctx) => {\n try {\n await send(ctx, '/index.html', { root: path.resolve(__dirname, '../dist') });\n } catch (e) {}\n});\nrouter.get('/(.*)', async (ctx) => {\n try {\n await send(ctx, ctx.path, { root: path.resolve(__dirname, '../dist') });\n } catch (e) {}\n});\n```\n\n---\n\n项目源码: \n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/vue-webapp","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.819Z","to":"/experience/advanced/vue-webapp","meta":{"version":0,"revision":0,"created":1756480738777},"$loki":69},{"slug":"webapp-proxy","description":"","title":"基于 API 快速搭建前后分离的项目","menuTitle":"API 快速搭建","position":2406,"category":"经验篇-进阶","toc":[{"id":"sdk-使用","depth":2,"text":"SDK 使用"},{"id":"前端请求参数","depth":2,"text":"前端请求参数"},{"id":"签名相关参数","depth":3,"text":"签名相关参数"},{"id":"登录-auth-token","depth":3,"text":"登录 Auth Token"},{"id":"登录设备相关参数","depth":3,"text":"登录设备相关参数"},{"id":"项目目录结构","depth":2,"text":"项目目录结构"},{"id":"核心代码","depth":2,"text":"核心代码"},{"id":"实现前后端分离","depth":3,"text":"实现前后端分离"},{"id":"处理接口反向代理","depth":3,"text":"处理接口反向代理"},{"id":"从远程-swagger-取得参数信息","depth":3,"text":"从远程 Swagger 取得参数信息"},{"id":"处理普通接口请求","depth":3,"text":"处理普通接口请求"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以我们目前的开放平台为例。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Sandbox(沙盒)的在线文档可以在: "},{"type":"element","tag":"a","props":{"href":"https://stagingdoc.airdwing.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://stagingdoc.airdwing.com/"}]},{"type":"text","value":" 找到。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Node.js 版本 SDK:"},{"type":"element","tag":"a","props":{"href":"https://github.com/AirDwing/node-airx-sdk","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/AirDwing/node-airx-sdk"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"sdk-使用"},"children":[{"type":"element","tag":"a","props":{"href":"#sdk-%E4%BD%BF%E7%94%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"SDK 使用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"后端接口采用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"@airx/sdk"}]},{"type":"text","value":"来完成"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"AirX Open API"}]},{"type":"text","value":"的反向代理."}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"SDK"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'@airx/sdk'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" sdk "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"SDK"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"SecretId"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxx'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"SecretKey"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxx'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 访问的域名:"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Domain"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'staging.airdwing.com'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 是否启用HTTPS:"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Secure"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" sdk"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/user/check'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"username"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'13212341234'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"前端请求参数"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%89%8D%E7%AB%AF%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"前端请求参数"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"签名相关参数"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%AD%BE%E5%90%8D%E7%9B%B8%E5%85%B3%E5%8F%82%E6%95%B0","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"签名相关参数"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"签名相关参数不用通过前端传递,防止 AK/SK 的泄露,签名交给"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Node.js"}]},{"type":"text","value":"后端反代应用程序处理,所以以下几个签名相关参数不用传递:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Nonce"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"SecretId"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Signature"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"SignatureMethod"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Timestamp"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"登录-auth-token"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%99%BB%E5%BD%95-auth-token","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"登录 Auth Token"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"由于反代应用程序支持 Cookie Session, 所以前端不用存储 Auth Token,也免去了 Auth Token 被截获的风险.所以如果接口需要以下参数,不用传递:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"auth"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"登录设备相关参数"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%99%BB%E5%BD%95%E8%AE%BE%E5%A4%87%E7%9B%B8%E5%85%B3%E5%8F%82%E6%95%B0","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"登录设备相关参数"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"每个会话都会生成一个随机唯一的模拟登录设备 id, 如果接口需要以下参数, 不用传递:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"guid"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"device"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"但需要注意的是, 你需要调用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/guid"}]},{"type":"text","value":" 接口来查询本次会话的 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"guid"}]},{"type":"text","value":" 并进行登录设备绑定."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"返回结果如下:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"status"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"guid"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxx'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"项目目录结构"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%A1%B9%E7%9B%AE%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"项目目录结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"server/ 服务器后端源码目录"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"app/ 前端应用源码目录"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"dist/ 前端应用通过"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"webpack"}]},{"type":"text","value":"等工具进行打包压缩, 将静态文件存放的目录"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"建议的 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"dist"}]},{"type":"text","value":" 目录结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"index.html"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"404.html 和 403,500... 等其他相关错误的 html"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"static/ 文件目录,或分类目录存放 css/js/图片等静态资源"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"核心代码"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%A0%B8%E5%BF%83%E4%BB%A3%E7%A0%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"核心代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"实现前后端分离"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%9E%E7%8E%B0%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BB","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"实现前后端分离"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"位于:"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"server/server.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"api"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"swagger"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" path "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"api"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"paths"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// ! 仅供开发测试, 允许跨域操作很危险"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'development'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Access-Control-Allow-Origin'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'*'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"path "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","nil"]},"children":[{"type":"text","value":"undefined"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 前后端分离, 处理前端相关静态文件"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"try"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"send"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"root"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"/../dist"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"status"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"404"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 注意要添加 404.html 到 dist 目录"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// await send(ctx, '/404.html', { root: `${__dirname}/../dist` });"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"next"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"处理接口反向代理"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%A4%84%E7%90%86%E6%8E%A5%E5%8F%A3%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"处理接口反向代理"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"位于:"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"server/server.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 提供 guid 查询接口"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/guid'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" guid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"session"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"guid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"guid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n guid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"uuid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"session"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"guid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" guid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"status"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"status"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" guid "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理后端接口"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 封装sdk请求"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/upload'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理上传"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"upload"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理其他接口"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"others"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"从远程-swagger-取得参数信息"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BB%8E%E8%BF%9C%E7%A8%8B-swagger-%E5%8F%96%E5%BE%97%E5%8F%82%E6%95%B0%E4%BF%A1%E6%81%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"从远程 Swagger 取得参数信息"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"位于:"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"server/lib/swagger.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"getSwagger"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'GET'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" apiOptions"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"doc"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"timeout"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"5000"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" paths "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"paths"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" app "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"host"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"host"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"paths"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"keys"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"paths"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reduce"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"p"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* eslint no-param-reassign:0 */"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" method "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"keys"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"paths"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n p"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" paths"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"method"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"parameters"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"t"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" t"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" p"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" app "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" redis"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'app'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n app "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getSwagger"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" redis"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'app'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"通过 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Swagger"}]},{"type":"text","value":" 配置文件可以将接口列表,及各个接口需要的参数,以便于后边再接口调用的时候有针对性的处理参数。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"处理普通接口请求"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%A4%84%E7%90%86%E6%99%AE%E9%80%9A%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"处理普通接口请求"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"位于:"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"server/handler/others.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"module"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"ctx"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" method "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"request"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"method"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"toLowerCase"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" receivedParams "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" method "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'get'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"query"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"req"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" sdk "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"SDK"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"SecretId"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" apiOptions"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"ak"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"SecretKey"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" apiOptions"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"sk"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Domain"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"api"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"host"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"Secure"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" apiOptions"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"scheme"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'https'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理请求参数"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" params "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"api"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"paths"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"indexOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'auth'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理需要 登录 的接口"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" auth "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"session"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"auth"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"auth"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"status"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"status"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"401"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" ttl "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"~"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"~"}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"session"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"ttl"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理登录超时(1小时),提前10分钟重新获取auth"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ttl "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getTimestamp"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"<"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"600"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" tmpParams "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"session"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"params"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" login "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" sdk"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"post"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/user/login'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" tmpParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" loginResult "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"doLogin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" login"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" tmpParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 密码被修改等无法登录"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"loginResult "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"status"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"status"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"401"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"auth"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" auth"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"indexOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'guid'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理需要 guid 的接口"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" guid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"session"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"guid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"guid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n guid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"uuid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"session"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"guid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" guid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"guid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" guid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"indexOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'device'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理需要登录设备名称的接口"}]},{"type":"text","value":"\n receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"device"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'AirX网页版'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"params"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"indexOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'password'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 处理需要 authcode加密 的接口"}]},{"type":"text","value":"\n receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"key"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"randStr"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"passwod"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"encode"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"passwod"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"key"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" sdk"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"method"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 记录登录信息"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"path"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/user/login'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"doLogin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" receivedParams"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"status"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n ctx"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"该实例代码可以在: "},{"type":"element","tag":"a","props":{"href":"https://github.com/AirDwing/node-airx-webapp","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/AirDwing/node-airx-webapp"}]},{"type":"text","value":" 找到。"}]}]},"text":"\n以我们目前的开放平台为例。\n\nSandbox(沙盒)的在线文档可以在: 找到。\n\nNode.js 版本 SDK:\n\n## SDK 使用\n\n后端接口采用`@airx/sdk`来完成`AirX Open API`的反向代理.\n\n```js\nconst SDK = require('@airx/sdk');\n\nconst sdk = new SDK({\n SecretId: 'xxxx',\n SecretKey: 'xxxx',\n // 访问的域名:\n Domain: 'staging.airdwing.com',\n // 是否启用HTTPS:\n Secure: true\n});\n\n(async () => {\n const result = await sdk.get('/user/check', {\n username: '13212341234'\n });\n console.log(result);\n})();\n```\n\n## 前端请求参数\n\n### 签名相关参数\n\n签名相关参数不用通过前端传递,防止 AK/SK 的泄露,签名交给`Node.js`后端反代应用程序处理,所以以下几个签名相关参数不用传递:\n\n- Nonce\n- SecretId\n- Signature\n- SignatureMethod\n- Timestamp\n\n### 登录 Auth Token\n\n由于反代应用程序支持 Cookie Session, 所以前端不用存储 Auth Token,也免去了 Auth Token 被截获的风险.所以如果接口需要以下参数,不用传递:\n\n- auth\n\n### 登录设备相关参数\n\n每个会话都会生成一个随机唯一的模拟登录设备 id, 如果接口需要以下参数, 不用传递:\n\n- guid\n- device\n\n但需要注意的是, 你需要调用 `/guid` 接口来查询本次会话的 `guid` 并进行登录设备绑定.\n\n返回结果如下:\n\n```js\n{\n status: 1,\n data: {\n guid: 'xxxx'\n }\n}\n```\n\n## 项目目录结构\n\n- server/ 服务器后端源码目录\n- app/ 前端应用源码目录\n- dist/ 前端应用通过`webpack`等工具进行打包压缩, 将静态文件存放的目录\n\n建议的 `dist` 目录结构\n\n- index.html\n- 404.html 和 403,500... 等其他相关错误的 html\n- static/ 文件目录,或分类目录存放 css/js/图片等静态资源\n\n\n\n## 核心代码\n\n### 实现前后端分离\n\n位于:`server/server.js`\n\n```js\napp.use(async (ctx, next) => {\n ctx.api = await swagger();\n const path = ctx.api.paths[ctx.path];\n // ! 仅供开发测试, 允许跨域操作很危险\n if (ENV === 'development') {\n ctx.set('Access-Control-Allow-Origin', '*');\n }\n if (path === undefined) {\n // 前后端分离, 处理前端相关静态文件\n try {\n await send(ctx, ctx.path, { root: `${__dirname}/../dist` });\n } catch (err) {\n ctx.status = 404;\n // 注意要添加 404.html 到 dist 目录\n // await send(ctx, '/404.html', { root: `${__dirname}/../dist` });\n }\n return;\n }\n await next();\n});\n```\n\n### 处理接口反向代理\n\n位于:`server/server.js`\n\n```js\napp.use(async (ctx) => {\n // 提供 guid 查询接口\n if (ctx.path === '/guid') {\n let guid = ctx.session.guid;\n if (isEmpty(guid)) {\n guid = uuid();\n ctx.session.guid = guid;\n }\n ctx.status = 200;\n ctx.body = { status: 1, data: { guid } };\n return;\n }\n // 处理后端接口\n // 封装sdk请求\n if (ctx.path === '/upload') {\n // 处理上传\n await upload(ctx);\n } else {\n // 处理其他接口\n await others(ctx);\n }\n});\n```\n\n### 从远程 Swagger 取得参数信息\n\n位于:`server/lib/swagger.js`\n\n```js\nconst getSwagger = async () => {\n const result = await request({\n method: 'GET',\n url: apiOptions.doc,\n timeout: 5000\n });\n const paths = result.paths;\n const app = {\n host: result.host,\n paths: Object.keys(paths).reduce((p, x) => {\n /* eslint no-param-reassign:0 */\n const method = Object.keys(paths[x])[0];\n p[x] = paths[x][method].parameters.map((t) => t.name);\n return p;\n }, {})\n };\n return app;\n};\n\nmodule.exports = async () => {\n let app = await redis.get('app');\n if (isEmpty(app)) {\n app = await getSwagger();\n await redis.set('app', app);\n }\n return app;\n};\n```\n\n通过 `Swagger` 配置文件可以将接口列表,及各个接口需要的参数,以便于后边再接口调用的时候有针对性的处理参数。\n\n### 处理普通接口请求\n\n位于:`server/handler/others.js`\n\n```js\nmodule.exports = async (ctx) => {\n const method = ctx.request.method.toLowerCase();\n const receivedParams = method === 'get' ? ctx.query : await parse(ctx.req);\n\n const sdk = new SDK({\n SecretId: apiOptions.ak,\n SecretKey: apiOptions.sk,\n Domain: ctx.api.host,\n Secure: apiOptions.scheme === 'https'\n });\n\n // 处理请求参数\n const params = ctx.api.paths[ctx.path];\n if (params.indexOf('auth') !== -1) {\n // 处理需要 登录 的接口\n const auth = ctx.session.auth;\n if (isEmpty(auth)) {\n ctx.status = 200;\n ctx.body = { status: 0, code: 401 };\n return;\n }\n const ttl = ~~ctx.session.ttl;\n // 处理登录超时(1小时),提前10分钟重新获取auth\n if (ttl - getTimestamp() < 600) {\n const tmpParams = JSON.parse(ctx.session.params);\n const login = await sdk.post('/user/login', tmpParams);\n const loginResult = doLogin(ctx, login, tmpParams);\n // 密码被修改等无法登录\n if (loginResult === -1) {\n ctx.status = 200;\n ctx.body = { status: 0, code: 401 };\n return;\n }\n }\n\n receivedParams.auth = auth;\n }\n\n if (params.indexOf('guid') !== -1) {\n // 处理需要 guid 的接口\n let guid = ctx.session.guid;\n if (isEmpty(guid)) {\n guid = uuid();\n ctx.session.guid = guid;\n }\n receivedParams.guid = guid;\n }\n\n if (params.indexOf('device') !== -1) {\n // 处理需要登录设备名称的接口\n receivedParams.device = 'AirX网页版';\n }\n\n if (params.indexOf('password') !== -1) {\n // 处理需要 authcode加密 的接口\n receivedParams.key = randStr(6);\n receivedParams.passwod = encode(receivedParams.passwod, receivedParams.key);\n }\n\n const result = await sdk[method](ctx.path, receivedParams);\n // 记录登录信息\n if (ctx.path === '/user/login') {\n doLogin(ctx, result, receivedParams);\n }\n ctx.status = 200;\n ctx.body = result;\n};\n```\n\n该实例代码可以在: 找到。\n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/webapp-proxy","extension":".md","createdAt":"2025-08-29T15:18:11.819Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/advanced/webapp-proxy","meta":{"version":0,"revision":0,"created":1756480738795},"$loki":70},{"slug":"webpack-server","description":"","title":"服务器端代码打包","position":2409,"category":"经验篇-进阶","toc":[{"id":"环境变量","depth":2,"text":"环境变量"},{"id":"动态配置打包","depth":2,"text":"动态配置打包"},{"id":"注意","depth":3,"text":"注意"},{"id":"configindexjs","depth":3,"text":"config/index.js"},{"id":"模块化打包","depth":2,"text":"模块化打包"},{"id":"进阶使用","depth":3,"text":"进阶使用"},{"id":"压缩代码-并添加-source-map-支持","depth":2,"text":"压缩代码, 并添加 source-map 支持"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"环境变量"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"环境变量"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"之前,我们在项目里会经常使用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"process.env.NODE_ENV"}]},{"type":"text","value":", 但这个变量对于 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"webpack"}]},{"type":"text","value":"打包是有影响的, 在 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"production"}]},{"type":"text","value":" 的时候是有优化的."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以, 我们将改用其他的环境变量来区别:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"webpack"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"DefinePlugin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"'process.env.NODE_ENV'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'\"production\"'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"'process.env.API_ENV'"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"API_ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'development'"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"像这样, "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"NODE_ENV"}]},{"type":"text","value":" 始终为 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"production"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"而我们实际开发/产品环境, 用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"process.env.API_ENV"}]},{"type":"text","value":" 变量来使用(由于该项目是一个 koa 接口服务项目, 所以这样进行命名, 可以改成任意的, 你开心就好)."}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"动态配置打包"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8A%A8%E6%80%81%E9%85%8D%E7%BD%AE%E6%89%93%E5%8C%85","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"动态配置打包"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"注意"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B3%A8%E6%84%8F","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注意"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"我们以前在 node.js 后端项目中, 动态配置加载一般是这样写:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"NODE_ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'development'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// eslint-disable-next-line import/no-dynamic-require"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" options "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"./_"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"ENV"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" options"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"为了提高阅读性, 和可能存在"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ENV"}]},{"type":"text","value":"的复用, 我们会单独定义一个变量."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在 webpack 打包的项目中直接这样做的话, 会产生一个问题. 比如我现在有多个配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"_develpment.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"_test.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"_production.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"_staging.js"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"即便我传入的当前环境为 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"development"}]},{"type":"text","value":", 依然所有的配置文件会被全部打包进来(只是永远不会被执行). 那么这样的话, 就存在敏感信息泄露的风险."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"正确的姿势应该是这样的:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"configindexjs"},"children":[{"type":"element","tag":"a","props":{"href":"#configindexjs","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"config/index.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// eslint-disable-next-line import/no-dynamic-require"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" options "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"./_"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"API_ENV"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'development'"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" options"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"模块化打包"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%A8%A1%E5%9D%97%E5%8C%96%E6%89%93%E5%8C%85","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"模块化打包"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比如, 我在项目中有很多个模块, 处于负载均衡的需求, 或者是对于客户定制模块化产品的需求, 我们需要分模块进行打包, 避免其他模块(永远不会被执行的)被打包进 webpack bundle."}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// config/_development.js"}]},{"type":"text","value":"\nexports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"enabledModules"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'user'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'demo'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 可能 src 目录下 还有其他模块目录, 如 'manage' 等"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在服务端加载的时候, 是这样子的:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// src/server.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 动态加载启用的模块"}]},{"type":"text","value":"\nenabledModules"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"forEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"mod"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* eslint-disable global-require,import/no-dynamic-require */"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" routes "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"./"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"mod"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"/route"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n routes"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"middleware"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"|"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"那么就需要 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ContextReplacementPlugin"}]},{"type":"text","value":" 插件来支持了."}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"webpack"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"ContextReplacementPlugin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"RegExp"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"^./("}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"enabledModules"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"join"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'|'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":")/.*$"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"进阶使用"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%BF%9B%E9%98%B6%E4%BD%BF%E7%94%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"进阶使用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比如,"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"src"}]},{"type":"text","value":"目录下除了各个模块的目录, 还有一些通用方法类,钩子的目录, 如: "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"lib"}]},{"type":"text","value":" 和 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"hook"}]},{"type":"text","value":". 这两个目录是可能被其他子模块共同引用的. 在插件正则中修改:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"webpack"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"ContextReplacementPlugin"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","regex"]},"children":[{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]},{"type":"element","tag":"span","props":{"className":["token","regex-source","language-regex"]},"children":[{"type":"text","value":"src"}]},{"type":"element","tag":"span","props":{"className":["token","regex-delimiter"]},"children":[{"type":"text","value":"/"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"RegExp"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"^./(lib|hook|"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"enabledModules"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"join"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'|'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":")/.*$"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"压缩代码-并添加-source-map-支持"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8E%8B%E7%BC%A9%E4%BB%A3%E7%A0%81-%E5%B9%B6%E6%B7%BB%E5%8A%A0-source-map-%E6%94%AF%E6%8C%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"压缩代码, 并添加 source-map 支持"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Uglifyjs"}]},{"type":"text","value":" 或 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Uglify-es"}]},{"type":"text","value":" 其实对于服务器端代码打包并不友好, 可能会导致打包的失败, 用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"babel-minify-webpack-plugin"}]},{"type":"text","value":" 插件来替代."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"配合 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"source-map-support"}]},{"type":"text","value":" 插件来支持源码的问题定位."}]},{"type":"text","value":"\n"},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例项目源码: "},{"type":"element","tag":"a","props":{"href":"https://github.com/AirDwing/webpack-server-bundle","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/AirDwing/webpack-server-bundle"}]}]}]},"text":"\n## 环境变量\n\n之前,我们在项目里会经常使用 `process.env.NODE_ENV`, 但这个变量对于 `webpack`打包是有影响的, 在 `production` 的时候是有优化的.\n\n所以, 我们将改用其他的环境变量来区别:\n\n```js\nnew webpack.DefinePlugin({\n 'process.env.NODE_ENV': '\"production\"',\n 'process.env.API_ENV': `\"${process.env.API_ENV || 'development'}\"`\n});\n```\n\n像这样, `NODE_ENV` 始终为 `production`.\n\n而我们实际开发/产品环境, 用 `process.env.API_ENV` 变量来使用(由于该项目是一个 koa 接口服务项目, 所以这样进行命名, 可以改成任意的, 你开心就好).\n\n\n\n\n\n## 动态配置打包\n\n### 注意\n\n我们以前在 node.js 后端项目中, 动态配置加载一般是这样写:\n\n```js\nconst ENV = process.env.NODE_ENV || 'development';\n// eslint-disable-next-line import/no-dynamic-require\nconst options = require(`./_${ENV}`);\n\nmodule.exports = options;\n```\n\n为了提高阅读性, 和可能存在`ENV`的复用, 我们会单独定义一个变量.\n\n在 webpack 打包的项目中直接这样做的话, 会产生一个问题. 比如我现在有多个配置:\n\n- \\_develpment.js\n- \\_test.js\n- \\_production.js\n- \\_staging.js\n\n即便我传入的当前环境为 `development`, 依然所有的配置文件会被全部打包进来(只是永远不会被执行). 那么这样的话, 就存在敏感信息泄露的风险.\n\n正确的姿势应该是这样的:\n\n### config/index.js\n\n```js\n// eslint-disable-next-line import/no-dynamic-require\nconst options = require(`./_${process.env.API_ENV || 'development'}`);\n\nmodule.exports = options;\n```\n\n## 模块化打包\n\n比如, 我在项目中有很多个模块, 处于负载均衡的需求, 或者是对于客户定制模块化产品的需求, 我们需要分模块进行打包, 避免其他模块(永远不会被执行的)被打包进 webpack bundle.\n\n```js\n// config/_development.js\nexports.enabledModules = ['user', 'demo'];\n// 可能 src 目录下 还有其他模块目录, 如 'manage' 等\n```\n\n在服务端加载的时候, 是这样子的:\n\n```js\n// src/server.js\n// 动态加载启用的模块\nenabledModules.forEach((mod) => {\n /* eslint-disable global-require,import/no-dynamic-require */\n const routes = require(`./${mod}/route`);\n routes.middleware() |> app.use;\n});\n```\n\n那么就需要 `ContextReplacementPlugin` 插件来支持了.\n\n```js\nnew webpack.ContextReplacementPlugin(/src/, new RegExp(`^./(${enabledModules.join('|')})/.*$`));\n```\n\n### 进阶使用\n\n比如,`src`目录下除了各个模块的目录, 还有一些通用方法类,钩子的目录, 如: `lib` 和 `hook`. 这两个目录是可能被其他子模块共同引用的. 在插件正则中修改:\n\n```js\nnew webpack.ContextReplacementPlugin(/src/, new RegExp(`^./(lib|hook|${enabledModules.join('|')})/.*$`));\n```\n\n## 压缩代码, 并添加 source-map 支持\n\n`Uglifyjs` 或 `Uglify-es` 其实对于服务器端代码打包并不友好, 可能会导致打包的失败, 用 `babel-minify-webpack-plugin` 插件来替代.\n\n配合 `source-map-support` 插件来支持源码的问题定位.\n\n---\n\n示例项目源码: \n","dir":"/zh/experience/advanced","path":"/zh/experience/advanced/webpack-server","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/advanced/webpack-server","meta":{"version":0,"revision":0,"created":1756480738801},"$loki":71},{"slug":"architecture","description":"","title":"系统架构设计","position":2003,"category":"经验篇-设计","toc":[{"id":"核心思想原则","depth":2,"text":"核心思想原则"},{"id":"分治法","depth":3,"text":"分治法"},{"id":"高内聚低耦合","depth":3,"text":"高内聚,低耦合"},{"id":"前后端分离","depth":3,"text":"前后端分离"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"核心思想原则"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%A0%B8%E5%BF%83%E6%80%9D%E6%83%B3%E5%8E%9F%E5%88%99","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"核心思想原则"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"分治法"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%86%E6%B2%BB%E6%B3%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"分治法"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"即分而治之。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"将庞大的计算、存储压力向下级分摊。又可以看做是去中心化的一种实践方式。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"数据中心只承担一些核心数据的存储工作;每个服务器都可以存储部分非通用的数据,承担部分的计算及负载压力。下级路由、智能终端设备、智能移动设备等,都可以分摊服务器的压力。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"高内聚低耦合"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%AB%98%E5%86%85%E8%81%9A%E4%BD%8E%E8%80%A6%E5%90%88","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"高内聚,低耦合"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"**"},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"对外"}]},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"低耦合,"}]},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"对内"}]},{"type":"text","value":"**高内聚"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有个例子很容易明白:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一个程序有 50 个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他 49 个函数都需要做修改,这就是高耦合的后果。一旦你理解了它,你编写概要设计的时候设计类或者模块自然会考虑到“高内聚,低耦合”。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"耦合、内聚的评估标准是**"},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"强度"}]},{"type":"text","value":"**,耦合越弱越好,内聚越强越好;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"所谓**"},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"过度"}]},{"type":"text","value":"**指的是由于错误理解导致的效果相反的设计;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"耦合指的模块之间的关系"}]},{"type":"text","value":",最弱的耦合设计是通过一个主控模块来协调 n 个模块之间的运作。还是举一个我举过的例子:客户要求在界面上增加一个字段,你的项目要修改几个地方呢?如果你只要修改项目文档,那么你的开发构架就是最低强度的耦合,而这种设计 成熟的开发团队都已经做到了,他们使用开发工具通过项目模型驱动数据库和各层次的代码,而不是直接修改那些代码;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"内聚指的是模块内部的功能"}]},{"type":"text","value":",最强的内聚就是功能单一到不能拆分,也就是原子化;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"所以**"},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"强内聚和弱耦合是相辅相成的,一个良好的设计是由若干个强内聚模块以弱耦合的方式组装起来的。"}]},{"type":"text","value":"**"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"前后端分离"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%89%8D%E5%90%8E%E7%AB%AF%E5%88%86%E7%A6%BB","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"前后端分离"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考资料:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://segmentfault.com/a/1190000002978095","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://segmentfault.com/a/1190000002978095"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://2014.jsconf.cn/slides/herman-taobaoweb/index.html","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://2014.jsconf.cn/slides/herman-taobaoweb/index.html"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注意点: 前后端分离不单指 Web 的前后端,也包括客户端(前)和服务器(后)的分离。"}]}]},"text":"\n## 核心思想原则\n\n### 分治法\n\n即分而治之。\n\n将庞大的计算、存储压力向下级分摊。又可以看做是去中心化的一种实践方式。\n\n数据中心只承担一些核心数据的存储工作;每个服务器都可以存储部分非通用的数据,承担部分的计算及负载压力。下级路由、智能终端设备、智能移动设备等,都可以分摊服务器的压力。\n\n\n\n### 高内聚,低耦合\n\n耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。\n\n**_对外_**低耦合,**_对内_**高内聚\n\n有个例子很容易明白:\n\n> 一个程序有 50 个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他 49 个函数都需要做修改,这就是高耦合的后果。一旦你理解了它,你编写概要设计的时候设计类或者模块自然会考虑到“高内聚,低耦合”。\n\n1. 耦合、内聚的评估标准是**_强度_**,耦合越弱越好,内聚越强越好;\n2. 所谓**_过度_**指的是由于错误理解导致的效果相反的设计;\n3. _耦合指的模块之间的关系_,最弱的耦合设计是通过一个主控模块来协调 n 个模块之间的运作。还是举一个我举过的例子:客户要求在界面上增加一个字段,你的项目要修改几个地方呢?如果你只要修改项目文档,那么你的开发构架就是最低强度的耦合,而这种设计 成熟的开发团队都已经做到了,他们使用开发工具通过项目模型驱动数据库和各层次的代码,而不是直接修改那些代码;\n4. _内聚指的是模块内部的功能_,最强的内聚就是功能单一到不能拆分,也就是原子化;\n5. 所以**_强内聚和弱耦合是相辅相成的,一个良好的设计是由若干个强内聚模块以弱耦合的方式组装起来的。_**\n\n### 前后端分离\n\n参考资料:\n\n- \n- \n\n注意点: 前后端分离不单指 Web 的前后端,也包括客户端(前)和服务器(后)的分离。\n","dir":"/zh/experience/design","path":"/zh/experience/design/architecture","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/design/architecture","meta":{"version":0,"revision":0,"created":1756480738805},"$loki":72},{"slug":"requirements","description":"","title":"需求分析","position":2001,"category":"经验篇-设计","toc":[{"id":"设计","depth":2,"text":"设计"},{"id":"思维导图","depth":3,"text":"思维导图"},{"id":"uml-建模","depth":3,"text":"UML 建模"},{"id":"原型","depth":3,"text":"原型"},{"id":"规范","depth":3,"text":"规范"},{"id":"需求","depth":2,"text":"需求"},{"id":"什么样的需求该忽略","depth":3,"text":"什么样的需求该忽略"},{"id":"什么样的需求该重视","depth":3,"text":"什么样的需求该重视"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"设计"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%AE%BE%E8%AE%A1","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设计"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"思维导图"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%80%9D%E7%BB%B4%E5%AF%BC%E5%9B%BE","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"思维导图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"工具:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Mindjet MindManager"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"uml-建模"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#uml-%E5%BB%BA%E6%A8%A1","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"UML 建模"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"流程图、时序图、用例图等,为基本技能。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"工具:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Microsoft Visio (Win)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"OmniGraffle (Mac)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"原型"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%8E%9F%E5%9E%8B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"原型"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"工具:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Axure (必备)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Pencil"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Balsamiq Mockups"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Sketch"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"规范"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%A7%84%E8%8C%83","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"规范"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"设计内容上的优劣,需要细看、深思才能知道。但规范上的问题,第一眼,就能发现。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以输出的图表、文档都要规范。这是最基本要求。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以流程图为例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"必须有开始、结束,有且只有一个开始"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"箭头必须画在流程线的尖部"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"只有判断有两个分支流向,其余均为一个"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"等等其他细节也须注意。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"需求"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%9C%80%E6%B1%82","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"需求"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"需求收集与整理,可以多画画思维导图,因为部分需求之间是存在关联关系的,要将需求的关系、层级理顺。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"什么样的需求该忽略"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%E9%9C%80%E6%B1%82%E8%AF%A5%E5%BF%BD%E7%95%A5","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"什么样的需求该忽略"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"没有大量数据证明切实符合用户实际需要的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"1拍拍脑袋得来的想法往往是没用的"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E6%8B%8D%E6%8B%8D%E8%84%91%E8%A2%8B%E5%BE%97%E6%9D%A5%E7%9A%84%E6%83%B3%E6%B3%95%E5%BE%80%E5%BE%80%E6%98%AF%E6%B2%A1%E7%94%A8%E7%9A%84","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.拍拍脑袋得来的想法,往往是没用的"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"硬币皆有两面,要用批判的眼光去审视产品经理的点子。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"当下这个阶段,人人都是产品经理,各种野路子如雨后春笋,导致好的产品经理凤毛麟角。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"当产品经理拍拍脑袋提出了一个想法,该做的事情是,让他先去做一个详细的市场调研,给出报告和可行性分析。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举一个我见过的例子:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"很早之前我们团队接到一个任务,设计一款新的网关产品。产品经理的想法是将受众用户群体定位在青年人。这样就跟小米——“为发烧而生”不谋而合,直面迎来了一个还算比较强大的竞争对手。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"当时我提出了一个针对老龄化的设想,主题是傻瓜化、真智能,让中老年人都能轻松上手的产品。直到 2016 年,才出了“爱国者聚路由”这样稍微有点神似的产品。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"2用户反馈的信息不应该直接纳入需求"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E7%94%A8%E6%88%B7%E5%8F%8D%E9%A6%88%E7%9A%84%E4%BF%A1%E6%81%AF%E4%B8%8D%E5%BA%94%E8%AF%A5%E7%9B%B4%E6%8E%A5%E7%BA%B3%E5%85%A5%E9%9C%80%E6%B1%82","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.用户反馈的信息,不应该直接纳入需求"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"根据二八原则,将 80%精力放在 20%最有价值产出的事情上。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"用户的需求是需求,但不一定是大众需求。所以如果是一个只有三五十活跃用户的反馈组里,得到的反馈信息仅能作为参考。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举个例子:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设有这样一个问题:智能门锁通过手机解锁是否需要输入密码。在用户群里,有一些用户反馈说手机 App 上开锁还要打密码很麻烦,不如去掉这一步的密码校验,得到了一批人的支持。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"但这样的需求不可取。实际的需求依然需要大量的数据去支撑。一方面,方便和安全,都需要考虑。另一方面,如果大量的用户反馈觉得这样比较麻烦,最佳实践应该是,保留 App 上的密码解锁功能,但可以设置开启或关闭,默认开启,由用户去控制,为了方便可以将其关闭,但由于这种用户自发行为导致的安全隐患,就得交由用户自行承担。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"3扭改用户习惯的需求一律不考虑"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#3%E6%89%AD%E6%94%B9%E7%94%A8%E6%88%B7%E4%B9%A0%E6%83%AF%E7%9A%84%E9%9C%80%E6%B1%82%E4%B8%80%E5%BE%8B%E4%B8%8D%E8%80%83%E8%99%91","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.扭改用户习惯的需求,一律不考虑"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"用户行为引导应该是个缓慢而循序渐进的过程。在做技术架构的时候可以稍微激进一点,采用一些新架构新技术去尝试,能提高系统性能;但是在做产品架构的时候,不可冒进。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举例说明:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"原有用户账号体系中,不支持手机号注册、登录。在添加这项新功能后,应该是引导用户绑定手机,允许原有方式登录,并增加新的方式登录。尊重原有用户使用用户名的习惯,逐步培养绑定手机号的安全行为,但不能强制用户将登录习惯也改为用手机号进行登录。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"因为假设我的用户名为 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"wzl"}]},{"type":"text","value":" 或者 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"willin"}]},{"type":"text","value":" 都会比手机号(11 位)输入更方便,所以这样的引导并不能帮助用户得到什么益处。不可取。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"什么样的需求该重视"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%E9%9C%80%E6%B1%82%E8%AF%A5%E9%87%8D%E8%A7%86","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"什么样的需求该重视"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"1从运维系统中根据数据结果分析得出的结论"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E4%BB%8E%E8%BF%90%E7%BB%B4%E7%B3%BB%E7%BB%9F%E4%B8%AD%E6%A0%B9%E6%8D%AE%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%9C%E5%88%86%E6%9E%90%E5%BE%97%E5%87%BA%E7%9A%84%E7%BB%93%E8%AE%BA","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.从运维系统中根据数据结果分析得出的结论"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"完善运维系统,采集更多需要的信息。根据信息分析得出的可靠结论,才是最重要的需求点。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里就不举例展开了,一方面数据都是比较私密的,另外一方面,数据所展示出来的问题都是比较明显的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"2重视有洞见者的每一句话"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E9%87%8D%E8%A7%86%E6%9C%89%E6%B4%9E%E8%A7%81%E8%80%85%E7%9A%84%E6%AF%8F%E4%B8%80%E5%8F%A5%E8%AF%9D","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.重视有洞见者的每一句话"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"什么样的人输出什么样的创意。没有偏见,客观陈述。狗嘴里吐不出象牙,所以不要指望肤浅的人给出多么好的意见。而能给出好创意的人,能够源源不断地输出好的创意。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"设计,主要来自于思想和经验。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"思想这个东西,虽然有后天弥补的空间,但基本都是与生俱来的,可视为先天优势。而经验,则需要知识和实践相结合,可视为后天富足。只有两者都满足,才能成为一个好的设计者。很苛刻,但这是事实。"}]}]},"text":"\n## 设计\n\n### 思维导图\n\n工具:\n\n- Mindjet MindManager\n\n### UML 建模\n\n流程图、时序图、用例图等,为基本技能。\n\n工具:\n\n- Microsoft Visio (Win)\n- OmniGraffle (Mac)\n\n### 原型\n\n工具:\n\n- Axure (必备)\n- Pencil\n- Balsamiq Mockups\n- Sketch\n\n### 规范\n\n设计内容上的优劣,需要细看、深思才能知道。但规范上的问题,第一眼,就能发现。\n\n所以输出的图表、文档都要规范。这是最基本要求。\n\n以流程图为例:\n\n- 必须有开始、结束,有且只有一个开始\n- 箭头必须画在流程线的尖部\n- 只有判断有两个分支流向,其余均为一个\n\n等等其他细节也须注意。\n\n\n\n## 需求\n\n需求收集与整理,可以多画画思维导图,因为部分需求之间是存在关联关系的,要将需求的关系、层级理顺。\n\n### 什么样的需求该忽略\n\n没有大量数据证明切实符合用户实际需要的。\n\n#### 1.拍拍脑袋得来的想法,往往是没用的\n\n硬币皆有两面,要用批判的眼光去审视产品经理的点子。\n\n当下这个阶段,人人都是产品经理,各种野路子如雨后春笋,导致好的产品经理凤毛麟角。\n\n当产品经理拍拍脑袋提出了一个想法,该做的事情是,让他先去做一个详细的市场调研,给出报告和可行性分析。\n\n举一个我见过的例子:\n\n很早之前我们团队接到一个任务,设计一款新的网关产品。产品经理的想法是将受众用户群体定位在青年人。这样就跟小米——“为发烧而生”不谋而合,直面迎来了一个还算比较强大的竞争对手。\n\n当时我提出了一个针对老龄化的设想,主题是傻瓜化、真智能,让中老年人都能轻松上手的产品。直到 2016 年,才出了“爱国者聚路由”这样稍微有点神似的产品。\n\n#### 2.用户反馈的信息,不应该直接纳入需求\n\n根据二八原则,将 80%精力放在 20%最有价值产出的事情上。\n\n用户的需求是需求,但不一定是大众需求。所以如果是一个只有三五十活跃用户的反馈组里,得到的反馈信息仅能作为参考。\n\n举个例子:\n\n假设有这样一个问题:智能门锁通过手机解锁是否需要输入密码。在用户群里,有一些用户反馈说手机 App 上开锁还要打密码很麻烦,不如去掉这一步的密码校验,得到了一批人的支持。\n\n但这样的需求不可取。实际的需求依然需要大量的数据去支撑。一方面,方便和安全,都需要考虑。另一方面,如果大量的用户反馈觉得这样比较麻烦,最佳实践应该是,保留 App 上的密码解锁功能,但可以设置开启或关闭,默认开启,由用户去控制,为了方便可以将其关闭,但由于这种用户自发行为导致的安全隐患,就得交由用户自行承担。\n\n#### 3.扭改用户习惯的需求,一律不考虑\n\n用户行为引导应该是个缓慢而循序渐进的过程。在做技术架构的时候可以稍微激进一点,采用一些新架构新技术去尝试,能提高系统性能;但是在做产品架构的时候,不可冒进。\n\n举例说明:\n\n原有用户账号体系中,不支持手机号注册、登录。在添加这项新功能后,应该是引导用户绑定手机,允许原有方式登录,并增加新的方式登录。尊重原有用户使用用户名的习惯,逐步培养绑定手机号的安全行为,但不能强制用户将登录习惯也改为用手机号进行登录。\n\n因为假设我的用户名为 `wzl` 或者 `willin` 都会比手机号(11 位)输入更方便,所以这样的引导并不能帮助用户得到什么益处。不可取。\n\n### 什么样的需求该重视\n\n#### 1.从运维系统中根据数据结果分析得出的结论\n\n完善运维系统,采集更多需要的信息。根据信息分析得出的可靠结论,才是最重要的需求点。\n\n这里就不举例展开了,一方面数据都是比较私密的,另外一方面,数据所展示出来的问题都是比较明显的。\n\n#### 2.重视有洞见者的每一句话\n\n什么样的人输出什么样的创意。没有偏见,客观陈述。狗嘴里吐不出象牙,所以不要指望肤浅的人给出多么好的意见。而能给出好创意的人,能够源源不断地输出好的创意。\n\n设计,主要来自于思想和经验。\n\n思想这个东西,虽然有后天弥补的空间,但基本都是与生俱来的,可视为先天优势。而经验,则需要知识和实践相结合,可视为后天富足。只有两者都满足,才能成为一个好的设计者。很苛刻,但这是事实。\n","dir":"/zh/experience/design","path":"/zh/experience/design/requirements","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/design/requirements","meta":{"version":0,"revision":0,"created":1756480738811},"$loki":73},{"slug":"product","description":"","title":"产品设计","position":2002,"category":"经验篇-设计","toc":[{"id":"核心思想原则","depth":2,"text":"核心思想原则"},{"id":"安全--并发性能--用户体验ue--用户界面ui","depth":3,"text":"安全 > 并发性能 > 用户体验(UE) > 用户界面(UI)"},{"id":"最简化可实行产品mvp原则","depth":3,"text":"最简化可实行产品(MVP)原则"},{"id":"用户体验设计经验心得","depth":2,"text":"用户体验设计经验心得"},{"id":"体验重心不在于整体感觉而在于细节处理","depth":3,"text":"体验重心不在于整体感觉,而在于细节处理"},{"id":"消费降级--体验降级","depth":3,"text":"消费降级 ≠ 体验降级"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"核心思想原则"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%A0%B8%E5%BF%83%E6%80%9D%E6%83%B3%E5%8E%9F%E5%88%99","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"核心思想原则"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安全--并发性能--用户体验ue--用户界面ui"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%AE%89%E5%85%A8--%E5%B9%B6%E5%8F%91%E6%80%A7%E8%83%BD--%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8Cue--%E7%94%A8%E6%88%B7%E7%95%8C%E9%9D%A2ui","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安全 > "},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"并发性能"}]}]},{"type":"text","value":" > 用户体验(UE) > 用户界面(UI)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里强调一下并发性能,重于用户体验。原因很简单,因为并发性能直接导致了对服务器硬件环境的要求,所以可视为并发性能即归于成本。没有项目、产品可以不计成本去完善用户体验。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"最简化可实行产品mvp原则"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%9C%80%E7%AE%80%E5%8C%96%E5%8F%AF%E5%AE%9E%E8%A1%8C%E4%BA%A7%E5%93%81mvp%E5%8E%9F%E5%88%99","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"最简化可实行产品(MVP)原则"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"专注一个突破点。不盲目搞大。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"冰冻三尺非一日之寒,一口吃不成胖子。所有庞大的系统,都是由一个个小的子系统逐步演化而来。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"明确受众用户,明确核心功能,快速迭代。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"用户体验设计经验心得"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%94%A8%E6%88%B7%E4%BD%93%E9%AA%8C%E8%AE%BE%E8%AE%A1%E7%BB%8F%E9%AA%8C%E5%BF%83%E5%BE%97","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"用户体验设计经验心得"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"体验重心不在于整体感觉而在于细节处理"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BD%93%E9%AA%8C%E9%87%8D%E5%BF%83%E4%B8%8D%E5%9C%A8%E4%BA%8E%E6%95%B4%E4%BD%93%E6%84%9F%E8%A7%89%E8%80%8C%E5%9C%A8%E4%BA%8E%E7%BB%86%E8%8A%82%E5%A4%84%E7%90%86","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"体验重心不在于整体感觉,而在于细节处理"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/design/tip.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"显示密码按钮逻辑颠倒,像这种问题不仔细看可能都无法察觉。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"弹窗中包含右上角关闭按钮,中间的取消按钮,以及屏幕点击空白处的自动关闭,共计 3 处关闭,“取消”按钮完全没有必要留下。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"消费降级--体验降级"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%B6%88%E8%B4%B9%E9%99%8D%E7%BA%A7--%E4%BD%93%E9%AA%8C%E9%99%8D%E7%BA%A7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"消费降级 ≠ 体验降级"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"交互中避免增加不必要的操作,简化复杂操作;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"界面显示中,避免无关联的堆砌,数据直观减少用户思考。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/design/chart.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以此处图表为反例教材,该图表反应的应该是项目实施进度。其中,中间着重显示的 70% 可能为已完成任务的比例,移动上每个具体项目显示的为个数(不显示比例)。虽然看似内容丰富,但实则没有任何帮助统计的意义。我既不知道完成了多少个任务,也不知道有空再看看的比例是多少。"}]}]},"text":"\n## 核心思想原则\n\n### 安全 > **_并发性能_** > 用户体验(UE) > 用户界面(UI)\n\n这里强调一下并发性能,重于用户体验。原因很简单,因为并发性能直接导致了对服务器硬件环境的要求,所以可视为并发性能即归于成本。没有项目、产品可以不计成本去完善用户体验。\n\n### 最简化可实行产品(MVP)原则\n\n专注一个突破点。不盲目搞大。\n\n冰冻三尺非一日之寒,一口吃不成胖子。所有庞大的系统,都是由一个个小的子系统逐步演化而来。\n\n明确受众用户,明确核心功能,快速迭代。\n\n\n\n## 用户体验设计经验心得\n\n### 体验重心不在于整体感觉,而在于细节处理\n\n![Image](/experience/design/tip.png)\n\n显示密码按钮逻辑颠倒,像这种问题不仔细看可能都无法察觉。\n\n弹窗中包含右上角关闭按钮,中间的取消按钮,以及屏幕点击空白处的自动关闭,共计 3 处关闭,“取消”按钮完全没有必要留下。\n\n### 消费降级 ≠ 体验降级\n\n- 交互中避免增加不必要的操作,简化复杂操作;\n- 界面显示中,避免无关联的堆砌,数据直观减少用户思考。\n\n![Image](/experience/design/chart.png)\n\n以此处图表为反例教材,该图表反应的应该是项目实施进度。其中,中间着重显示的 70% 可能为已完成任务的比例,移动上每个具体项目显示的为个数(不显示比例)。虽然看似内容丰富,但实则没有任何帮助统计的意义。我既不知道完成了多少个任务,也不知道有空再看看的比例是多少。\n","dir":"/zh/experience/design","path":"/zh/experience/design/product","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/design/product","meta":{"version":0,"revision":0,"created":1756480738814},"$loki":74},{"slug":"system","description":"","title":"系统架构设计实践","position":2004,"category":"经验篇-设计","toc":[{"id":"第一步定位用户","depth":2,"text":"第一步:定位用户"},{"id":"第二步系统功能设计","depth":2,"text":"第二步:系统功能设计"},{"id":"示例","depth":3,"text":"示例"},{"id":"第三步设计数据库表结构","depth":2,"text":"第三步:设计数据库表结构"},{"id":"第四步搭建系统框架","depth":2,"text":"第四步:搭建系统框架"},{"id":"第五步迭代","depth":2,"text":"第五步:迭代"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一个开放平台的设计大概思路。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"第一步定位用户"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%AC%AC%E4%B8%80%E6%AD%A5%E5%AE%9A%E4%BD%8D%E7%94%A8%E6%88%B7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"第一步:定位用户"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"开发者,分企业开发者和个人开发者。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"第二步系统功能设计"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%AC%AC%E4%BA%8C%E6%AD%A5%E7%B3%BB%E7%BB%9F%E5%8A%9F%E8%83%BD%E8%AE%BE%E8%AE%A1","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"第二步:系统功能设计"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"心中先有个梗概,列出列表。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最核心的功能模块:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"提供开放接口"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"提供开放文档"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"提供 API 文档"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"提供 SDK"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"SDK 下载,来源各个组,如嵌入式、移动开发、服务器端,提供各种语言的 SDK 版本"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"除了 SDK 下载还需要提供 SDK 使用说明,整合进文档中"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其他功能模块:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户中心"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"开发者认证"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"产品管理"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后可以搭配脑图、流程图、时序图、用例图等建模工具,设计核心业务模块的流程。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"示例"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%A4%BA%E4%BE%8B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"示例"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"思维导图(脑图):"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/design/mind.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"系统结构图:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/design/system.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"用例图:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/design/use-case.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"时序图:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/design/seq.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"流程图:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/design/flow.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"第三步设计数据库表结构"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%AC%AC%E4%B8%89%E6%AD%A5%E8%AE%BE%E8%AE%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A1%A8%E7%BB%93%E6%9E%84","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"第三步:设计数据库表结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"建库建表非常关键。主要原则为,减少冗余数据、避免表字段过多、提高查询性能。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最好是以数字 id 为主键,避免使用自增 id(影响数据同步),外键关系不用外键,关键字段设置索引。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先第一张表,应该是用户表,虽然不是核心业务,但所有核心业务都与用户相关联,也需要注册登录才能进行。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以先设计用户表。用户表应该至少两张表,一张是用户基本信息表,只存用户名、密码等或最常用字段,如登录信息;另一张是认证信息,当然也可以分别为企业开发者用户、个人开发者用户建两张表,因为不同的认证方式需要的字段也是不同的。通过用户 id 字段将用户其他信息表数据进行关联。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"ER图","src":"/experience/design/er.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"上图为 ER 图的一个示例,Windows 下有 PowerDesigner、Visio 等工具,Mac 下用 MySQLWorkbench。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"(可以参考已有系统的用户体系设计,但开发者平台与用户产品系统存在一些细节差异。)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"另外,前期也可以考虑加入一些日志表,如认证记录表,存一些历史的认证信息。根据项目时间预算,如果前期不考虑,后期也需要考虑加上。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"第四步搭建系统框架"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%AC%AC%E5%9B%9B%E6%AD%A5%E6%90%AD%E5%BB%BA%E7%B3%BB%E7%BB%9F%E6%A1%86%E6%9E%B6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"第四步:搭建系统框架"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"先搭建一个大框架,配置缓存数据库,加入通用类,配置端口,并且能够运行。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"(可以参考现有的项目以及项目章节的结构)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"搭建测试框架(如果项目进度预算允许)。在项目实现过程中的细节,关注下一章节的内容中讲解。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"第五步迭代"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%AC%AC%E4%BA%94%E6%AD%A5%E8%BF%AD%E4%BB%A3","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"第五步:迭代"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"重复上面的过程,完善新功能模块设计,加入到已有系统。"}]}]},"text":"\n一个开放平台的设计大概思路。\n\n## 第一步:定位用户\n\n开发者,分企业开发者和个人开发者。\n\n## 第二步:系统功能设计\n\n心中先有个梗概,列出列表。\n\n最核心的功能模块:\n\n1. 提供开放接口\n2. 提供开放文档\n3. 提供 API 文档\n4. 提供 SDK\n5. SDK 下载,来源各个组,如嵌入式、移动开发、服务器端,提供各种语言的 SDK 版本\n6. 除了 SDK 下载还需要提供 SDK 使用说明,整合进文档中\n\n其他功能模块:\n\n1. 用户中心\n2. 开发者认证\n3. 产品管理\n\n---\n\n然后可以搭配脑图、流程图、时序图、用例图等建模工具,设计核心业务模块的流程。\n\n\n\n### 示例\n\n思维导图(脑图):\n\n![Image](/experience/design/mind.png)\n\n系统结构图:\n\n![Image](/experience/design/system.png)\n\n用例图:\n\n![Image](/experience/design/use-case.png)\n\n时序图:\n\n![Image](/experience/design/seq.png)\n\n流程图:\n\n![Image](/experience/design/flow.png)\n\n## 第三步:设计数据库表结构\n\n建库建表非常关键。主要原则为,减少冗余数据、避免表字段过多、提高查询性能。\n\n最好是以数字 id 为主键,避免使用自增 id(影响数据同步),外键关系不用外键,关键字段设置索引。\n\n首先第一张表,应该是用户表,虽然不是核心业务,但所有核心业务都与用户相关联,也需要注册登录才能进行。\n\n所以先设计用户表。用户表应该至少两张表,一张是用户基本信息表,只存用户名、密码等或最常用字段,如登录信息;另一张是认证信息,当然也可以分别为企业开发者用户、个人开发者用户建两张表,因为不同的认证方式需要的字段也是不同的。通过用户 id 字段将用户其他信息表数据进行关联。\n\n示例:\n\n![ER图](/experience/design/er.png)\n\n上图为 ER 图的一个示例,Windows 下有 PowerDesigner、Visio 等工具,Mac 下用 MySQLWorkbench。\n\n(可以参考已有系统的用户体系设计,但开发者平台与用户产品系统存在一些细节差异。)\n\n另外,前期也可以考虑加入一些日志表,如认证记录表,存一些历史的认证信息。根据项目时间预算,如果前期不考虑,后期也需要考虑加上。\n\n## 第四步:搭建系统框架\n\n先搭建一个大框架,配置缓存数据库,加入通用类,配置端口,并且能够运行。\n\n(可以参考现有的项目以及项目章节的结构)\n\n搭建测试框架(如果项目进度预算允许)。在项目实现过程中的细节,关注下一章节的内容中讲解。\n\n## 第五步:迭代\n\n重复上面的过程,完善新功能模块设计,加入到已有系统。\n","dir":"/zh/experience/design","path":"/zh/experience/design/system","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/design/system","meta":{"version":0,"revision":0,"created":1756480738819},"$loki":75},{"slug":"iot-hub-route","description":"","title":"Azure IoT Hub 路由开发指南","menuTitle":"IoT Hub 路由","position":2302,"category":"经验篇-Azure(Node.js)","toc":[{"id":"概念讲解","depth":2,"text":"概念讲解"},{"id":"在-azure-中创建并配置路由相关的基础服务","depth":2,"text":"在 Azure 中创建并配置路由相关的基础服务"},{"id":"1-创建-eventhubs-事件中心","depth":3,"text":"1. 创建 EventHubs 事件中心"},{"id":"2-创建-iot-hub-终结点","depth":3,"text":"2. 创建 IOT Hub 终结点"},{"id":"3-配置路由","depth":3,"text":"3. 配置路由"},{"id":"示例代码","depth":2,"text":"示例代码"},{"id":"服务器端","depth":3,"text":"服务器端"},{"id":"客户端模拟消息发送","depth":3,"text":"客户端模拟消息发送"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本章主要讲解:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"如何使用 eventhub 创建路由"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"如何将一条设备消息同时传入两个路由进行不同的处理"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"概念讲解"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%A6%82%E5%BF%B5%E8%AE%B2%E8%A7%A3","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"概念讲解"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"事件中心(Event Hubs): 用于服务器端侦听并处理的 EventHub 终结点"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"终结点(IOT Hub): 关联到 Event Hubs 中的事件中心"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"路由(IOT Hub): 关联到 IOT Hub 中的终结点, 处理路由分发的主要配置环节"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"在-azure-中创建并配置路由相关的基础服务"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9C%A8-azure-%E4%B8%AD%E5%88%9B%E5%BB%BA%E5%B9%B6%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1%E7%9B%B8%E5%85%B3%E7%9A%84%E5%9F%BA%E7%A1%80%E6%9C%8D%E5%8A%A1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"在 Azure 中创建并配置路由相关的基础服务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先需要分别创建 IOT Hub 和 EventHubs."}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1-创建-eventhubs-事件中心"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E5%88%9B%E5%BB%BA-eventhubs-%E4%BA%8B%E4%BB%B6%E4%B8%AD%E5%BF%83","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 创建 EventHubs 事件中心"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"eventhub","src":"https://user-images.githubusercontent.com/1890238/29015275-06999aa8-7b13-11e7-893c-2f75ca58bb14.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2-创建-iot-hub-终结点"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E5%88%9B%E5%BB%BA-iot-hub-%E7%BB%88%E7%BB%93%E7%82%B9","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 创建 IOT Hub 终结点"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"endpoint","src":"https://user-images.githubusercontent.com/1890238/29015320-334b5a00-7b13-11e7-8c12-dcc4d152e6e7.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注意这里, "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"状态"}]},{"type":"text","value":" 初始不显示, 首次消息通讯成功后再来这里看应该会变."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"系统可能会存在这样的 Bug, 怎么也收不到消息. 这里的状态就会一直不显示:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"err","src":"https://user-images.githubusercontent.com/1890238/29015355-4a0427c2-7b13-11e7-8a9c-24e6bc87144b.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"像这样的情况发生的时候, 删除路由,删除终结点,删除事件中心, 重头再来."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3-配置路由"},"children":[{"type":"element","tag":"a","props":{"href":"#3-%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3. 配置路由"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"route","src":"https://user-images.githubusercontent.com/1890238/29015397-7cb355bc-7b13-11e7-8a65-957e76defadd.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"仔细看上图, 两个路由的查询条件一样, 但分别放进 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"/"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"test2"}]},{"type":"text","value":" 两个不同的终结点."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"示例代码"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"示例代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"服务器端"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"服务器端"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// eventhub.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"EventHubClient"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-event-hubs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Client"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"getPartitionIds"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" partitionIds "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"getPartitionIds"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" partitionIds"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"defaultErrorHandler"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"defaultMessageHandler"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"message"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" createReceiver "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" connStr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" messageHandler "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" defaultMessageHandler "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" errorHandler "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" defaultErrorHandler"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" client "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"EventHubClient"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"fromConnectionString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"connStr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"open"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" partitionIds "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getPartitionIds"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n partitionIds"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"forEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"partitionId"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" receiver "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createReceiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'$Default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" partitionId"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"startAfterTime"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Date"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"now"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n receiver"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'errorReceived'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"transport"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"transport"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"name"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'AmqpProtocolError'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Restart #"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"partitionId"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"createReceiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" connStr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" errorHandler"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" messageHandler "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"errorHandler"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n receiver"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'message'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" messageHandler"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" createReceiver"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// server.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" receiver "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./eventhub'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"receiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"connStr"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test事件中心的连接'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"messageHandler"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"msg"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"msg"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"receiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"connStr"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test2事件中心的连接'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"messageHandler"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"msg"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test2'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"msg"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"客户端模拟消息发送"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%A8%A1%E6%8B%9F%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"客户端模拟消息发送"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考官方的示例: "},{"type":"element","tag":"a","props":{"href":"https://github.com/azure/azure-iot-sdk-node/blob/master/device/samples/simple_sample_device.js#L44","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/azure/azure-iot-sdk-node/blob/master/device/samples/simple_sample_device.js#L44"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注意第 44 行位置, 下面添加一行, 加入路由属性"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"properties"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'route'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'tt'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n本章主要讲解:\n\n- 如何使用 eventhub 创建路由\n- 如何将一条设备消息同时传入两个路由进行不同的处理\n\n## 概念讲解\n\n- 事件中心(Event Hubs): 用于服务器端侦听并处理的 EventHub 终结点\n- 终结点(IOT Hub): 关联到 Event Hubs 中的事件中心\n- 路由(IOT Hub): 关联到 IOT Hub 中的终结点, 处理路由分发的主要配置环节\n\n## 在 Azure 中创建并配置路由相关的基础服务\n\n首先需要分别创建 IOT Hub 和 EventHubs.\n\n\n\n### 1. 创建 EventHubs 事件中心\n\n![eventhub](https://user-images.githubusercontent.com/1890238/29015275-06999aa8-7b13-11e7-893c-2f75ca58bb14.png)\n\n### 2. 创建 IOT Hub 终结点\n\n![endpoint](https://user-images.githubusercontent.com/1890238/29015320-334b5a00-7b13-11e7-8c12-dcc4d152e6e7.png)\n\n注意这里, `状态` 初始不显示, 首次消息通讯成功后再来这里看应该会变.\n\n系统可能会存在这样的 Bug, 怎么也收不到消息. 这里的状态就会一直不显示:\n\n![err](https://user-images.githubusercontent.com/1890238/29015355-4a0427c2-7b13-11e7-8a9c-24e6bc87144b.png)\n\n像这样的情况发生的时候, 删除路由,删除终结点,删除事件中心, 重头再来.\n\n### 3. 配置路由\n\n![route](https://user-images.githubusercontent.com/1890238/29015397-7cb355bc-7b13-11e7-8a65-957e76defadd.png)\n\n仔细看上图, 两个路由的查询条件一样, 但分别放进 `test`/`test2` 两个不同的终结点.\n\n## 示例代码\n\n### 服务器端\n\n```js\n// eventhub.js\nconst EventHubClient = require('azure-event-hubs').Client;\n\nconst getPartitionIds = async (client) => {\n const partitionIds = await client.getPartitionIds();\n return partitionIds;\n};\n\nconst defaultErrorHandler = async (err) => {\n console.error(err);\n};\n\nconst defaultMessageHandler = (message) => {\n console.log(message.body);\n console.log(message.body.toString());\n};\n\nconst createReceiver = async ({ connStr = '', messageHandler = defaultMessageHandler } = {}, errorHandler = defaultErrorHandler) => {\n const client = EventHubClient.fromConnectionString(connStr);\n await client.open();\n const partitionIds = await getPartitionIds(client);\n partitionIds.forEach(async (partitionId) => {\n const receiver = await client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() });\n receiver.on('errorReceived', async (err) => {\n if (err.transport && err.transport.name === 'AmqpProtocolError') {\n console.log(`Restart #${partitionId}`);\n await createReceiver({ connStr, errorHandler, messageHandler });\n } else {\n await errorHandler(err);\n }\n });\n receiver.on('message', messageHandler);\n });\n};\n\nmodule.exports = createReceiver;\n```\n\n```js\n// server.js\nconst receiver = require('./eventhub');\n\n(async () => {\n await receiver({\n connStr: 'test事件中心的连接',\n messageHandler: (msg) => {\n console.log('test');\n console.log(msg.body);\n }\n });\n await receiver({\n connStr: 'test2事件中心的连接',\n messageHandler: (msg) => {\n console.log('test2');\n console.log(msg.body);\n }\n });\n})();\n```\n\n### 客户端模拟消息发送\n\n参考官方的示例: \n\n注意第 44 行位置, 下面添加一行, 加入路由属性\n\n```js\nmessage.properties.add('route', 'tt');\n```\n","dir":"/zh/experience/azure","path":"/zh/experience/azure/iot-hub-route","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/azure/iot-hub-route","meta":{"version":0,"revision":0,"created":1756480738831},"$loki":76},{"slug":"iot-hub","description":"","title":"Azure IoT Hub开发指南","menuTitle":"IoT Hub","position":2301,"category":"经验篇-Azure(Node.js)","toc":[{"id":"简单发送接收示例","depth":2,"text":"简单发送接收示例"},{"id":"1-注册设备","depth":3,"text":"1. 注册设备"},{"id":"2-模拟设备发送消息","depth":3,"text":"2. 模拟设备发送消息"},{"id":"3-服务器端接收消息","depth":3,"text":"3. 服务器端接收消息"},{"id":"配置路由需要-event-hubs","depth":2,"text":"配置路由(需要 Event Hubs)"},{"id":"1-创建-event-hubs","depth":3,"text":"1. 创建 Event Hubs"},{"id":"2-从事件中心创建实体","depth":3,"text":"2. 从事件中心创建实体"},{"id":"3-获取连接字符串","depth":3,"text":"3. 获取连接字符串"},{"id":"4-创建-endpoint","depth":3,"text":"4. 创建 Endpoint"},{"id":"5-创建路由","depth":3,"text":"5. 创建路由"},{"id":"示例代码","depth":3,"text":"示例代码"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!> IOT Hub 应用实际开发过程中的一些注意细节"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"资源:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"创建设备: "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/azure-iothub","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.npmjs.com/package/azure-iothub"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"IoT Hub(基于 Event Hubs)消息管理: "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/azure-event-hubs","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.npmjs.com/package/azure-event-hubs"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"开发调试工具: "},{"type":"element","tag":"a","props":{"href":"https://www.npmjs.com/package/iothub-explorer","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.npmjs.com/package/iothub-explorer"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"简单发送接收示例"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%AE%80%E5%8D%95%E5%8F%91%E9%80%81%E6%8E%A5%E6%94%B6%E7%A4%BA%E4%BE%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"简单发送接收示例"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1-注册设备"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E6%B3%A8%E5%86%8C%E8%AE%BE%E5%A4%87","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 注册设备"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" iothub "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-iothub'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" registry "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" iothub"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Registry"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"fromConnectionString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'[connectionString]'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" device "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"iothub"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"Device"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword","null","nil"]},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\ndevice"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"deviceId"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'[deviceId]'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"printDeviceInfo"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" deviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"deviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"deviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","null","nil"]},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Device id: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"deviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"deviceId"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Device key: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"deviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"authentication"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"symmetricKey"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"primaryKey"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 删除设备 registry.delete(deviceId, (err, deviceInfo, res) => {});"}]},{"type":"text","value":"\nregistry"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"create"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"device"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" deviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n registry"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"device"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"deviceId"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" printDeviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"deviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"printDeviceInfo"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" deviceInfo"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2-模拟设备发送消息"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E6%A8%A1%E6%8B%9F%E8%AE%BE%E5%A4%87%E5%8F%91%E9%80%81%E6%B6%88%E6%81%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 模拟设备发送消息"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" clientFromConnectionString "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-iot-device-mqtt'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"clientFromConnectionString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Message"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-iot-device'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Message"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" connectionString "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'HostName=[修改连接主机];DeviceId=[deviceID];SharedAccessKey=[连接密钥]'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" client "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"clientFromConnectionString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"connectionString"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"printResultFor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"op"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"printResult"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"op"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" error: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"op"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" status: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"constructor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"connectCallback"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Could not connect: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Client connected'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Create a message and send it to the IoT Hub every second"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" windSpeed "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Math"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"random"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"deviceId"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'myFirstNodeDevice'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" windSpeed "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" message "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Message"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Sending message: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"getData"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"sendEvent"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"printResultFor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'send'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nclient"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"open"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"connectCallback"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3-服务器端接收消息"},"children":[{"type":"element","tag":"a","props":{"href":"#3-%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3. 服务器端接收消息"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"EventHubClient"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-event-hubs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Client"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" connectionString "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'HostName=[修改连接主机];SharedAccessKeyName=iothubowner;SharedAccessKey=[修改连接密钥]'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"printError"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"message"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"printMessage"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"message"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Message received: '"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Object"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"getOwnPropertyNames"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"forEach"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"x"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"x"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" client "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"EventHubClient"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"fromConnectionString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"connectionString"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nclient\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"open"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"getPartitionIds"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"bind"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"partitionIds"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":"\n partitionIds"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"partitionId"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":"\n client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createReceiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'$Default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" partitionId"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"startAfterTime"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Date"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"now"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"receiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Created partition receiver: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"partitionId"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n receiver"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'errorReceived'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" printError"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n receiver"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'message'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" printMessage"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"printError"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注意:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"客户端传的"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"properties"}]},{"type":"text","value":",在消息体中是"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"message.applicationProperties"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"startAfterTime"}]},{"type":"text","value":"或"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"startAfterOffset"}]},{"type":"text","value":"参数来决定启动时间, 可用记录上一次消息的"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"offset"}]},{"type":"text","value":"/"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"enqueued-time"}]},{"type":"text","value":"来保证中断重启能够继续从未处理的消息开始读取"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"message"}]},{"type":"text","value":"包含的属性如下:"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'partitionKey'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'body'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'enqueuedTimeUtc'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'offset'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'properties'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'applicationProperties'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'sequenceNumber'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'annotations'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'systemProperties'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"消息体示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Message received:\npartitionKey undefined\nbody "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" deviceId: "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'myFirstNodeDevice'"}]},{"type":"text","value":", windSpeed: "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10.51685587945142"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\nenqueuedTimeUtc "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2017"}]},{"type":"text","value":"-06-13T01:21:02.519Z\noffset "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"73240"}]},{"type":"text","value":"\nproperties undefined\napplicationProperties "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" asdf: "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'asdfz'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\nsequenceNumber "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"182"}]},{"type":"text","value":"\nannotations "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'x-opt-sequence-number'"}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"182"}]},{"type":"text","value":",\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'x-opt-offset'"}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'73240'"}]},{"type":"text","value":",\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'x-opt-enqueued-time'"}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2017"}]},{"type":"text","value":"-06-13T01:21:02.519Z,\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'iothub-connection-device-id'"}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'myFirstNodeDevice'"}]},{"type":"text","value":",\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'iothub-connection-auth-method'"}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'{ \"scope\": \"device\", \"type\": \"sas\", \"issuer\": \"iothub\" }'"}]},{"type":"text","value":",\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'iothub-connection-auth-generation-id'"}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxxxxx'"}]},{"type":"text","value":",\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'iothub-enqueuedtime'"}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2017"}]},{"type":"text","value":"-06-13T01:21:02.786Z,\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'iothub-message-source'"}]},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Telemetry'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\nsystemProperties undefined\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置路由需要-event-hubs"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1%E9%9C%80%E8%A6%81-event-hubs","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置路由(需要 Event Hubs)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1-创建-event-hubs"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E5%88%9B%E5%BB%BA-event-hubs","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 创建 Event Hubs"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2-从事件中心创建实体"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E4%BB%8E%E4%BA%8B%E4%BB%B6%E4%B8%AD%E5%BF%83%E5%88%9B%E5%BB%BA%E5%AE%9E%E4%BD%93","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 从事件中心创建实体"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"eventhubs-entities","src":"https://user-images.githubusercontent.com/1890238/27019465-566b06d4-4efe-11e7-8a74-240c0c523ac4.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3-获取连接字符串"},"children":[{"type":"element","tag":"a","props":{"href":"#3-%E8%8E%B7%E5%8F%96%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3. 获取连接字符串"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"点击进入已创建的实体"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"eventhubs-key","src":"https://user-images.githubusercontent.com/1890238/27019487-89f17e8e-4efe-11e7-815c-c3d62a3213ef.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不要从别处获得连接字符串,因为可能无法连接. 最终获得的连接字符串应当包含"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"EntityPath"}]},{"type":"text","value":"字段,类似:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Endpoint=sb://xxxx.servicebus.chinacloudapi.cn/;SharedAccessKeyName=iothubroutes_xxxx;SharedAccessKey=xxxx;EntityPath=xxxx\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"4-创建-endpoint"},"children":[{"type":"element","tag":"a","props":{"href":"#4-%E5%88%9B%E5%BB%BA-endpoint","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"4. 创建 Endpoint"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"iothub-endpoints","src":"https://user-images.githubusercontent.com/1890238/27019555-23edcb5a-4eff-11e7-89e6-57f88d241612.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"将 Event Hubs 里的事件关联到 IoT Hub"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"5-创建路由"},"children":[{"type":"element","tag":"a","props":{"href":"#5-%E5%88%9B%E5%BB%BA%E8%B7%AF%E7%94%B1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"5. 创建路由"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"iothub-route","src":"https://user-images.githubusercontent.com/1890238/27019570-5238cd52-4eff-11e7-932f-78a8a97d0246.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"示例代码"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"示例代码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"1-修改刚才的发送示例"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E4%BF%AE%E6%94%B9%E5%88%9A%E6%89%8D%E7%9A%84%E5%8F%91%E9%80%81%E7%A4%BA%E4%BE%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 修改刚才的发送示例"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" clientFromConnectionString "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-iot-device-mqtt'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"clientFromConnectionString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Message"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-iot-device'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Message"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" connectionString "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'HostName=[修改连接主机];DeviceId=[deviceID];SharedAccessKey=[连接密钥]'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" client "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"clientFromConnectionString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"connectionString"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"printResultFor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"op"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"printResult"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" res"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"op"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" error: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"toString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"op"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" status: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"res"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"constructor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"connectCallback"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Could not connect: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Client connected'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Create a message and send it to the IoT Hub every second"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" windSpeed "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Math"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"random"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" data "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"deviceId"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'myFirstNodeDevice'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" windSpeed "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" message "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Message"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"data"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 随机发送到路由或默认事件上"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Math"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"round"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Math"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"random"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"properties"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"add"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'route'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'test'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Sending message: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"getData"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"sendEvent"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"printResultFor"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'send'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nclient"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"open"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"connectCallback"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"2-iot-hub-侦听启动"},"children":[{"type":"element","tag":"a","props":{"href":"#2-iot-hub-%E4%BE%A6%E5%90%AC%E5%90%AF%E5%8A%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. IoT Hub 侦听启动"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"无需修改,直接启动"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"3-event-hubs-侦听启动"},"children":[{"type":"element","tag":"a","props":{"href":"#3-event-hubs-%E4%BE%A6%E5%90%AC%E5%90%AF%E5%8A%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3. Event Hubs 侦听启动"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"复制 IoT Hub 侦听源码,修改连接字符串:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"EventHubClient"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-event-hubs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Client"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// const connectionString = 'HostName=[修改连接主机];SharedAccessKeyName=iothubowner;SharedAccessKey=[修改连接密钥]';"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" connectionString "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Endpoint=[sb://修改连接主机.servicebus.chinacloudapi.cn/];SharedAccessKeyName=[修改连接策略];SharedAccessKey=[x修改连接密钥];EntityPath=[事件实体]'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"printError"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"message"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"printMessage"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"message"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Message received: '"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"message"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" client "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"EventHubClient"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"fromConnectionString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"connectionString"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nclient\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"open"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"getPartitionIds"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"bind"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"partitionIds"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":"\n partitionIds"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"partitionId"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":"\n client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createReceiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'$Default'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" partitionId"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"startAfterTime"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Date"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"now"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"receiver"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Created partition receiver: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"partitionId"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n receiver"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'errorReceived'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" printError"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n receiver"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'message'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" printMessage"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"printError"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"测试结果"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B5%8B%E8%AF%95%E7%BB%93%E6%9E%9C","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"测试结果"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"发送到默认路由的,只能被 IoT Hub 侦听应用捕获."}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"发送到刚才配置的测试路由的,只能被 Event Hubs 侦听应用捕获."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"至此,完成路由转发."}]}]},"text":"\n!> IOT Hub 应用实际开发过程中的一些注意细节\n\n资源:\n\n- 创建设备: \n- IoT Hub(基于 Event Hubs)消息管理: \n- 开发调试工具: \n\n## 简单发送接收示例\n\n### 1. 注册设备\n\n```js\nconst iothub = require('azure-iothub');\n\nconst registry = iothub.Registry.fromConnectionString('[connectionString]');\n\nconst device = new iothub.Device(null);\ndevice.deviceId = '[deviceId]';\n\nfunction printDeviceInfo(err, deviceInfo, res) {\n if (deviceInfo) {\n console.log(JSON.stringify(deviceInfo, null, 2));\n console.log(`Device id: ${deviceInfo.deviceId}`);\n console.log(`Device key: ${deviceInfo.authentication.symmetricKey.primaryKey}`);\n }\n}\n\n// 删除设备 registry.delete(deviceId, (err, deviceInfo, res) => {});\nregistry.create(device, (err, deviceInfo, res) => {\n if (err) {\n registry.get(device.deviceId, printDeviceInfo);\n }\n if (deviceInfo) {\n printDeviceInfo(err, deviceInfo, res);\n }\n});\n```\n\n\n\n### 2. 模拟设备发送消息\n\n```js\nconst clientFromConnectionString = require('azure-iot-device-mqtt').clientFromConnectionString;\nconst Message = require('azure-iot-device').Message;\n\nconst connectionString = 'HostName=[修改连接主机];DeviceId=[deviceID];SharedAccessKey=[连接密钥]';\n\nconst client = clientFromConnectionString(connectionString);\n\nfunction printResultFor(op) {\n return function printResult(err, res) {\n if (err) console.log(`${op} error: ${err.toString()}`);\n if (res) console.log(`${op} status: ${res.constructor.name}`);\n };\n}\n\nconst connectCallback = function (err) {\n if (err) {\n console.log(`Could not connect: ${err}`);\n } else {\n console.log('Client connected');\n\n // Create a message and send it to the IoT Hub every second\n setInterval(() => {\n const windSpeed = 10 + Math.random() * 4;\n const data = JSON.stringify({ deviceId: 'myFirstNodeDevice', windSpeed });\n const message = new Message(data);\n console.log(`Sending message: ${message.getData()}`);\n client.sendEvent(message, printResultFor('send'));\n }, 1000);\n }\n};\n\nclient.open(connectCallback);\n```\n\n### 3. 服务器端接收消息\n\n```js\nconst EventHubClient = require('azure-event-hubs').Client;\n\nconst connectionString = 'HostName=[修改连接主机];SharedAccessKeyName=iothubowner;SharedAccessKey=[修改连接密钥]';\n\nconst printError = function (err) {\n console.log(err.message);\n};\n\nconst printMessage = function (message) {\n console.log('Message received: ');\n console.log(JSON.stringify(message.body));\n Object.getOwnPropertyNames(message).forEach((x) => {\n console.log(x, message[x]);\n });\n console.log('');\n};\n\nconst client = EventHubClient.fromConnectionString(connectionString);\n\nclient\n .open()\n .then(client.getPartitionIds.bind(client))\n .then((partitionIds) =>\n partitionIds.map((partitionId) =>\n client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() }).then((receiver) => {\n console.log(`Created partition receiver: ${partitionId}`);\n receiver.on('errorReceived', printError);\n receiver.on('message', printMessage);\n })\n )\n )\n .catch(printError);\n```\n\n注意:\n\n- 客户端传的`properties`,在消息体中是`message.applicationProperties`\n- `startAfterTime`或`startAfterOffset`参数来决定启动时间, 可用记录上一次消息的`offset`/`enqueued-time`来保证中断重启能够继续从未处理的消息开始读取\n- `message`包含的属性如下:\n\n```js\n['partitionKey', 'body', 'enqueuedTimeUtc', 'offset', 'properties', 'applicationProperties', 'sequenceNumber', 'annotations', 'systemProperties'];\n```\n\n消息体示例:\n\n```bash\nMessage received:\npartitionKey undefined\nbody { deviceId: 'myFirstNodeDevice', windSpeed: 10.51685587945142 }\nenqueuedTimeUtc 2017-06-13T01:21:02.519Z\noffset 73240\nproperties undefined\napplicationProperties { asdf: 'asdfz' }\nsequenceNumber 182\nannotations { 'x-opt-sequence-number': 182,\n 'x-opt-offset': '73240',\n 'x-opt-enqueued-time': 2017-06-13T01:21:02.519Z,\n 'iothub-connection-device-id': 'myFirstNodeDevice',\n 'iothub-connection-auth-method': '{ \"scope\": \"device\", \"type\": \"sas\", \"issuer\": \"iothub\" }',\n 'iothub-connection-auth-generation-id': 'xxxxxxx',\n 'iothub-enqueuedtime': 2017-06-13T01:21:02.786Z,\n 'iothub-message-source': 'Telemetry' }\nsystemProperties undefined\n```\n\n## 配置路由(需要 Event Hubs)\n\n### 1. 创建 Event Hubs\n\n### 2. 从事件中心创建实体\n\n![eventhubs-entities](https://user-images.githubusercontent.com/1890238/27019465-566b06d4-4efe-11e7-8a74-240c0c523ac4.png)\n\n### 3. 获取连接字符串\n\n点击进入已创建的实体\n\n![eventhubs-key](https://user-images.githubusercontent.com/1890238/27019487-89f17e8e-4efe-11e7-815c-c3d62a3213ef.png)\n\n不要从别处获得连接字符串,因为可能无法连接. 最终获得的连接字符串应当包含`EntityPath`字段,类似:\n\n```\nEndpoint=sb://xxxx.servicebus.chinacloudapi.cn/;SharedAccessKeyName=iothubroutes_xxxx;SharedAccessKey=xxxx;EntityPath=xxxx\n```\n\n### 4. 创建 Endpoint\n\n![iothub-endpoints](https://user-images.githubusercontent.com/1890238/27019555-23edcb5a-4eff-11e7-89e6-57f88d241612.png)\n\n将 Event Hubs 里的事件关联到 IoT Hub\n\n### 5. 创建路由\n\n![iothub-route](https://user-images.githubusercontent.com/1890238/27019570-5238cd52-4eff-11e7-932f-78a8a97d0246.png)\n\n### 示例代码\n\n#### 1. 修改刚才的发送示例\n\n```js\nconst clientFromConnectionString = require('azure-iot-device-mqtt').clientFromConnectionString;\nconst Message = require('azure-iot-device').Message;\n\nconst connectionString = 'HostName=[修改连接主机];DeviceId=[deviceID];SharedAccessKey=[连接密钥]';\n\nconst client = clientFromConnectionString(connectionString);\n\nfunction printResultFor(op) {\n return function printResult(err, res) {\n if (err) console.log(`${op} error: ${err.toString()}`);\n if (res) console.log(`${op} status: ${res.constructor.name}`);\n };\n}\n\nconst connectCallback = function (err) {\n if (err) {\n console.log(`Could not connect: ${err}`);\n } else {\n console.log('Client connected');\n\n // Create a message and send it to the IoT Hub every second\n setInterval(() => {\n const windSpeed = 10 + Math.random() * 4;\n const data = JSON.stringify({ deviceId: 'myFirstNodeDevice', windSpeed });\n const message = new Message(data);\n // 随机发送到路由或默认事件上\n if (Math.round(Math.random()) === 1) {\n message.properties.add('route', 'test');\n }\n console.log(`Sending message: ${message.getData()}`);\n client.sendEvent(message, printResultFor('send'));\n }, 1000);\n }\n};\n\nclient.open(connectCallback);\n```\n\n#### 2. IoT Hub 侦听启动\n\n无需修改,直接启动\n\n#### 3. Event Hubs 侦听启动\n\n复制 IoT Hub 侦听源码,修改连接字符串:\n\n```js\nconst EventHubClient = require('azure-event-hubs').Client;\n\n// const connectionString = 'HostName=[修改连接主机];SharedAccessKeyName=iothubowner;SharedAccessKey=[修改连接密钥]';\nconst connectionString =\n 'Endpoint=[sb://修改连接主机.servicebus.chinacloudapi.cn/];SharedAccessKeyName=[修改连接策略];SharedAccessKey=[x修改连接密钥];EntityPath=[事件实体]';\n\nconst printError = function (err) {\n console.log(err.message);\n};\n\nconst printMessage = function (message) {\n console.log('Message received: ');\n console.log(JSON.stringify(message.body));\n console.log(message);\n console.log('');\n};\n\nconst client = EventHubClient.fromConnectionString(connectionString);\n\nclient\n .open()\n .then(client.getPartitionIds.bind(client))\n .then((partitionIds) =>\n partitionIds.map((partitionId) =>\n client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() }).then((receiver) => {\n console.log(`Created partition receiver: ${partitionId}`);\n receiver.on('errorReceived', printError);\n receiver.on('message', printMessage);\n })\n )\n )\n .catch(printError);\n```\n\n#### 测试结果\n\n- 发送到默认路由的,只能被 IoT Hub 侦听应用捕获.\n- 发送到刚才配置的测试路由的,只能被 Event Hubs 侦听应用捕获.\n\n至此,完成路由转发.\n","dir":"/zh/experience/azure","path":"/zh/experience/azure/iot-hub","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/azure/iot-hub","meta":{"version":0,"revision":0,"created":1756480738852},"$loki":77},{"slug":"storage","description":"","title":"Azure Blob文件上传","menuTitle":"Storage","position":2303,"category":"经验篇-Azure(Node.js)","toc":[{"id":"建立连接","depth":2,"text":"建立连接"},{"id":"1-通过环境变量","depth":3,"text":"1. 通过环境变量"},{"id":"2连接字符串","depth":3,"text":"2.连接字符串"},{"id":"3账号密钥","depth":3,"text":"3.账号+密钥"},{"id":"上传示例","depth":2,"text":"上传示例"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"azure-storage 官方文档: "},{"type":"element","tag":"a","props":{"href":"http://azure.github.io/azure-storage-node/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://azure.github.io/azure-storage-node/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"建立连接"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BB%BA%E7%AB%8B%E8%BF%9E%E6%8E%A5","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"建立连接"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有 3 种方式(文档中未提及):"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1-通过环境变量"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E9%80%9A%E8%BF%87%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 通过环境变量"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"text","value":"AZURE_STORAGE_CONNECTION_STRING"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"valid storage connection string\""}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"node"}]},{"type":"text","value":" app.js\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"应用程序内:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" azure "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-storage'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" blobService "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" azure"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createBlobService"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// code here"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2连接字符串"},"children":[{"type":"element","tag":"a","props":{"href":"#2%E8%BF%9E%E6%8E%A5%E5%AD%97%E7%AC%A6%E4%B8%B2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.连接字符串"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" azure "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-storage'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" blobService "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" azure"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createBlobService"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'connectionString'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 类似: DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****;EndpointSuffix=*****.core.chinacloudapi.cn"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// code here"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3账号密钥"},"children":[{"type":"element","tag":"a","props":{"href":"#3%E8%B4%A6%E5%8F%B7%E5%AF%86%E9%92%A5","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.账号+密钥"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" azure "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-storage'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" blobService "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" azure"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createBlobService"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'storageAccount'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'storageAccessKey'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'storageHost'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// code here"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"上传示例"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%B8%8A%E4%BC%A0%E7%A4%BA%E4%BE%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"上传示例"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"因为 POST 请求接收到的大部分是 Stream.所以采用 Sream 的方式上传."}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// azure.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" azure "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'azure-storage'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" getDefer "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'@dwing/common'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" blobService "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" azure"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createBlobService"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'accountName'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'accessKey'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'host'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nexports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"createBlockBlobFromStream"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"container"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" filename"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" blob"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" deferred "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"getDefer"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n blob"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'error'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n deferred"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"reject"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n blob"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"pipe"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"blobService"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createWriteStreamToBlockBlob"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"container"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" filename"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n blob"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"on"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'end'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n deferred"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" deferred"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"promise"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"测试代码:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// demo.js"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" createBlockBlobFromStream "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./azure'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" fs "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'fs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" path "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'path'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" stream "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" fs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createReadStream"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"path"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"join"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"__dirname"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/testfile'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"createBlockBlobFromStream"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'container'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'filename'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" stream"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在 AirX 项目中的实际使用:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/AirDwing/node-airx-sdk","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/AirDwing/node-airx-sdk"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"SDK"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'@airx/sdk'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" fs "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'fs'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" sdk "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"SDK"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"SecretId"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxx'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"SecretKey"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxx'"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" sdk"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"upload"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"auth"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxx'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'orgverify'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"file"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" fs"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"createReadStream"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'PATH/TO/xxx.jpg'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 注意这里, 本地文件可以用 path.join 拼装地址,或者直接用Stream"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\nazure-storage 官方文档: \n\n## 建立连接\n\n有 3 种方式(文档中未提及):\n\n### 1. 通过环境变量\n\n```bash\nAZURE_STORAGE_CONNECTION_STRING=\"valid storage connection string\" node app.js\n```\n\n应用程序内:\n\n```js\nconst azure = require('azure-storage');\nconst blobService = azure.createBlobService();\n// code here\n```\n\n\n\n### 2.连接字符串\n\n```js\nconst azure = require('azure-storage');\nconst blobService = azure.createBlobService('connectionString'); // 类似: DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****;EndpointSuffix=*****.core.chinacloudapi.cn\n// code here\n```\n\n### 3.账号+密钥\n\n```js\nconst azure = require('azure-storage');\nconst blobService = azure.createBlobService('storageAccount', 'storageAccessKey', 'storageHost');\n// code here\n```\n\n## 上传示例\n\n因为 POST 请求接收到的大部分是 Stream.所以采用 Sream 的方式上传.\n\n```js\n// azure.js\nconst azure = require('azure-storage');\nconst { getDefer } = require('@dwing/common');\n\nconst blobService = azure.createBlobService('accountName', 'accessKey', 'host');\n\nexports.createBlockBlobFromStream = (container, filename, blob) => {\n const deferred = getDefer();\n blob.on('error', (err) => {\n deferred.reject(err);\n });\n blob.pipe(blobService.createWriteStreamToBlockBlob(container, filename));\n blob.on('end', () => {\n deferred.resolve(1);\n });\n return deferred.promise;\n};\n```\n\n测试代码:\n\n```js\n// demo.js\nconst { createBlockBlobFromStream } = require('./azure');\nconst fs = require('fs');\nconst path = require('path');\n\nconst stream = fs.createReadStream(path.join(__dirname, '/testfile'));\n\n(async () => {\n const result = await createBlockBlobFromStream('container', 'filename', stream);\n console.log(result);\n})();\n```\n\n在 AirX 项目中的实际使用:\n\n\n\n```js\nconst SDK = require('@airx/sdk');\nconst fs = require('fs');\n\nconst sdk = new SDK({\n SecretId: 'xxxx',\n SecretKey: 'xxxx'\n});\n\n(async () => {\n const result = await sdk.upload({\n auth: 'xxxx',\n type: 'orgverify',\n file: fs.createReadStream('PATH/TO/xxx.jpg') // 注意这里, 本地文件可以用 path.join 拼装地址,或者直接用Stream\n });\n console.log(result);\n})();\n```\n","dir":"/zh/experience/azure","path":"/zh/experience/azure/storage","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/azure/storage","meta":{"version":0,"revision":0,"created":1756480738861},"$loki":78},{"slug":"web-app","description":"","title":"Azure Node.js WebApp","menuTitle":"WebApp","position":2304,"category":"经验篇-Azure(Node.js)","toc":[{"id":"注意事项","depth":2,"text":"注意事项"},{"id":"1-启动项-npm-start","depth":3,"text":"1. 启动项 npm start"},{"id":"2-不能指定端口号","depth":3,"text":"2. 不能指定端口号"},{"id":"环境变量配置","depth":2,"text":"环境变量配置"},{"id":"指定-nodenpm-版本","depth":2,"text":"指定 node/npm 版本"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!> 对官方文档一些需要额外注意的细节整理"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://www.azure.cn/documentation/articles/web-sites-nodejs-develop-deploy-mac/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"在 Azure App Service 中创建 Node.js Web 应用"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"注意事项"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注意事项"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1-启动项-npm-start"},"children":[{"type":"element","tag":"a","props":{"href":"#1-%E5%90%AF%E5%8A%A8%E9%A1%B9-npm-start","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 启动项 npm start"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"必须以"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"node"}]},{"type":"text","value":"命令执行,且必须以"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"node"}]},{"type":"text","value":"命令打头,如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"start\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"node PATH/app.js\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不能以"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cli"}]},{"type":"text","value":"工具执行,像这样的是无法执行的:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"start\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"gitbook serve\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"还有这样:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"start\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"NODE_ENV=production node PATH/app.js\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2-不能指定端口号"},"children":[{"type":"element","tag":"a","props":{"href":"#2-%E4%B8%8D%E8%83%BD%E6%8C%87%E5%AE%9A%E7%AB%AF%E5%8F%A3%E5%8F%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 不能指定端口号"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"listen"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 抱歉,发布后无法访问"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"必须引用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"process.env.PORT"}]},{"type":"text","value":",像这样写:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"app"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"listen"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"process"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"PORT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 部署后传入绑定的PORT类似: \\\\.\\pipe\\69b6d648-e61e-4da2-9de5-fb797348d3fa"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"环境变量配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"环境变量配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"NODE_ENV"}]},{"type":"text","value":" 或者其他环境变量的配置位于:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"WebApp -> 应用程序设置 -> 应用设置"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"","src":"https://cloud.githubusercontent.com/assets/1890238/26770714/ac0ede34-49eb-11e7-8850-9c9740dc48d2.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"指定-nodenpm-版本"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%8C%87%E5%AE%9A-nodenpm-%E7%89%88%E6%9C%AC","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"指定 node/npm 版本"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"package.json"}]},{"type":"text","value":"中添加:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"engines\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"node\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\">= 8.0.0\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"npm\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\">= 5.0.0\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n!> 对官方文档一些需要额外注意的细节整理\n\n[在 Azure App Service 中创建 Node.js Web 应用](https://www.azure.cn/documentation/articles/web-sites-nodejs-develop-deploy-mac/)\n\n## 注意事项\n\n### 1. 启动项 npm start\n\n必须以`node`命令执行,且必须以`node`命令打头,如:\n\n```js\n\"scripts\": {\n \"start\": \"node PATH/app.js\"\n}\n```\n\n不能以`cli`工具执行,像这样的是无法执行的:\n\n```js\n\"scripts\": {\n \"start\": \"gitbook serve\"\n}\n```\n\n还有这样:\n\n```js\n\"scripts\": {\n \"start\": \"NODE_ENV=production node PATH/app.js\"\n}\n```\n\n\n\n### 2. 不能指定端口号\n\n```js\napp.listen(3000); // 抱歉,发布后无法访问\n```\n\n必须引用`process.env.PORT`,像这样写:\n\n```js\napp.listen(process.env.PORT || 3000);\n// 部署后传入绑定的PORT类似: \\\\.\\pipe\\69b6d648-e61e-4da2-9de5-fb797348d3fa\n```\n\n## 环境变量配置\n\n`NODE_ENV` 或者其他环境变量的配置位于:\n\n> WebApp -> 应用程序设置 -> 应用设置\n\n![](https://cloud.githubusercontent.com/assets/1890238/26770714/ac0ede34-49eb-11e7-8850-9c9740dc48d2.png)\n\n## 指定 node/npm 版本\n\n`package.json`中添加:\n\n```js\n\"engines\": {\n \"node\": \">= 8.0.0\",\n \"npm\": \">= 5.0.0\"\n}\n```\n","dir":"/zh/experience/azure","path":"/zh/experience/azure/web-app","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/azure/web-app","meta":{"version":0,"revision":0,"created":1756480738865},"$loki":79},{"slug":"dataloader","description":"","title":"DataLoader","position":2503,"category":"经验篇-GraphQL","toc":[{"id":"dataloader-机制","depth":2,"text":"Dataloader 机制"},{"id":"批处理","depth":3,"text":"批处理"},{"id":"缓存","depth":3,"text":"缓存"},{"id":"进阶使用","depth":2,"text":"进阶使用"},{"id":"mysql-分页查询","depth":3,"text":"MySQL 分页查询"},{"id":"countloader","depth":3,"text":"CountLoader"},{"id":"complexloader","depth":3,"text":"ComplexLoader"}],"body":{"type":"root","children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"源码: "},{"type":"element","tag":"a","props":{"href":"https://github.com/facebook/dataloader","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/facebook/dataloader"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"文档翻译:"},{"type":"element","tag":"a","props":{"href":"https://dataloader.js.cool","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://dataloader.js.cool"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Dataloader 是由 Facebook 推出,能大幅降低数据库的访问频次,经常在 Graphql 场景中使用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"dataloader-机制"},"children":[{"type":"element","tag":"a","props":{"href":"#dataloader-%E6%9C%BA%E5%88%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Dataloader 机制"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"主要通过 2 个机制来降低数据库的访问频次:"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"批处理"}]},{"type":"text","value":" 和 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"缓存"}]},{"type":"text","value":"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"批处理"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%89%B9%E5%A4%84%E7%90%86","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"批处理"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"dataloader","src":"/experience/graphql/dataloader.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"配合 MySQL 批量查询用户(User 表)的示例代码:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataLoader"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'dataloader'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 自行封装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" query"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" format "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./mysql'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/*\n用户信息 存储在 User 表 和 UserMeta 表中, 通过 uid 字段进行关联\n*/"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"UserLoader"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"DataLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"uids"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" sql "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'SELECT t1.*,t2.* FROM USERTABLE t1 LEFT JOIN USERMETATABLE t2 ON t1.uid = t2.uid WHERE t1.uid in (?)'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"uids"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"sql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"rows"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" uids"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"uid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" rows"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"find"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"row"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" row"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"uid"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" uid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Error"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"Row not found: "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"uid"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"cache"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Usage:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" user1 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"UserLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"load"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" user2 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"UserLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"load"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" user3 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"UserLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"load"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Promise"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"all"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"user1"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" user2"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" user3"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"users"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Or"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"UserLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"loadMany"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"users"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以上代码就仅会产生以下一条数据库查询语句:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":" Executing "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"default"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":": SELECT t1.*,t2.* FROM USERTABLE t1 LEFT JOIN USERMETATABLE t2 ON t1.uid "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" t2.uid WHERE t1.uid "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"in"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":", "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"text","value":", "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"缓存"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%BC%93%E5%AD%98","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"缓存"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Load 一次,DataLoader 就会把数据缓存在内存,下一次再 load 时,就不会再去访问后台。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"DataLoader 缓存的是 promise,而不是具体数据。则意味着:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" user1"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" user2"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" user1 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"UserLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"load"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" user2 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"UserLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"load"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"assert"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"user1 "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!=="}]},{"type":"text","value":" user2"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// true,这个容易理解"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"assert"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"UserLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"load"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" userLoader"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"load"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 还是true,因为是缓存promise"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"基础使用参考: "},{"type":"element","tag":"a","props":{"href":"https://www.jianshu.com/p/fbd1257116b0","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.jianshu.com/p/fbd1257116b0"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"进阶使用"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%BF%9B%E9%98%B6%E4%BD%BF%E7%94%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"进阶使用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以一个稍微复杂一点的嵌套分页查询为例(可以参考 Github API v4 进行研究学习)。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-graphql"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property-query"]},"children":[{"type":"text","value":"repository"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"owner"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"octocat\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"Hello-World\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property-query"]},"children":[{"type":"text","value":"pullRequest"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"number"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property-query"]},"children":[{"type":"text","value":"commits"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"first"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"totalCount"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","object"]},"children":[{"type":"text","value":"edges"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","object"]},"children":[{"type":"text","value":"node"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","object"]},"children":[{"type":"text","value":"commit"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"oid"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"message"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property-query"]},"children":[{"type":"text","value":"comments"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"first"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"totalCount"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","object"]},"children":[{"type":"text","value":"edges"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"cursor"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","object"]},"children":[{"type":"text","value":"node"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"body"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","object"]},"children":[{"type":"text","value":"author"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"login"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property-query"]},"children":[{"type":"text","value":"reviews"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"first"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"before"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"Y3Vyc29yOnYyOpHOABRzYg==\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","attr-name"]},"children":[{"type":"text","value":"after"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"Y3Vyc29yOnYyOpHOANFzxQ==\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"totalCount"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","object"]},"children":[{"type":"text","value":"edges"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","object"]},"children":[{"type":"text","value":"node"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"state"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"该查询中包含多个分页(Connection)。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"mysql-分页查询"},"children":[{"type":"element","tag":"a","props":{"href":"#mysql-%E5%88%86%E9%A1%B5%E6%9F%A5%E8%AF%A2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"MySQL 分页查询"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"常规查询:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-sql"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"SELECT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"count"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"as"}]},{"type":"text","value":" count "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"FROM"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"text","value":" ?"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"SELECT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"*"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"FROM"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"text","value":" ? "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"LIMIT"}]},{"type":"text","value":" ? "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"OFFSET"}]},{"type":"text","value":" ?"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"需要两条查询完成一次分页,嵌套分页则根据条目(N)再进行 2*N 次查询。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"countloader"},"children":[{"type":"element","tag":"a","props":{"href":"#countloader","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"CountLoader"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"CountLoader"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"DataLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"args"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" arr "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" args"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"md5"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"+"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"parseArgs"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n arr\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"CODE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"SELECT ? as code, COUNT(1) as count FROM ??"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"' WHERE ? '"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"CODE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"join"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"' UNION '"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"then"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"rows"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":"\n arr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"CODE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" count "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" rows"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"find"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"row"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" row"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"code"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"CODE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"||"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" count"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"CountLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"loadMany"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'TABLE1'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"uid"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'TABLE2'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"oid"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// ..."}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最终会拼成:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-sql"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"SELECT"}]},{"type":"text","value":" xxx "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"as"}]},{"type":"text","value":" code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"COUNT"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"as"}]},{"type":"text","value":" count "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"FROM"}]},{"type":"text","value":" TABLE1 "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"text","value":" xxx\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"UNION"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"SELECT"}]},{"type":"text","value":" xxx "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"as"}]},{"type":"text","value":" code"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"COUNT"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"as"}]},{"type":"text","value":" count "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"FROM"}]},{"type":"text","value":" TABLE2 "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"WHERE"}]},{"type":"text","value":" xxx\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"-- ..."}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一条 SQL 查询,然后再分别根据 code 参数进行回填。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"complexloader"},"children":[{"type":"element","tag":"a","props":{"href":"#complexloader","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"ComplexLoader"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"复杂数据的 DataLoader 示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","doc-comment","comment"]},"children":[{"type":"text","value":"/**\n * TicketsLoader\n * Each arg:\n * "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" time: "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"before, after"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":", // Int, Int\n * where, // obj: "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"1:1, type:'xxx'"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n * order, // 'DESC' / 'ASC'\n * limit // Int\n * "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n */"}]},{"type":"text","value":"\nexports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"TicketsLoader"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"DataLoader"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"args"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" args"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"time"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" before"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" after "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" where"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" order"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" limit "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" time "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"before"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n time"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"push"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'createdAt < ?'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"before"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"after"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n time"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"push"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'createdAt > ?'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"after"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"time"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n time "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"AND "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"time"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"join"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"' AND '"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n time "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" sql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"where"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n sql "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"SELECT * from ?? WHERE ?"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"time"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" ORDER BY createdAt "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"order"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" LIMIT ?"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TICKETTABLE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" where"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" limit"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"else"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n sql "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"SELECT * from ?? WHERE 1=1"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"time"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" ORDER BY createdAt "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"order"},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":" LIMIT ?"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"TICKETTABLE"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" limit"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"sql"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Promise"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"all"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"cache"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n- 源码: \n- 文档翻译:\n\nDataloader 是由 Facebook 推出,能大幅降低数据库的访问频次,经常在 Graphql 场景中使用。\n\n## Dataloader 机制\n\n主要通过 2 个机制来降低数据库的访问频次:`批处理` 和 `缓存`。\n\n### 批处理\n\n![dataloader](/experience/graphql/dataloader.png)\n\n配合 MySQL 批量查询用户(User 表)的示例代码:\n\n```js\nconst DataLoader = require('dataloader');\n// 自行封装\nconst { query, format } = require('./mysql');\n\n/*\n用户信息 存储在 User 表 和 UserMeta 表中, 通过 uid 字段进行关联\n*/\nconst UserLoader = new DataLoader(\n (uids) => {\n const sql = format('SELECT t1.*,t2.* FROM USERTABLE t1 LEFT JOIN USERMETATABLE t2 ON t1.uid = t2.uid WHERE t1.uid in (?)', [uids]);\n return query(sql).then((rows) => uids.map((uid) => rows.find((row) => row.uid === uid) || new Error(`Row not found: ${uid}`)));\n },\n { cache: false }\n);\n\n// Usage:\nconst user1 = UserLoader.load(1);\nconst user2 = UserLoader.load(2);\nconst user3 = UserLoader.load(3);\nPromise.all([user1, user2, user3]).then((users) => {});\n// Or\nUserLoader.loadMany([1, 2, 3]).then((users) => {});\n```\n\n以上代码就仅会产生以下一条数据库查询语句:\n\n```bash\n Executing (default): SELECT t1.*,t2.* FROM USERTABLE t1 LEFT JOIN USERMETATABLE t2 ON t1.uid = t2.uid WHERE t1.uid in (1, 2, 3);\n```\n\n\n\n### 缓存\n\nLoad 一次,DataLoader 就会把数据缓存在内存,下一次再 load 时,就不会再去访问后台。\n\nDataLoader 缓存的是 promise,而不是具体数据。则意味着:\n\n```js\nlet user1, user2;\nawait user1 = UserLoader.load(1);\nawait user2 = UserLoader.load(1);\nassert(user1 !== user2);\n// true,这个容易理解\n\nassert(UserLoader.load(1) === userLoader.load(1));\n// 还是true,因为是缓存promise\n```\n\n基础使用参考: \n\n## 进阶使用\n\n以一个稍微复杂一点的嵌套分页查询为例(可以参考 Github API v4 进行研究学习)。\n\n```graphql\n{\n repository(owner: \"octocat\", name: \"Hello-World\") {\n pullRequest(number: 1) {\n commits(first: 10) {\n totalCount\n edges {\n node {\n commit {\n oid\n message\n }\n }\n }\n }\n comments(first: 10) {\n totalCount\n edges {\n cursor\n node {\n body\n author {\n login\n }\n }\n }\n }\n reviews(first: 10, before: \"Y3Vyc29yOnYyOpHOABRzYg==\", after: \"Y3Vyc29yOnYyOpHOANFzxQ==\") {\n totalCount\n edges {\n node {\n state\n }\n }\n }\n }\n }\n}\n```\n\n该查询中包含多个分页(Connection)。\n\n### MySQL 分页查询\n\n常规查询:\n\n```sql\nSELECT count(1) as count FROM TABLE WHERE ?;\nSELECT * FROM TABLE WHERE ? LIMIT ? OFFSET ?;\n```\n\n需要两条查询完成一次分页,嵌套分页则根据条目(N)再进行 2\\*N 次查询。\n\n### CountLoader\n\n```js\nconst CountLoader = new DataLoader((args) => {\n const arr = args.map(([TABLE, WHERE]) => [md5(TABLE + JSON.stringify(WHERE)), TABLE, parseArgs(WHERE)]);\n return query(\n arr\n .map(([CODE, TABLE, WHERE]) => format(`SELECT ? as code, COUNT(1) as count FROM ??${WHERE ? ' WHERE ? ' : ''}`, [CODE, TABLE, WHERE]))\n .join(' UNION ')\n ).then((rows) =>\n arr.map(([CODE]) => {\n const { count = 0 } = rows.find((row) => row.code === CODE) || {};\n return count;\n })\n );\n});\n\nCountLoader.loadMany([\n ['TABLE1', { uid: 1 }],\n ['TABLE2', { oid: 2 }]\n // ...\n]);\n```\n\n最终会拼成:\n\n```sql\nSELECT xxx as code, COUNT(1) as count FROM TABLE1 WHERE xxx\nUNION SELECT xxx as code, COUNT(1) as count FROM TABLE2 WHERE xxx\n-- ...\n```\n\n一条 SQL 查询,然后再分别根据 code 参数进行回填。\n\n### ComplexLoader\n\n复杂数据的 DataLoader 示例:\n\n```js\n/**\n * TicketsLoader\n * Each arg:\n * { time: {before, after}, // Int, Int\n * where, // obj: {1:1, type:'xxx'}\n * order, // 'DESC' / 'ASC'\n * limit // Int\n * }\n */\nexports.TicketsLoader = new DataLoader(\n (args) => {\n const result = args.map(({ time: { before, after }, where, order, limit }) => {\n let time = [];\n if (before) {\n time.push(format('createdAt < ?', [before]));\n }\n if (after) {\n time.push(format('createdAt > ?', [after]));\n }\n if (time.length > 0) {\n time = `AND ${time.join(' AND ')}`;\n } else {\n time = '';\n }\n let sql;\n if (where) {\n sql = format(`SELECT * from ?? WHERE ?${time} ORDER BY createdAt ${order} LIMIT ?`, [TICKETTABLE, where, limit]);\n } else {\n sql = format(`SELECT * from ?? WHERE 1=1${time} ORDER BY createdAt ${order} LIMIT ?`, [TICKETTABLE, limit]);\n }\n return query(sql);\n });\n return Promise.all(result);\n },\n { cache: false }\n);\n```\n","dir":"/zh/experience/graphql","path":"/zh/experience/graphql/dataloader","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/graphql/dataloader","meta":{"version":0,"revision":0,"created":1756480738882},"$loki":80},{"slug":"authorization","description":"","title":"GraphQL 鉴权","position":2502,"category":"经验篇-GraphQL","toc":[{"id":"注意事项","depth":2,"text":"注意事项"},{"id":"鉴权中间件","depth":2,"text":"鉴权中间件"},{"id":"示例项目","depth":2,"text":"示例项目"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"GraphQL 项目的架构:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"架构","src":"https://graphql.js.cool/img/diagrams/business_layer.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其中鉴权部分应当属于业务逻辑层."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"注意事项"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注意事项"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里是一个鉴权的例子, 作者可以管理(编辑)自己的文章, 在定义模型的时候加入了权限的判断:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" postType "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"GraphQLObjectType"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" ‘Post’"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"fields"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"post"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" args"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" context"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" rootValue "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// return the post body only if the user is the post's author"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"context"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"context"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"id"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" post"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"authorId"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" post"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","null","nil"]},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"但有个问题在于, 鉴权的逻辑不被保留完全同步, 用户通过其他方式调用(如通过 RESTful 接口)时依然需要重新鉴权."}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"//Authorization logic lives inside postRepository"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" postRepository "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'postRepository'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"var"}]},{"type":"text","value":" postType "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"GraphQLObjectType"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" ‘Post’"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"fields"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"body"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLString"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"post"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" args"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" context"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" rootValue "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" postRepository"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"getBody"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"context"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" post"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这样, 我们就可以将用户对象传递到下一层(业务逻辑层)去进行鉴权的处理."}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"鉴权中间件"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%89%B4%E6%9D%83%E4%B8%AD%E9%97%B4%E4%BB%B6","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"鉴权中间件"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Express 中的 GraphQL 鉴权中间件示例: "},{"type":"element","tag":"a","props":{"href":"https://graphql.js.cool/graphql-js/authentication-and-express-middleware/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://graphql.js.cool/graphql-js/authentication-and-express-middleware/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"示例项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%A4%BA%E4%BE%8B%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"示例项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"完整示例项目待添加."}]}]},"text":"\nGraphQL 项目的架构:\n\n![架构](https://graphql.js.cool/img/diagrams/business_layer.png)\n\n其中鉴权部分应当属于业务逻辑层.\n\n## 注意事项\n\n这里是一个鉴权的例子, 作者可以管理(编辑)自己的文章, 在定义模型的时候加入了权限的判断:\n\n```js\nvar postType = new GraphQLObjectType({\n name: ‘Post’,\n fields: {\n body: {\n type: GraphQLString,\n resolve: (post, args, context, { rootValue }) => {\n // return the post body only if the user is the post's author\n if (context.user && (context.user.id === post.authorId)) {\n return post.body;\n }\n return null;\n }\n }\n }\n});\n```\n\n但有个问题在于, 鉴权的逻辑不被保留完全同步, 用户通过其他方式调用(如通过 RESTful 接口)时依然需要重新鉴权.\n\n```js\n//Authorization logic lives inside postRepository\nvar postRepository = require('postRepository');\n\nvar postType = new GraphQLObjectType({\n name: ‘Post’,\n fields: {\n body: {\n type: GraphQLString,\n resolve: (post, args, context, { rootValue }) => {\n return postRepository.getBody(context.user, post);\n }\n }\n }\n});\n```\n\n这样, 我们就可以将用户对象传递到下一层(业务逻辑层)去进行鉴权的处理.\n\n\n\n## 鉴权中间件\n\nExpress 中的 GraphQL 鉴权中间件示例: \n\n## 示例项目\n\n完整示例项目待添加.\n","dir":"/zh/experience/graphql","path":"/zh/experience/graphql/authorization","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/graphql/authorization","meta":{"version":0,"revision":0,"created":1756480738888},"$loki":81},{"slug":"mysql","description":"","title":"MySQL 向 GraphQL 迁移","position":2501,"category":"经验篇-GraphQL","toc":[{"id":"sequelize-auto-将-mysql-数据库转变成模型","depth":2,"text":"sequelize-auto 将 MySQL 数据库转变成模型"},{"id":"使用数据模型","depth":2,"text":"使用数据模型"},{"id":"graphql-sequelize-转换-mysql---graphql-结构","depth":2,"text":"graphql-sequelize 转换 MySQL -> GraphQL 结构"},{"id":"启动服务器","depth":2,"text":"启动服务器"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"GraphQL 是一个开源的图形数据库(基于 Node.js 实现), 中文文档: "},{"type":"element","tag":"a","props":{"href":"https://graphql.js.cool/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://graphql.js.cool/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"sequelize-auto-将-mysql-数据库转变成模型"},"children":[{"type":"element","tag":"a","props":{"href":"#sequelize-auto-%E5%B0%86-mysql-%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BD%AC%E5%8F%98%E6%88%90%E6%A8%A1%E5%9E%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"sequelize-auto"}]},{"type":"text","value":" 将 MySQL 数据库转变成模型"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"[node] sequelize-auto -h -d -u -x [password] -p [port] --dialect [dialect] -c [/path/to/config] -o [/path/to/models] -t [tableName] -C\n\n参数:\n -h, --host 主机地址 [必须]\n -d, --database 数据名 [必须]\n -u, --user 用户名\n -x, --pass 密码\n -p, --port 端口号\n -c, --config 配置文件,参考: https://sequelize.readthedocs.org/en/latest/api/sequelize/\n -o, --output 输出目录\n -e, --dialect 数据库引擎: postgres, mysql, sqlite\n -t, --tables 需要导入的表\n -T, --skip-tables 需要排除的表\n -C, --camel 使用用驼峰命名法\n -n, --no-write 不需要写入文件\n -s, --schema 数据库结构\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"使用数据模型"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"使用数据模型"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里是生成的一个示例模型:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* jshint indent: 2 */"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"function"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"sequelize"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataTypes"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" sequelize"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"define"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'d_user'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"uid"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataTypes"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"INTEGER"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"11"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"UNSIGNED"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"primaryKey"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"username"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataTypes"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataTypes"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"email"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataTypes"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"32"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"password"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataTypes"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"32"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"salt"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataTypes"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"8"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"updatedAt"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"DataTypes"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"INTEGER"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"UNSIGNED"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"tableName"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'user'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"创建数据库模型:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Sequelize"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'sequelize'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Db"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Sequelize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'数据库名'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'用户名'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'密码'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"host"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'localhost'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"dialect"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'mysql'"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"User"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Db"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"define"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'user'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"uid"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Sequelize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"INTEGER"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"11"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"UNSIGNED"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"primaryKey"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"username"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Sequelize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"mobile"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Sequelize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"email"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Sequelize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"32"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"password"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Sequelize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"32"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"salt"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Sequelize"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"STRING"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"8"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"allowNull"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"defaultValue"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"tableName"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'user'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 取消默认的时间戳, 否则会报 createdAt 不存在错误"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"timestamps"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Db"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"sync"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Db"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"User"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"graphql-sequelize-转换-mysql---graphql-结构"},"children":[{"type":"element","tag":"a","props":{"href":"#graphql-sequelize-%E8%BD%AC%E6%8D%A2-mysql---graphql-%E7%BB%93%E6%9E%84","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"graphql-sequelize"}]},{"type":"text","value":" 转换 MySQL -> GraphQL 结构"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLObjectType"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLSchema"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLList"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLInt"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLString"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'graphql'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" attributeFields"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" resolver "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'graphql-sequelize'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Db"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"User"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./db'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nuserType "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"GraphQLObjectType"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'User'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'A user'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"fields"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"attributeFields"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"User"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Query"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"GraphQLObjectType"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Query'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Root query object'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function-variable","function"]},"children":[{"type":"text","value":"fields"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"GraphQLList"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"userType"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"args"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"uid"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLInt"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"email"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphQLString"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"resolve"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"root"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" args"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Db"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"models"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"user"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"findAll"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"where"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" args "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Schema"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"GraphQLSchema"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Query"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\nmodule"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"exports"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Schema"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"启动服务器"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%99%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"启动服务器"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Express"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'express'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphHTTP"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'express-graphql'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Schema"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'./schema'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Config"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"APP_PORT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Start"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" app "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Express"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// GraphQL"}]},{"type":"text","value":"\napp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"use"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'/graphql'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"GraphHTTP"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"schema"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Schema"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"pretty"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"graphiql"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\napp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"listen"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"APP_PORT"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"App listening on port "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","constant"]},"children":[{"type":"text","value":"APP_PORT"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\nGraphQL 是一个开源的图形数据库(基于 Node.js 实现), 中文文档: \n\n## `sequelize-auto` 将 MySQL 数据库转变成模型\n\n```\n[node] sequelize-auto -h -d -u -x [password] -p [port] --dialect [dialect] -c [/path/to/config] -o [/path/to/models] -t [tableName] -C\n\n参数:\n -h, --host 主机地址 [必须]\n -d, --database 数据名 [必须]\n -u, --user 用户名\n -x, --pass 密码\n -p, --port 端口号\n -c, --config 配置文件,参考: https://sequelize.readthedocs.org/en/latest/api/sequelize/\n -o, --output 输出目录\n -e, --dialect 数据库引擎: postgres, mysql, sqlite\n -t, --tables 需要导入的表\n -T, --skip-tables 需要排除的表\n -C, --camel 使用用驼峰命名法\n -n, --no-write 不需要写入文件\n -s, --schema 数据库结构\n```\n\n\n\n## 使用数据模型\n\n这里是生成的一个示例模型:\n\n```js\n/* jshint indent: 2 */\n\nmodule.exports = function (sequelize, DataTypes) {\n return sequelize.define(\n 'd_user',\n {\n uid: {\n type: DataTypes.INTEGER(11).UNSIGNED,\n allowNull: false,\n primaryKey: true\n },\n username: {\n type: DataTypes.STRING(16),\n allowNull: false,\n defaultValue: ''\n },\n mobile: {\n type: DataTypes.STRING(16),\n allowNull: false,\n defaultValue: ''\n },\n email: {\n type: DataTypes.STRING(32),\n allowNull: false,\n defaultValue: ''\n },\n password: {\n type: DataTypes.STRING(32),\n allowNull: false,\n defaultValue: ''\n },\n salt: {\n type: DataTypes.STRING(8),\n allowNull: false,\n defaultValue: ''\n },\n updatedAt: {\n type: DataTypes.INTEGER(10).UNSIGNED,\n allowNull: false\n }\n },\n {\n tableName: 'user'\n }\n );\n};\n```\n\n创建数据库模型:\n\n```js\nconst Sequelize = require('sequelize');\n\nconst Db = new Sequelize('数据库名', '用户名', '密码', {\n host: 'localhost',\n dialect: 'mysql'\n});\n\nconst User = Db.define(\n 'user',\n {\n uid: {\n type: Sequelize.INTEGER(11).UNSIGNED,\n allowNull: false,\n primaryKey: true\n },\n username: {\n type: Sequelize.STRING(16),\n allowNull: false,\n defaultValue: ''\n },\n mobile: {\n type: Sequelize.STRING(16),\n allowNull: false,\n defaultValue: ''\n },\n email: {\n type: Sequelize.STRING(32),\n allowNull: false,\n defaultValue: ''\n },\n password: {\n type: Sequelize.STRING(32),\n allowNull: false,\n defaultValue: ''\n },\n salt: {\n type: Sequelize.STRING(8),\n allowNull: false,\n defaultValue: ''\n }\n },\n {\n tableName: 'user',\n // 取消默认的时间戳, 否则会报 createdAt 不存在错误\n timestamps: false\n }\n);\n\nDb.sync();\n\nmodule.exports = {\n Db,\n User\n};\n```\n\n## `graphql-sequelize` 转换 MySQL -> GraphQL 结构\n\n```js\nconst { GraphQLObjectType, GraphQLSchema, GraphQLList, GraphQLInt, GraphQLString } = require('graphql');\nconst { attributeFields, resolver } = require('graphql-sequelize');\nconst { Db, User } = require('./db');\n\nuserType = new GraphQLObjectType({\n name: 'User',\n description: 'A user',\n fields: attributeFields(User)\n});\n\nconst Query = new GraphQLObjectType({\n name: 'Query',\n description: 'Root query object',\n fields: () => {\n return {\n user: {\n type: new GraphQLList(userType),\n args: {\n uid: {\n type: GraphQLInt\n },\n email: {\n type: GraphQLString\n }\n },\n resolve(root, args) {\n return Db.models.user.findAll({ where: args });\n }\n }\n };\n }\n});\n\nconst Schema = new GraphQLSchema({\n query: Query\n});\n\nmodule.exports = Schema;\n```\n\n## 启动服务器\n\n```js\nconst Express = require('express');\nconst GraphHTTP = require('express-graphql');\nconst Schema = require('./schema');\n\n// Config\nconst APP_PORT = 3000;\n\n// Start\nconst app = Express();\n\n// GraphQL\napp.use(\n '/graphql',\n GraphHTTP({\n schema: Schema,\n pretty: true,\n graphiql: true\n })\n);\n\napp.listen(APP_PORT, () => {\n console.log(`App listening on port ${APP_PORT}`);\n});\n```\n","dir":"/zh/experience/graphql","path":"/zh/experience/graphql/mysql","extension":".md","createdAt":"2025-08-29T15:18:11.820Z","updatedAt":"2025-08-29T15:18:11.820Z","to":"/experience/graphql/mysql","meta":{"version":0,"revision":0,"created":1756480738898},"$loki":82},{"slug":"certbot","description":"","title":"CertBot 证书","position":2207,"category":"经验篇-运维","toc":[],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在阿里云 ECS 上安装的话,Python 版本是包含 2、3 两个的,所以需要升级 pip 到 9.0 之后版本。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果是"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Ubuntu 16.04"}]},{"type":"text","value":"版本,千万不要用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Root"}]},{"type":"text","value":"安装。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"升级过程中提示:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"locale.Error: unsupported locale setting\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"通过修改本地语言修复:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"export"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","environment","constant"]},"children":[{"type":"text","value":"LC_ALL"}]}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"en_US.UTF-8\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"export"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","assign-left","variable"]},"children":[{"type":"text","value":"LC_CTYPE"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"en_US.UTF-8\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" dpkg-reconfigure locales\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后一路回车结束。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pip "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" -U pip\n\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 测试安装结果"}]},{"type":"text","value":"\npip -V\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"certbot-auto"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":" https://dl.eff.org/certbot-auto\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"chmod"}]},{"type":"text","value":" +x certbot-auto\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"检查 Nginx 是否已经配置该网站。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"server {\n listen 80;\n server_name example.com;\n add_header Strict-Transport-Security max-age=15768000;\n return 301 https://example.com$request_uri;\n}\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"颁发证书:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./certbot-auto certonly --agree-tos --email mail@example.com --nginx -d example.com\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"添加 HTTPS 配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"server {\n listen 443 ssl http2; # managed by Certbot\n server_name example.com;\n ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot\n ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot\n ssl_session_cache shared:le_nginx_SSL:1m; # managed by Certbot\n ssl_session_timeout 1440m; # managed by Certbot\n\n ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # managed by Certbot\n ssl_prefer_server_ciphers on; # managed by Certbot\n\n ssl_ciphers \"ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-SHA ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 DHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES256-SHA256 EDH-RSA-DES-CBC3-SHA\"; # managed by Certbot\n\n # add_header Alternate-Protocol 443:npn-spdy/3;\n add_header Strict-Transport-Security \"max-age=31536000;\";\n #add_header X-Content-Type-Options \"nosniff\";\n #add_header X-Frame-Options DENY;\n\n access_log off;\n\n # 应用部分\n}\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"更新证书命令:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./certbot-auto renew --dry-run\n"}]}]}]}]},"text":"\n在阿里云 ECS 上安装的话,Python 版本是包含 2、3 两个的,所以需要升级 pip 到 9.0 之后版本。\n\n如果是`Ubuntu 16.04`版本,千万不要用`Root`安装。\n\n升级过程中提示:\n\n```\nlocale.Error: unsupported locale setting\n```\n\n通过修改本地语言修复:\n\n```bash\nexport LC_ALL=\"en_US.UTF-8\"\nexport LC_CTYPE=\"en_US.UTF-8\"\nsudo dpkg-reconfigure locales\n```\n\n然后一路回车结束。\n\n```bash\npip install -U pip\n\n# 测试安装结果\npip -V\n# pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)\n```\n\n\n\n安装`certbot-auto`\n\n```bash\nwget https://dl.eff.org/certbot-auto\nchmod +x certbot-auto\n```\n\n检查 Nginx 是否已经配置该网站。\n\n```\nserver {\n listen 80;\n server_name example.com;\n add_header Strict-Transport-Security max-age=15768000;\n return 301 https://example.com$request_uri;\n}\n```\n\n颁发证书:\n\n```bash\n./certbot-auto certonly --agree-tos --email mail@example.com --nginx -d example.com\n```\n\n添加 HTTPS 配置:\n\n```conf\nserver {\n listen 443 ssl http2; # managed by Certbot\n server_name example.com;\n ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot\n ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot\n ssl_session_cache shared:le_nginx_SSL:1m; # managed by Certbot\n ssl_session_timeout 1440m; # managed by Certbot\n\n ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # managed by Certbot\n ssl_prefer_server_ciphers on; # managed by Certbot\n\n ssl_ciphers \"ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-SHA ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 DHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES256-SHA256 EDH-RSA-DES-CBC3-SHA\"; # managed by Certbot\n\n # add_header Alternate-Protocol 443:npn-spdy/3;\n add_header Strict-Transport-Security \"max-age=31536000;\";\n #add_header X-Content-Type-Options \"nosniff\";\n #add_header X-Frame-Options DENY;\n\n access_log off;\n\n # 应用部分\n}\n```\n\n更新证书命令:\n\n```bash\n./certbot-auto renew --dry-run\n```\n","dir":"/zh/experience/operation","path":"/zh/experience/operation/certbot","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/operation/certbot","meta":{"version":0,"revision":0,"created":1756480738901},"$loki":83},{"slug":"later","description":"","title":"Later 计划任务","position":2203,"category":"经验篇-运维","toc":[],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://bunkat.github.io/later/index.html","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://bunkat.github.io/later/index.html"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"应用场景:计划任务,类似 Crontab。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"text","value":"later"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'later'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每分钟执行一次"}]},{"type":"text","value":"\nlater"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Codes"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" later"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"recur"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"every"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"minute"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每天的 16:55 执行"}]},{"type":"text","value":"\nlater"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Codes"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" later"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cron"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'55 16 */1 * * ?'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 每小时的 1 分 执行"}]},{"type":"text","value":"\nlater"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"setInterval"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Codes"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" later"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"cron"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'1 */1 * * * ?'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n\n\n应用场景:计划任务,类似 Crontab。\n\n```js\nimport later from 'later';\n// 每分钟执行一次\nlater.setInterval(()=>{\n // Codes\n\n}), later.parse.recur().every(1).minute());\n// 每天的 16:55 执行\nlater.setInterval(()=>{\n // Codes\n\n}), later.parse.cron('55 16 */1 * * ?'));\n// 每小时的 1 分 执行\nlater.setInterval(()=>{\n // Codes\n\n}), later.parse.cron('1 */1 * * * ?'));\n```\n\n\n","dir":"/zh/experience/operation","path":"/zh/experience/operation/later","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/operation/later","meta":{"version":0,"revision":0,"created":1756480738903},"$loki":84},{"slug":"cloudflare-nginx","description":"","title":"CloudFlare","position":2208,"category":"经验篇-运维","toc":[{"id":"配置","depth":2,"text":"配置"},{"id":"参考资料","depth":2,"text":"参考资料"}],"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"cloudflare-nginx-获取真实-ip-地址"},"children":[{"type":"element","tag":"a","props":{"href":"#cloudflare-nginx-%E8%8E%B7%E5%8F%96%E7%9C%9F%E5%AE%9E-ip-%E5%9C%B0%E5%9D%80","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"CloudFlare Nginx 获取真实 ip 地址"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"安装 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ngx_http_realip_module"}]},{"type":"text","value":" 模块, 在 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"nginx.conf"}]},{"type":"text","value":" 中进行配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-text","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"set_real_ip_from 103.21.244.0/22;\nset_real_ip_from 103.22.200.0/22;\nset_real_ip_from 103.31.4.0/22;\nset_real_ip_from 104.16.0.0/12;\nset_real_ip_from 108.162.192.0/18;\nset_real_ip_from 131.0.72.0/22;\nset_real_ip_from 141.101.64.0/18;\nset_real_ip_from 162.158.0.0/15;\nset_real_ip_from 172.64.0.0/13;\nset_real_ip_from 173.245.48.0/20;\nset_real_ip_from 188.114.96.0/20;\nset_real_ip_from 190.93.240.0/20;\nset_real_ip_from 197.234.240.0/22;\nset_real_ip_from 198.41.128.0/17;\nset_real_ip_from 199.27.128.0/21;\nset_real_ip_from 2400:cb00 :: / 32;\nset_real_ip_from 2606:4700 :: / 32;\nset_real_ip_from 2803:f800 :: / 32;\nset_real_ip_from 2405:b500 :: / 32;\nset_real_ip_from 2405:8100 :: / 32;\nset_real_ip_from 2c0f:f248 :: / 32;\nset_real_ip_from 2a06:98c0 :: / 29;\n\n# 使用以下任意一个\n# real_ip_header CF-Connecting-IP;\n# 推荐这个\nreal_ip_header X-Forwarded-For;\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"从这个网址获取 IP 列表的更新: "},{"type":"element","tag":"a","props":{"href":"https://www.cloudflare.com/ips/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.cloudflare.com/ips/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"参考资料"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"参考资料"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Nginx 模块"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ngx_http_realip_module"}]},{"type":"text","value":": "},{"type":"element","tag":"a","props":{"href":"http://nginx.org/en/docs/http/ngx_http_realip_module.html","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://nginx.org/en/docs/http/ngx_http_realip_module.html"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"CloudFlare 原始访客 ip: "},{"type":"element","tag":"a","props":{"href":"https://support.cloudflare.com/hc/en-us/articles/200170706-How-do-I-restore-original-visitor-IP-with-Nginx-","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://support.cloudflare.com/hc/en-us/articles/200170706-How-do-I-restore-original-visitor-IP-with-Nginx-"}]}]},{"type":"text","value":"\n"}]}]},"text":"\n# CloudFlare Nginx 获取真实 ip 地址\n\n## 配置\n\n安装 `ngx_http_realip_module` 模块, 在 `nginx.conf` 中进行配置:\n\n```conf\nset_real_ip_from 103.21.244.0/22;\nset_real_ip_from 103.22.200.0/22;\nset_real_ip_from 103.31.4.0/22;\nset_real_ip_from 104.16.0.0/12;\nset_real_ip_from 108.162.192.0/18;\nset_real_ip_from 131.0.72.0/22;\nset_real_ip_from 141.101.64.0/18;\nset_real_ip_from 162.158.0.0/15;\nset_real_ip_from 172.64.0.0/13;\nset_real_ip_from 173.245.48.0/20;\nset_real_ip_from 188.114.96.0/20;\nset_real_ip_from 190.93.240.0/20;\nset_real_ip_from 197.234.240.0/22;\nset_real_ip_from 198.41.128.0/17;\nset_real_ip_from 199.27.128.0/21;\nset_real_ip_from 2400:cb00 :: / 32;\nset_real_ip_from 2606:4700 :: / 32;\nset_real_ip_from 2803:f800 :: / 32;\nset_real_ip_from 2405:b500 :: / 32;\nset_real_ip_from 2405:8100 :: / 32;\nset_real_ip_from 2c0f:f248 :: / 32;\nset_real_ip_from 2a06:98c0 :: / 29;\n\n# 使用以下任意一个\n# real_ip_header CF-Connecting-IP;\n# 推荐这个\nreal_ip_header X-Forwarded-For;\n```\n\n从这个网址获取 IP 列表的更新: \n\n\n\n## 参考资料\n\n- Nginx 模块`ngx_http_realip_module`: \n- CloudFlare 原始访客 ip: \n","dir":"/zh/experience/operation","path":"/zh/experience/operation/cloudflare-nginx","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/operation/cloudflare-nginx","meta":{"version":0,"revision":0,"created":1756480738906},"$loki":85},{"slug":"pm2","description":"","title":"PM2 守护进程","position":2202,"category":"经验篇-运维","toc":[{"id":"常用命令","depth":2,"text":"常用命令"},{"id":"启动项目","depth":3,"text":"启动项目"},{"id":"重启项目","depth":3,"text":"重启项目"},{"id":"停止","depth":3,"text":"停止"},{"id":"终止","depth":3,"text":"终止"},{"id":"开机自启","depth":3,"text":"开机自启"},{"id":"自动重启","depth":2,"text":"自动重启"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://github.com/Unitech/pm2","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/Unitech/pm2"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"当前使用场景:产品环境守护进程。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"常用命令"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"常用命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"启动项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%90%AF%E5%8A%A8%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"启动项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 start xxx.js "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#直接启动入口文件"}]},{"type":"text","value":"\n\npm2 start xxx.json "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#通过配置启动"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"配置文件参考:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-json"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"app\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"script\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"babel.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"log_date_format\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"YYYY-MM-DD HH:mm:ss Z\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"cwd\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/home/project\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"error_file\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/home/project/logs/app.err.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"out_file\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/home/project/logs/app.out.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"max_memory_restart\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"800M\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"instances\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"exec_mode\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"cluster\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"merge_logs\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"env\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"NODE_ENV\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"production\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"script\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"./examples/child.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"error_file\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"errLog.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"out_file\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"outLog.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pid_file\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"child\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"instances\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"4\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"min_uptime\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"10\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"max_restarts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"4\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"script\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"examples/env.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"error_file\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"errEcho.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"out_file\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"outEcho.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"ok\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pid_file\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"echo.pid\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"max\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"1\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"exec_mode\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"cluster_mode\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"port\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"9001\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"env_variable\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"TOTO\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"TEST_VARIABLE\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSIR\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"重启项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%87%8D%E5%90%AF%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"重启项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 restart "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#PID# #重启一个进程"}]},{"type":"text","value":"\n\npm2 restart app-name "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#重启一个应用"}]},{"type":"text","value":"\n\npm2 restart all "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#重启所有项目"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"停止"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%81%9C%E6%AD%A2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"停止"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 stop "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#PID#"}]},{"type":"text","value":"\n\npm2 stop app-name\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"终止"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%BB%88%E6%AD%A2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"终止"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 delete app-name "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#删除一个进程"}]},{"type":"text","value":"\n\npm2 "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"kill"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#终止所有进程"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"开机自启"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"开机自启"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 startup\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考官方文档获取详细使用说明。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"自动重启"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%87%AA%E5%8A%A8%E9%87%8D%E5%90%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"自动重启"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"设置内存使用过高上限,可以通过配置文件这一项:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"max_memory_restart\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"800M\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"PM2"}]},{"type":"text","value":"是一个很好的工具,提供了"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"max-memory-restart"}]},{"type":"text","value":"内存溢出重启的功能。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"但美中不足的是,没有 CPU 限制重启的功能。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"同时,也无法进行远程手动重启。但好在,PM2 提供了 JSON 格式列表输出,让我们可以自己去写一些守护进程,或者整合到已有的运维管理系统中。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 jlist\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"结果会是这样的 json:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-json"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pid\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"28701"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"xxxx\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm2_env\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"name\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"xxxx\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"max_memory_restart\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"838860800"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"instances\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"cwd\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/xxxx/project\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"merge_logs\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"vizion\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pmx\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"automation\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"autorestart\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"treekill\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"env\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"PM2_JSON_PROCESSING\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"true\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"LSCOLORS\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"Gxfxcxdxbxegedabagacad\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"LESS\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"-R\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"PAGER\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"less\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"SSH_TTY\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/dev/pts/1\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"SSH_CLIENT\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"218.94.29.190 53115 22\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"SHELL\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/bin/bash\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"TERM\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"xterm-256color\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"XDG_SESSION_ID\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"814\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"NODE_ENV\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"production\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"max_memory_restart\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"838860800"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"instances\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"merge_logs\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"vizion\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pmx\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"automation\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"autorestart\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"treekill\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"log_date_format\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"YYYY-MM-DD HH:mm:ss Z\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"exec_mode\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"cluster_mode\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"node_args\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"exec_interpreter\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"node\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_out_log_path\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/xxxxx/logs/fish.out.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_err_log_path\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/xxxxx/logs/fish.err.log\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"log_date_format\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"YYYY-MM-DD HH:mm:ss Z\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"exec_mode\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"cluster_mode\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"node_args\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_exec_path\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/xxxx/babel.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_cwd\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/xxxxx/project\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"exec_interpreter\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"node\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_out_log_path\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/xxxxxx/xxx.out.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_err_log_path\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/xxxxxx/xxx.err.log\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"NODE_APP_INSTANCE\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"vizion_running\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"PM2_JSON_PROCESSING\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"true\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"LESSCLOSE\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/usr/bin/lesspipe %s %s\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"XDG_RUNTIME_DIR\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/run/user/1000\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"LESSOPEN\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"| /usr/bin/lesspipe %s\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"LC_CTYPE\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"zh_CN.UTF-8\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"SSH_TTY\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/dev/pts/1\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"SHELL\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"/bin/bash\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"NODE_ENV\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"production\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"fish\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"{}\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"status\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"online\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_uptime\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1472561001434"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"axm_actions\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"axm_monitor\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"Loop delay\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"value\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"0.92ms\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"agg_type\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"avg\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"alert\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"axm_options\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"http\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"http_latency\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"200"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"http_code\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"500"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"ignore_routes\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"profiling\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"errors\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"alert_enabled\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"custom_probes\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"network\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"ports\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"module_conf\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"module_name\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"fish\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"module_version\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"1.1.3\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pmx_version\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"0.6.2\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"error\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"axm_dynamic\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"created_at\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1472561000966"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_id\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"restart_time\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"unstable_restarts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"_pm2_version\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"1.1.3\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"versioning\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"type\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"git\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"update_time\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"2016-09-02T07:25:14.113Z\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"comment\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"v3.6.12 - fix-importer\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"unstaged\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"branch\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"HEAD\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"remotes\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"origin\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"remote\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"origin\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"branch_exists_on_remote\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"ahead\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"false"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"next_rev\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","null","keyword"]},"children":[{"type":"text","value":"null"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"node_version\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"6.3.0\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"exit_code\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"pm_id\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"monit\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"memory\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"90591232"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","property"]},"children":[{"type":"text","value":"\"cpu\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其中每一列数据都有 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"rows[i].monit.cpu"}]},{"type":"text","value":",值范围 0~100。可以用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"later"}]},{"type":"text","value":"写定时脚本监控并重启。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例代码:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" exec "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'child_process'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"import"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","imports"]},"children":[{"type":"text","value":"numeral"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"from"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'numeral'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"exec"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'pm2 jlist'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" stdout"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" stderr"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"stderr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"stderr"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" stdout"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"split"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'\\n'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 如果不存在 PM2 进程,将会打初始化日志"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"while"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"indexOf"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'[PM2]'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"shift"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" items "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"try"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n items "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"e"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"/* eslint no-empty:0 */"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// console.log(items);"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 演示"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" item "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" items"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" uptimeTmp "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"numeral"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"new"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","class-name"]},"children":[{"type":"text","value":"Date"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"-"}]},{"type":"text","value":" item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"pm2_env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"pm_uptime"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'00:00:00'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"split"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"':'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"map"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Number"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" uptime "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"parseInt"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"uptimeTmp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"/"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"24"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"天"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"uptimeTmp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"%"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"24"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"时"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"uptimeTmp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"分"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"uptimeTmp"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"秒"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"replace"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0天'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"replace"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0时'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"replace"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0分'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"replace"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0秒'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"pid"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 41965"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"name"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// app-name"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"pm_id"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 0"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"monit"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"cpu"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"%"}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 91%"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"numeral"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"monit"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"memory"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"format"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0.0b'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 126.8MB"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"uptime"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 6秒"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"pm2_env"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"restart_time"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 0"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"monit"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"cpu"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":">"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"90"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"exec"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","template-string"]},"children":[{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"pm2 restart "}]},{"type":"element","tag":"span","props":{"className":["token","interpolation"]},"children":[{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"${"}]},{"type":"text","value":"item"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"pm_id"}]},{"type":"element","tag":"span","props":{"className":["token","interpolation-punctuation","punctuation"]},"children":[{"type":"text","value":"}"}]}]},{"type":"element","tag":"span","props":{"className":["token","template-punctuation","string"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"err2"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" stdout2"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" stderr2"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"stdout2"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","console","class-name"]},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"log"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"stderr2"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]}]},"text":"\n\n\n当前使用场景:产品环境守护进程。\n\n## 常用命令\n\n### 启动项目\n\n```bash\npm2 start xxx.js #直接启动入口文件\n\npm2 start xxx.json #通过配置启动\n```\n\n配置文件参考:\n\n```json\n[\n {\n \"name\": \"app\",\n \"script\": \"babel.js\",\n \"log_date_format\": \"YYYY-MM-DD HH:mm:ss Z\",\n \"cwd\": \"/home/project\",\n \"error_file\": \"/home/project/logs/app.err.log\",\n \"out_file\": \"/home/project/logs/app.out.log\",\n \"max_memory_restart\": \"800M\",\n \"instances\": 0,\n \"exec_mode\": \"cluster\",\n \"merge_logs\": true,\n \"env\": {\n \"NODE_ENV\": \"production\"\n }\n },\n {\n \"script\": \"./examples/child.js\",\n \"error_file\": \"errLog.log\",\n \"out_file\": \"outLog.log\",\n \"pid_file\": \"child\",\n \"instances\": \"4\",\n \"min_uptime\": \"10\",\n \"max_restarts\": \"4\"\n },\n {\n \"script\": \"examples/env.js\",\n \"error_file\": \"errEcho.log\",\n \"out_file\": \"outEcho.log\",\n \"name\": \"ok\",\n \"pid_file\": \"echo.pid\",\n \"max\": \"1\",\n \"exec_mode\": \"cluster_mode\",\n \"port\": \"9001\",\n \"env_variable\": \"TOTO\",\n \"TEST_VARIABLE\": \"YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSIR\"\n }\n]\n```\n\n### 重启项目\n\n```bash\npm2 restart #PID# #重启一个进程\n\npm2 restart app-name #重启一个应用\n\npm2 restart all #重启所有项目\n```\n\n### 停止\n\n```bash\npm2 stop #PID#\n\npm2 stop app-name\n```\n\n### 终止\n\n```bash\npm2 delete app-name #删除一个进程\n\npm2 kill #终止所有进程\n```\n\n### 开机自启\n\n```bash\npm2 startup\n```\n\n参考官方文档获取详细使用说明。\n\n\n\n## 自动重启\n\n设置内存使用过高上限,可以通过配置文件这一项:\n\n```js\n{\n \"max_memory_restart\": \"800M\"\n}\n```\n\n`PM2`是一个很好的工具,提供了`max-memory-restart`内存溢出重启的功能。\n\n但美中不足的是,没有 CPU 限制重启的功能。\n\n同时,也无法进行远程手动重启。但好在,PM2 提供了 JSON 格式列表输出,让我们可以自己去写一些守护进程,或者整合到已有的运维管理系统中。\n\n```bash\npm2 jlist\n```\n\n结果会是这样的 json:\n\n```json\n[\n {\n \"pid\": 28701,\n \"name\": \"xxxx\",\n \"pm2_env\": {\n \"name\": \"xxxx\",\n \"max_memory_restart\": 838860800,\n \"instances\": 0,\n \"cwd\": \"/xxxx/project\",\n \"merge_logs\": true,\n \"vizion\": true,\n \"pmx\": true,\n \"automation\": true,\n \"autorestart\": true,\n \"treekill\": true,\n \"env\": {\n \"PM2_JSON_PROCESSING\": \"true\",\n \"LSCOLORS\": \"Gxfxcxdxbxegedabagacad\",\n \"LESS\": \"-R\",\n \"PAGER\": \"less\",\n \"SSH_TTY\": \"/dev/pts/1\",\n \"SSH_CLIENT\": \"218.94.29.190 53115 22\",\n \"SHELL\": \"/bin/bash\",\n \"TERM\": \"xterm-256color\",\n \"XDG_SESSION_ID\": \"814\",\n \"NODE_ENV\": \"production\",\n \"max_memory_restart\": 838860800,\n \"instances\": 0,\n \"merge_logs\": true,\n \"vizion\": true,\n \"pmx\": true,\n \"automation\": true,\n \"autorestart\": true,\n \"treekill\": true,\n \"log_date_format\": \"YYYY-MM-DD HH:mm:ss Z\",\n \"exec_mode\": \"cluster_mode\",\n \"node_args\": [],\n \"exec_interpreter\": \"node\",\n \"pm_out_log_path\": \"/xxxxx/logs/fish.out.log\",\n \"pm_err_log_path\": \"/xxxxx/logs/fish.err.log\"\n },\n \"log_date_format\": \"YYYY-MM-DD HH:mm:ss Z\",\n \"exec_mode\": \"cluster_mode\",\n \"node_args\": [],\n \"pm_exec_path\": \"/xxxx/babel.js\",\n \"pm_cwd\": \"/xxxxx/project\",\n \"exec_interpreter\": \"node\",\n \"pm_out_log_path\": \"/xxxxxx/xxx.out.log\",\n \"pm_err_log_path\": \"/xxxxxx/xxx.err.log\",\n \"NODE_APP_INSTANCE\": 0,\n \"vizion_running\": false,\n \"PM2_JSON_PROCESSING\": \"true\",\n \"LESSCLOSE\": \"/usr/bin/lesspipe %s %s\",\n \"XDG_RUNTIME_DIR\": \"/run/user/1000\",\n \"LESSOPEN\": \"| /usr/bin/lesspipe %s\",\n \"LC_CTYPE\": \"zh_CN.UTF-8\",\n \"SSH_TTY\": \"/dev/pts/1\",\n \"SHELL\": \"/bin/bash\",\n \"NODE_ENV\": \"production\",\n \"fish\": \"{}\",\n \"status\": \"online\",\n \"pm_uptime\": 1472561001434,\n \"axm_actions\": [],\n \"axm_monitor\": {\n \"Loop delay\": {\n \"value\": \"0.92ms\",\n \"agg_type\": \"avg\",\n \"alert\": {}\n }\n },\n \"axm_options\": {\n \"http\": false,\n \"http_latency\": 200,\n \"http_code\": 500,\n \"ignore_routes\": [],\n \"profiling\": true,\n \"errors\": true,\n \"alert_enabled\": true,\n \"custom_probes\": true,\n \"network\": false,\n \"ports\": false,\n \"module_conf\": {},\n \"module_name\": \"fish\",\n \"module_version\": \"1.1.3\",\n \"pmx_version\": \"0.6.2\",\n \"error\": true\n },\n \"axm_dynamic\": {},\n \"created_at\": 1472561000966,\n \"pm_id\": 3,\n \"restart_time\": 1,\n \"unstable_restarts\": 0,\n \"_pm2_version\": \"1.1.3\",\n \"versioning\": {\n \"type\": \"git\",\n \"update_time\": \"2016-09-02T07:25:14.113Z\",\n \"comment\": \"v3.6.12 - fix-importer\",\n \"unstaged\": false,\n \"branch\": \"HEAD\",\n \"remotes\": [\"origin\"],\n \"remote\": \"origin\",\n \"branch_exists_on_remote\": true,\n \"ahead\": false,\n \"next_rev\": null\n },\n \"node_version\": \"6.3.0\",\n \"exit_code\": 0\n },\n \"pm_id\": 3,\n \"monit\": {\n \"memory\": 90591232,\n \"cpu\": 0\n }\n }\n]\n```\n\n其中每一列数据都有 `rows[i].monit.cpu`,值范围 0~100。可以用`later`写定时脚本监控并重启。\n\n示例代码:\n\n```js\nimport { exec } from 'child_process';\nimport numeral from 'numeral';\n\nexec('pm2 jlist', (err, stdout, stderr) => {\n if (stderr) {\n console.log(stderr);\n }\n const result = stdout.split('\\n');\n\n // 如果不存在 PM2 进程,将会打初始化日志\n while (result[0].indexOf('[PM2]') === 0) {\n result.shift();\n }\n let items = [];\n try {\n items = JSON.parse(result[0]);\n } catch (e) {\n /* eslint no-empty:0 */\n }\n // console.log(items);\n\n // 演示\n const item = items[0];\n\n const uptimeTmp = numeral((new Date() - item.pm2_env.pm_uptime) / 1000)\n .format('00:00:00')\n .split(':')\n .map(Number);\n const uptime = `${parseInt(uptimeTmp[0] / 24, 10)}天${uptimeTmp[0] % 24}时${uptimeTmp[1]}分${uptimeTmp[2]}秒`\n .replace('0天', '')\n .replace('0时', '')\n .replace('0分', '')\n .replace('0秒', '');\n\n console.log(item.pid);\n // 41965\n console.log(item.name);\n // app-name\n console.log(item.pm_id);\n // 0\n console.log(`${item.monit.cpu}%`);\n // 91%\n console.log(numeral(item.monit.memory).format('0.0b'));\n // 126.8MB\n console.log(uptime);\n // 6秒\n console.log(item.pm2_env.restart_time);\n // 0\n if (item.monit.cpu > 90) {\n exec(`pm2 restart ${item.pm_id}`, (err2, stdout2, stderr2) => {\n console.log(stdout2);\n console.log(stderr2);\n });\n }\n});\n```\n","dir":"/zh/experience/operation","path":"/zh/experience/operation/pm2","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/operation/pm2","meta":{"version":0,"revision":0,"created":1756480738923},"$loki":86},{"slug":"restarter","description":"","title":"重启服务","position":2205,"category":"经验篇-运维","toc":[{"id":"配置手动启动","depth":2,"text":"配置手动启动"},{"id":"重启-shell-脚本","depth":2,"text":"重启 Shell 脚本"}],"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"重启所有服务"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%87%8D%E5%90%AF%E6%89%80%E6%9C%89%E6%9C%8D%E5%8A%A1","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"重启所有服务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/restarter1.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"虽然 CRP 中工作流可以一个点流出至多个点,但只有第一个子任务会执行。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以我将自动重启任务改为了串行执行。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置手动启动"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%85%8D%E7%BD%AE%E6%89%8B%E5%8A%A8%E5%90%AF%E5%8A%A8","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置手动启动"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/restarter2.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如上图所示,将第一个代码检出任务的【自动触发】勾选去掉。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"后续的每个工作流可以是每一台单独服务器或是每几台相同环境的负载均衡机器。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"重启-shell-脚本"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%87%8D%E5%90%AF-shell-%E8%84%9A%E6%9C%AC","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"重启 Shell 脚本"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-text","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 kill\nrm -f /home/xxx-user/xxx-project1/logs/*.log\nrm -f /home/xxx-user/xxx-project2/logs/*.log\npm2 start /home/xxx-user/xxx-project1/app.json\npm2 start /home/xxx-user/xxx-project2/app.json\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n# 重启所有服务\n\n![Image](/experience/operation/restarter1.png)\n\n虽然 CRP 中工作流可以一个点流出至多个点,但只有第一个子任务会执行。\n\n所以我将自动重启任务改为了串行执行。\n\n## 配置手动启动\n\n![Image](/experience/operation/restarter2.png)\n\n如上图所示,将第一个代码检出任务的【自动触发】勾选去掉。\n\n后续的每个工作流可以是每一台单独服务器或是每几台相同环境的负载均衡机器。\n\n## 重启 Shell 脚本\n\n```\npm2 kill\nrm -f /home/xxx-user/xxx-project1/logs/*.log\nrm -f /home/xxx-user/xxx-project2/logs/*.log\npm2 start /home/xxx-user/xxx-project1/app.json\npm2 start /home/xxx-user/xxx-project2/app.json\n```\n\n\n","dir":"/zh/experience/operation","path":"/zh/experience/operation/restarter","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/operation/restarter","meta":{"version":0,"revision":0,"created":1756480738924},"$loki":87},{"slug":"rollback","description":"","title":"版本回退","position":2206,"category":"经验篇-运维","toc":[],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/rollback.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果版本部署失败,可以回滚至之前任意成功部署版本。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n![Image](/experience/operation/rollback.png)\n\n如果版本部署失败,可以回滚至之前任意成功部署版本。\n\n\n","dir":"/zh/experience/operation","path":"/zh/experience/operation/rollback","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/operation/rollback","meta":{"version":0,"revision":0,"created":1756480738925},"$loki":88},{"slug":"server","description":"","title":"服务器配置","position":2201,"category":"经验篇-运维","toc":[{"id":"常用工具","depth":2,"text":"常用工具"},{"id":"性能监控","depth":3,"text":"性能监控"},{"id":"创建用户","depth":2,"text":"创建用户"},{"id":"切换到用户安装环境","depth":2,"text":"切换到用户安装环境"},{"id":"安装-zsh","depth":3,"text":"安装 zsh"},{"id":"配置-ssh-免密码登录","depth":3,"text":"配置 ssh 免密码登录"},{"id":"安装-node","depth":3,"text":"安装 node"},{"id":"nginx-安装配置","depth":3,"text":"Nginx 安装配置"},{"id":"配置开机自启动","depth":2,"text":"配置开机自启动"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"常用工具"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"常用工具"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"性能监控"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%80%A7%E8%83%BD%E7%9B%91%E6%8E%A7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"性能监控"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"开放接口文档"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"NewRelic: "},{"type":"element","tag":"a","props":{"href":"https://rpm.newrelic.com/api/explore/applications/list","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://rpm.newrelic.com/api/explore/applications/list"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"阿里云: "},{"type":"element","tag":"a","props":{"href":"https://help.aliyun.com/document_detail/28617.html","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://help.aliyun.com/document_detail/28617.html"}]}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"创建用户"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%9B%E5%BB%BA%E7%94%A8%E6%88%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"创建用户"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"adduser xxx\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 输入密码"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"注"}]}]},{"type":"text","value":":还有一个"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"useradd"}]},{"type":"text","value":"命令,不会创建用户目录。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"vi"}]},{"type":"text","value":" /etc/sudoers\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"root ALL=(ALL:ALL) ALL\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"后插入一行"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"xxx(用户名) ALL=(ALL:ALL) ALL\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"切换到用户安装环境"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%87%E6%8D%A2%E5%88%B0%E7%94%A8%E6%88%B7%E5%AE%89%E8%A3%85%E7%8E%AF%E5%A2%83","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"切换到用户安装环境"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"su"}]},{"type":"text","value":" username\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装-zsh"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85-zsh","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装 zsh"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"apt-get"}]},{"type":"text","value":" update\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"apt-get"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"zsh"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"curl"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sh"}]},{"type":"text","value":" -c "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\""},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"curl"}]},{"type":"text","value":" -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh"},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":")"}]}]},{"type":"text","value":"\""}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"配置-ssh-免密码登录"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-ssh-%E5%85%8D%E5%AF%86%E7%A0%81%E7%99%BB%E5%BD%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 ssh 免密码登录"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"mkdir"}]},{"type":"text","value":" ~/.ssh\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"chmod"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"700"}]},{"type":"text","value":" ~/.ssh\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" ~/.ssh\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"touch"}]},{"type":"text","value":" authorized_keys\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"chmod"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"644"}]},{"type":"text","value":" authorized_keys\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"vi"}]},{"type":"text","value":" authorized_keys\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"插入你的"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"ssh"}]},{"type":"text","value":"公钥。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 不存在创建(注意是在本地,不是远程服务器)"}]},{"type":"text","value":"\nssh-keygen\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 一直按回车,结束"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 存在直接查看"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"cat"}]},{"type":"text","value":" ~/.ssh/id_rsa.pub\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装-node"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85-node","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装 node"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"(示例,从官网获取最新版本源码编译安装)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" ~ "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"#注意安装目录,最好在用户目录下,其他系统目录可能会有权限问题"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":" -c https://nodejs.org/dist/v6.4.0/node-v6.4.0.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"tar"}]},{"type":"text","value":" zxvf node-v6.4.0.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" node-v6.4.0/\n./configure\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"make"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"make"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 安装成功测试"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"node"}]},{"type":"text","value":" -v\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" -v\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"源码编译安装 Redis、OpenSSL 等步骤基本相同。具体可以参考官方文档。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"nginx-安装配置"},"children":[{"type":"element","tag":"a","props":{"href":"#nginx-%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Nginx 安装配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nginx 1.9.5 之后的版本支持了"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"HTTP/2"}]},{"type":"text","value":",同时,也取消了对"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"SPDY"}]},{"type":"text","value":"的支持。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"HTTP/2"}]},{"type":"text","value":"模块支持安装为例。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":" -c http://nginx.org/download/nginx-1.11.3.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"tar"}]},{"type":"text","value":" zxvf nginx-1.11.3.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" nginx-1.11.3/\n./configure --with-pcre --with-http_ssl_module --with-http_v2_module\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"异常处理"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"异常处理"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"1.没装 PCRE"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./configure: error: the HTTP rewrite module requires the PCRE library.\nYou can either disable the module by using --without-http_rewrite_module\noption, or install the PCRE library into the system, or build the PCRE library\nstatically from the source with nginx by using --with-pcre= option.\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/"},"children":[{"type":"text","value":"ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"查找并下载最新版本 PCRE 源码,并解压"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":" -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"tar"}]},{"type":"text","value":" zxvf pcre-8.38.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" pcre-8.38/\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"pwd"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# /home/user/nginx-1.11.3/pcre-8.38"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"修改"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"configure"}]},{"type":"text","value":"命令为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./configure --with-pcre"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/home/user/nginx-1.11.3/pcre-8.38 --with-http_ssl_module --with-http_v2_module\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"2.没装 OpenSSL"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./configure: error: SSL modules require the OpenSSL library.\nYou can either do not enable the modules, or install the OpenSSL library\ninto the system, or build the OpenSSL library statically from the source\nwith nginx by using --with-openssl= option.\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"https://www.openssl.org/source/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://www.openssl.org/source/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"查找并下载最新版本 OpenSSL 源码,并解压"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":" -c https://www.openssl.org/source/openssl-1.0.2h.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"tar"}]},{"type":"text","value":" zxvf openssl-1.0.2h.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" openssl-1.0.2h\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"pwd"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# /home/user/nginx-1.11.3/openssl-1.0.2h"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"注"}]}]},{"type":"text","value":": "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"openssl-1.1.0-pre6"}]},{"type":"text","value":" 版本经测试无法安装。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./configure --with-pcre"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/home/user/nginx-1.11.3/pcre-8.38 --with-openssl"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/home/user/nginx-1.11.3/openssl-1.0.2h --with-http_ssl_module --with-http_v2_module\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{"start":3},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"没装 zlib"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./configure: error: the HTTP gzip module requires the zlib library.\nYou can either disable the module by using --without-http_gzip_module\noption, or install the zlib library into the system, or build the zlib library\nstatically from the source with nginx by using --with-zlib= option.\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://www.zlib.net/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.zlib.net/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"查找并下载最新版本 Zlib 源码,并解压"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"wget"}]},{"type":"text","value":" -c http://zlib.net/zlib-1.2.8.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"tar"}]},{"type":"text","value":" zxvf zlib-1.2.8.tar.gz\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" zlib-1.2.8\n"},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"pwd"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# /home/user/nginx-1.11.3/zlib-1.2.8"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"./configure --with-pcre"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/home/user/nginx-1.11.3/pcre-8.38 --with-openssl"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/home/user/nginx-1.11.3/openssl-1.0.2h --with-zlib"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"/home/user/nginx-1.11.3/zlib-1.2.8 --with-http_ssl_module --with-http_v2_module\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"安装"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"make"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"make"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"apt-get-方式安装-nginx"},"children":[{"type":"element","tag":"a","props":{"href":"#apt-get-%E6%96%B9%E5%BC%8F%E5%AE%89%E8%A3%85-nginx","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"apt-get 方式安装 nginx"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" /etc/apt/\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"vi"}]},{"type":"text","value":" nginx_signing.key\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"把如下内容粘贴到里边"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v2.0.22 (GNU/Linux)\n\nmQENBE5OMmIBCAD+FPYKGriGGf7NqwKfWC83cBV01gabgVWQmZbMcFzeW+hMsgxH\nW6iimD0RsfZ9oEbfJCPG0CRSZ7ppq5pKamYs2+EJ8Q2ysOFHHwpGrA2C8zyNAs4I\nQxnZZIbETgcSwFtDun0XiqPwPZgyuXVm9PAbLZRbfBzm8wR/3SWygqZBBLdQk5TE\nfDR+Eny/M1RVR4xClECONF9UBB2ejFdI1LD45APbP2hsN/piFByU1t7yK2gpFyRt\n97WzGHn9MV5/TL7AmRPM4pcr3JacmtCnxXeCZ8nLqedoSuHFuhwyDnlAbu8I16O5\nXRrfzhrHRJFM1JnIiGmzZi6zBvH0ItfyX6ttABEBAAG0KW5naW54IHNpZ25pbmcg\na2V5IDxzaWduaW5nLWtleUBuZ2lueC5jb20+iQE+BBMBAgAoAhsDBgsJCAcDAgYV\nCAIJCgsEFgIDAQIeAQIXgAUCV2K1+AUJGB4fQQAKCRCr9b2Ce9m/YloaB/9XGrol\nkocm7l/tsVjaBQCteXKuwsm4XhCuAQ6YAwA1L1UheGOG/aa2xJvrXE8X32tgcTjr\nKoYoXWcdxaFjlXGTt6jV85qRguUzvMOxxSEM2Dn115etN9piPl0Zz+4rkx8+2vJG\nF+eMlruPXg/zd88NvyLq5gGHEsFRBMVufYmHtNfcp4okC1klWiRIRSdp4QY1wdrN\n1O+/oCTl8Bzy6hcHjLIq3aoumcLxMjtBoclc/5OTioLDwSDfVx7rWyfRhcBzVbwD\noe/PD08AoAA6fxXvWjSxy+dGhEaXoTHjkCbz/l6NxrK3JFyauDgU4K4MytsZ1HDi\nMgMW8hZXxszoICTTiQEcBBABAgAGBQJOTkelAAoJEKZP1bF62zmo79oH/1XDb29S\nYtWp+MTJTPFEwlWRiyRuDXy3wBd/BpwBRIWfWzMs1gnCjNjk0EVBVGa2grvy9Jtx\nJKMd6l/PWXVucSt+U/+GO8rBkw14SdhqxaS2l14v6gyMeUrSbY3XfToGfwHC4sa/\nThn8X4jFaQ2XN5dAIzJGU1s5JA0tjEzUwCnmrKmyMlXZaoQVrmORGjCuH0I0aAFk\nRS0UtnB9HPpxhGVbs24xXZQnZDNbUQeulFxS4uP3OLDBAeCHl+v4t/uotIad8v6J\nSO93vc1evIje6lguE81HHmJn9noxPItvOvSMb2yPsE8mH4cJHRTFNSEhPW6ghmlf\nWa9ZwiVX5igxcvaIRgQQEQIABgUCTk5b0gAKCRDs8OkLLBcgg1G+AKCnacLb/+W6\ncflirUIExgZdUJqoogCeNPVwXiHEIVqithAM1pdY/gcaQZmIRgQQEQIABgUCTk5f\nYQAKCRCpN2E5pSTFPnNWAJ9gUozyiS+9jf2rJvqmJSeWuCgVRwCcCUFhXRCpQO2Y\nVa3l3WuB+rgKjsQ=\n=EWWI\n-----END PGP PUBLIC KEY BLOCK-----\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"然后"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":":wq"}]},{"type":"text","value":"保存"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" apt-key "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"add"}]},{"type":"text","value":" nginx_signing.key\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"vi"}]},{"type":"text","value":" sources.list\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在最后一行加入下面两行的内容:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"deb http://nginx.org/packages/ubuntu/ trusty nginx\ndeb-src http://nginx.org/packages/ubuntu/ trusty nginx\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"再更新,并安装:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"apt-get"}]},{"type":"text","value":" update\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"apt-get"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":" nginx\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果解压报错,执行:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 替换 deb 文件路径"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" dpkg -i --force-overwrite /var/cache/apt/archives/nginx_1.12.1-1~trusty_amd64.deb\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"sudo"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"apt-get"}]},{"type":"text","value":" -f "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"配置-nginx"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-nginx","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 Nginx"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考修改安装目录下的默认配置 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"conf/nginx.conf"}]},{"type":"text","value":":"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"#user nobody;\nworker_processes auto;\nworker_rlimit_nofile 100000;\n\n#pid logs/nginx.pid;\n\nevents {\n worker_connections 10240;\n multi_accept on;\n use epoll;\n}\n\nhttp {\n include mime.types;\n default_type application/octet-stream;\n\n sendfile on;\n keepalive_timeout 65;\n\n # 从项目载入nginx配置\n # include /home/user/project/conf/nginx.conf;\n}\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"HTTP/2 项目配置:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"server {\n listen 80;\n server_name example.com;\n add_header Strict-Transport-Security max-age=15768000;\n return 301 https://example.com$request_uri;\n}\n\nserver {\n listen 443 ssl http2;\n server_name example.com;\n\n # ssl_dhparam /home/user/project/config/dhparam.pem;\n ssl_certificate /home/user/project/config/ssl.crt;\n ssl_certificate_key /home/user/project/config/ssl.key;\n\n ssl_protocols TLSv1 TLSv1.1 TLSv1.2;\n ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!CAMELLIA;\n ssl_prefer_server_ciphers on;\n ssl_session_cache shared:SSL:10m;\n ssl_session_timeout 10m;\n add_header Strict-Transport-Security \"max-age=31536000;\";\n #add_header X-Content-Type-Options \"nosniff\";\n #add_header X-Frame-Options DENY;\n\n access_log off;\n error_log /home/user/logs/example.com.error.log crit;\n\n location / {\n if ($http_user_agent = Mozilla/4.0){\n return 503;\n }\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header Host $host;\n proxy_set_header X-NginX-Proxy true;\n proxy_pass http://127.0.0.1:8888/;\n proxy_redirect off;\n }\n}\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置开机自启动"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF%E5%8A%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置开机自启动"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"文件位置: "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/etc/rc.local"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"#!/bin/sh -e\n#\n# rc.local\n#\n# This script is executed at the end of each multiuser runlevel.\n# Make sure that the script will \"exit 0\" on success or any other\n# value on error.\n#\n# In order to enable or disable this script just change the execution\n# bits.\n#\n# By default this script does nothing.\n\n/usr/bin/nginx &\nsleep 1\nsudo -u willin /project/path redis &\nexit 0\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Node.js 项目,使用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"PM2"}]},{"type":"text","value":"工具:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 startup\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"根据界面提示,如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"[PM2] You have to run this command as root. Execute the following command:\n sudo su -c \"env PATH=$PATH:/usr/local/bin pm2 startup linux -u username --hp /home/username\"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"执行相应代码。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果已经添加过开机自启动,更新自启项目:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"pm2 dump\npm2 save\n"}]}]}]}]},"text":"\n## 常用工具\n\n### 性能监控\n\n开放接口文档\n\n- NewRelic: \n- 阿里云: \n\n\n\n## 创建用户\n\n```bash\nadduser xxx\n# 输入密码\n```\n\n**_注_**:还有一个`useradd`命令,不会创建用户目录。\n\n```bash\nsudo vi /etc/sudoers\n```\n\n在\n\n```\nroot ALL=(ALL:ALL) ALL\n```\n\n后插入一行\n\n```\nxxx(用户名) ALL=(ALL:ALL) ALL\n```\n\n## 切换到用户安装环境\n\n```bash\nsu username\n```\n\n### 安装 zsh\n\n```bash\nsudo apt-get update\nsudo apt-get install zsh curl git\nsh -c \"$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)\"\n```\n\n### 配置 ssh 免密码登录\n\n```bash\nmkdir ~/.ssh\nchmod 700 ~/.ssh\ncd ~/.ssh\ntouch authorized_keys\nchmod 644 authorized_keys\nvi authorized_keys\n```\n\n插入你的`ssh`公钥。\n\n```bash\n# 不存在创建(注意是在本地,不是远程服务器)\nssh-keygen\n# 一直按回车,结束\n# 存在直接查看\ncat ~/.ssh/id_rsa.pub\n```\n\n### 安装 node\n\n(示例,从官网获取最新版本源码编译安装)\n\n```bash\ncd ~ #注意安装目录,最好在用户目录下,其他系统目录可能会有权限问题\nwget -c https://nodejs.org/dist/v6.4.0/node-v6.4.0.tar.gz\ntar zxvf node-v6.4.0.tar.gz\ncd node-v6.4.0/\n./configure\nmake\nsudo make install\n# 安装成功测试\nnode -v\nnpm -v\n```\n\n源码编译安装 Redis、OpenSSL 等步骤基本相同。具体可以参考官方文档。\n\n### Nginx 安装配置\n\nNginx 1.9.5 之后的版本支持了`HTTP/2`,同时,也取消了对`SPDY`的支持。\n\n以`HTTP/2`模块支持安装为例。\n\n```bash\nwget -c http://nginx.org/download/nginx-1.11.3.tar.gz\ntar zxvf nginx-1.11.3.tar.gz\ncd nginx-1.11.3/\n./configure --with-pcre --with-http_ssl_module --with-http_v2_module\n```\n\n#### 异常处理\n\n1.没装 PCRE\n\n```\n./configure: error: the HTTP rewrite module requires the PCRE library.\nYou can either disable the module by using --without-http_rewrite_module\noption, or install the PCRE library into the system, or build the PCRE library\nstatically from the source with nginx by using --with-pcre= option.\n```\n\n\n\n查找并下载最新版本 PCRE 源码,并解压\n\n```bash\nwget -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz\ntar zxvf pcre-8.38.tar.gz\ncd pcre-8.38/\npwd\n# /home/user/nginx-1.11.3/pcre-8.38\n```\n\n修改`configure`命令为:\n\n```bash\n./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-http_ssl_module --with-http_v2_module\n```\n\n2.没装 OpenSSL\n\n```\n./configure: error: SSL modules require the OpenSSL library.\nYou can either do not enable the modules, or install the OpenSSL library\ninto the system, or build the OpenSSL library statically from the source\nwith nginx by using --with-openssl= option.\n```\n\n\n\n查找并下载最新版本 OpenSSL 源码,并解压\n\n```bash\nwget -c https://www.openssl.org/source/openssl-1.0.2h.tar.gz\ntar zxvf openssl-1.0.2h.tar.gz\ncd openssl-1.0.2h\npwd\n# /home/user/nginx-1.11.3/openssl-1.0.2h\n```\n\n**_注_**: `openssl-1.1.0-pre6` 版本经测试无法安装。\n\n```bash\n./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-openssl=/home/user/nginx-1.11.3/openssl-1.0.2h --with-http_ssl_module --with-http_v2_module\n```\n\n3. 没装 zlib\n\n```\n./configure: error: the HTTP gzip module requires the zlib library.\nYou can either disable the module by using --without-http_gzip_module\noption, or install the zlib library into the system, or build the zlib library\nstatically from the source with nginx by using --with-zlib= option.\n```\n\n\n\n查找并下载最新版本 Zlib 源码,并解压\n\n```bash\nwget -c http://zlib.net/zlib-1.2.8.tar.gz\ntar zxvf zlib-1.2.8.tar.gz\ncd zlib-1.2.8\npwd\n# /home/user/nginx-1.11.3/zlib-1.2.8\n```\n\n```bash\n./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-openssl=/home/user/nginx-1.11.3/openssl-1.0.2h --with-zlib=/home/user/nginx-1.11.3/zlib-1.2.8 --with-http_ssl_module --with-http_v2_module\n```\n\n#### 安装\n\n```bash\nmake\nsudo make install\n```\n\n#### apt-get 方式安装 nginx\n\n```bash\ncd /etc/apt/\nsudo vi nginx_signing.key\n```\n\n把如下内容粘贴到里边\n\n```\n-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v2.0.22 (GNU/Linux)\n\nmQENBE5OMmIBCAD+FPYKGriGGf7NqwKfWC83cBV01gabgVWQmZbMcFzeW+hMsgxH\nW6iimD0RsfZ9oEbfJCPG0CRSZ7ppq5pKamYs2+EJ8Q2ysOFHHwpGrA2C8zyNAs4I\nQxnZZIbETgcSwFtDun0XiqPwPZgyuXVm9PAbLZRbfBzm8wR/3SWygqZBBLdQk5TE\nfDR+Eny/M1RVR4xClECONF9UBB2ejFdI1LD45APbP2hsN/piFByU1t7yK2gpFyRt\n97WzGHn9MV5/TL7AmRPM4pcr3JacmtCnxXeCZ8nLqedoSuHFuhwyDnlAbu8I16O5\nXRrfzhrHRJFM1JnIiGmzZi6zBvH0ItfyX6ttABEBAAG0KW5naW54IHNpZ25pbmcg\na2V5IDxzaWduaW5nLWtleUBuZ2lueC5jb20+iQE+BBMBAgAoAhsDBgsJCAcDAgYV\nCAIJCgsEFgIDAQIeAQIXgAUCV2K1+AUJGB4fQQAKCRCr9b2Ce9m/YloaB/9XGrol\nkocm7l/tsVjaBQCteXKuwsm4XhCuAQ6YAwA1L1UheGOG/aa2xJvrXE8X32tgcTjr\nKoYoXWcdxaFjlXGTt6jV85qRguUzvMOxxSEM2Dn115etN9piPl0Zz+4rkx8+2vJG\nF+eMlruPXg/zd88NvyLq5gGHEsFRBMVufYmHtNfcp4okC1klWiRIRSdp4QY1wdrN\n1O+/oCTl8Bzy6hcHjLIq3aoumcLxMjtBoclc/5OTioLDwSDfVx7rWyfRhcBzVbwD\noe/PD08AoAA6fxXvWjSxy+dGhEaXoTHjkCbz/l6NxrK3JFyauDgU4K4MytsZ1HDi\nMgMW8hZXxszoICTTiQEcBBABAgAGBQJOTkelAAoJEKZP1bF62zmo79oH/1XDb29S\nYtWp+MTJTPFEwlWRiyRuDXy3wBd/BpwBRIWfWzMs1gnCjNjk0EVBVGa2grvy9Jtx\nJKMd6l/PWXVucSt+U/+GO8rBkw14SdhqxaS2l14v6gyMeUrSbY3XfToGfwHC4sa/\nThn8X4jFaQ2XN5dAIzJGU1s5JA0tjEzUwCnmrKmyMlXZaoQVrmORGjCuH0I0aAFk\nRS0UtnB9HPpxhGVbs24xXZQnZDNbUQeulFxS4uP3OLDBAeCHl+v4t/uotIad8v6J\nSO93vc1evIje6lguE81HHmJn9noxPItvOvSMb2yPsE8mH4cJHRTFNSEhPW6ghmlf\nWa9ZwiVX5igxcvaIRgQQEQIABgUCTk5b0gAKCRDs8OkLLBcgg1G+AKCnacLb/+W6\ncflirUIExgZdUJqoogCeNPVwXiHEIVqithAM1pdY/gcaQZmIRgQQEQIABgUCTk5f\nYQAKCRCpN2E5pSTFPnNWAJ9gUozyiS+9jf2rJvqmJSeWuCgVRwCcCUFhXRCpQO2Y\nVa3l3WuB+rgKjsQ=\n=EWWI\n-----END PGP PUBLIC KEY BLOCK-----\n```\n\n然后`:wq`保存\n\n```bash\nsudo apt-key add nginx_signing.key\nsudo vi sources.list\n```\n\n在最后一行加入下面两行的内容:\n\n```\ndeb http://nginx.org/packages/ubuntu/ trusty nginx\ndeb-src http://nginx.org/packages/ubuntu/ trusty nginx\n```\n\n再更新,并安装:\n\n```bash\napt-get update\napt-get install nginx\n```\n\n如果解压报错,执行:\n\n```bash\n# 替换 deb 文件路径\nsudo dpkg -i --force-overwrite /var/cache/apt/archives/nginx_1.12.1-1~trusty_amd64.deb\nsudo apt-get -f install\n```\n\n#### 配置 Nginx\n\n参考修改安装目录下的默认配置 `conf/nginx.conf`:\n\n```\n#user nobody;\nworker_processes auto;\nworker_rlimit_nofile 100000;\n\n#pid logs/nginx.pid;\n\nevents {\n worker_connections 10240;\n multi_accept on;\n use epoll;\n}\n\nhttp {\n include mime.types;\n default_type application/octet-stream;\n\n sendfile on;\n keepalive_timeout 65;\n\n # 从项目载入nginx配置\n # include /home/user/project/conf/nginx.conf;\n}\n```\n\nHTTP/2 项目配置:\n\n```\nserver {\n listen 80;\n server_name example.com;\n add_header Strict-Transport-Security max-age=15768000;\n return 301 https://example.com$request_uri;\n}\n\nserver {\n listen 443 ssl http2;\n server_name example.com;\n\n # ssl_dhparam /home/user/project/config/dhparam.pem;\n ssl_certificate /home/user/project/config/ssl.crt;\n ssl_certificate_key /home/user/project/config/ssl.key;\n\n ssl_protocols TLSv1 TLSv1.1 TLSv1.2;\n ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!CAMELLIA;\n ssl_prefer_server_ciphers on;\n ssl_session_cache shared:SSL:10m;\n ssl_session_timeout 10m;\n add_header Strict-Transport-Security \"max-age=31536000;\";\n #add_header X-Content-Type-Options \"nosniff\";\n #add_header X-Frame-Options DENY;\n\n access_log off;\n error_log /home/user/logs/example.com.error.log crit;\n\n location / {\n if ($http_user_agent = Mozilla/4.0){\n return 503;\n }\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header Host $host;\n proxy_set_header X-NginX-Proxy true;\n proxy_pass http://127.0.0.1:8888/;\n proxy_redirect off;\n }\n}\n```\n\n## 配置开机自启动\n\n文件位置: `/etc/rc.local`\n\n示例:\n\n```\n#!/bin/sh -e\n#\n# rc.local\n#\n# This script is executed at the end of each multiuser runlevel.\n# Make sure that the script will \"exit 0\" on success or any other\n# value on error.\n#\n# In order to enable or disable this script just change the execution\n# bits.\n#\n# By default this script does nothing.\n\n/usr/bin/nginx &\nsleep 1\nsudo -u willin /project/path redis &\nexit 0\n```\n\nNode.js 项目,使用`PM2`工具:\n\n```bash\npm2 startup\n```\n\n根据界面提示,如:\n\n```\n[PM2] You have to run this command as root. Execute the following command:\n sudo su -c \"env PATH=$PATH:/usr/local/bin pm2 startup linux -u username --hp /home/username\"\n```\n\n执行相应代码。\n\n如果已经添加过开机自启动,更新自启项目:\n\n```bash\npm2 dump\npm2 save\n```\n","dir":"/zh/experience/operation","path":"/zh/experience/operation/server","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/operation/server","meta":{"version":0,"revision":0,"created":1756480738940},"$loki":89},{"slug":"workflow","description":"","title":"CI 持续交付","position":2204,"category":"经验篇-运维","toc":[{"id":"1触发器任务","depth":2,"text":"1.触发器任务"},{"id":"2代码检出","depth":2,"text":"2.代码检出"},{"id":"3集成测试","depth":2,"text":"3.集成测试"},{"id":"注意点","depth":3,"text":"注意点"},{"id":"4自动部署","depth":2,"text":"4.自动部署"},{"id":"新建流程","depth":3,"text":"新建流程"},{"id":"注意点-1","depth":3,"text":"注意点"}],"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"持续交付工作流"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%8C%81%E7%BB%AD%E4%BA%A4%E4%BB%98%E5%B7%A5%E4%BD%9C%E6%B5%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"持续交付工作流"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"阿里云持续交付平台: "},{"type":"element","tag":"a","props":{"href":"https://crp.aliyun.com/","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://crp.aliyun.com/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"1触发器任务"},"children":[{"type":"element","tag":"a","props":{"href":"#1%E8%A7%A6%E5%8F%91%E5%99%A8%E4%BB%BB%E5%8A%A1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.触发器任务"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/workflow1.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"点击红色箭头所指圆圈位置设置触发器任务。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一般情况下,需要部署到产品环境是侦听"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Master"}]},{"type":"text","value":"分支,集成测试可以为其他开发分支。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本文示例以一套完整的自动化测试部署流程为例,选择了"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Master"}]},{"type":"text","value":"分支。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"2代码检出"},"children":[{"type":"element","tag":"a","props":{"href":"#2%E4%BB%A3%E7%A0%81%E6%A3%80%E5%87%BA","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.代码检出"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/workflow2.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这里的信息都是自动填入的,无需做更改。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"3集成测试"},"children":[{"type":"element","tag":"a","props":{"href":"#3%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.集成测试"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果是简单的测试脚本,如单元测试,不需要数据库的。可以直接使用阿里云的编译测试功能,如下图所示:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/workflow3-1.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果有专门的测试服务,可以用如下图所示方式进行测试:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/workflow3-2.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"提示:CRP 提供的测试环境是 Ubuntu,未安装数据库,但据说可以自己安装,目前还没有尝试过。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"注意点"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B3%A8%E6%84%8F%E7%82%B9","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注意点"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"自动完成"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"自动完成"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"左侧活动信息中,【自动完成】选项,如果勾选,则测试通过就会自动进入下一步(如部署产品环境),否则会停在这里,需要手动触发,如下图所示:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/workflow3-3.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"表单项"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%A1%A8%E5%8D%95%E9%A1%B9","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"表单项"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"目标机器"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%9B%AE%E6%A0%87%E6%9C%BA%E5%99%A8","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"目标机器"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"填入测试服务器 ip。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"部署路径"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%83%A8%E7%BD%B2%E8%B7%AF%E5%BE%84","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"部署路径"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以是用户目录,如 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/home/user/"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"或是项目目录,如 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/home/user/project"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"无太大影响,因为【部署命令】中可以使用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" 命令。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一般这里我填入的是用户目录。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"部署命令"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%83%A8%E7%BD%B2%E5%91%BD%E4%BB%A4","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"部署命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"流程:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{"start":0},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"根据需要,启动、重启数据库/缓存服务(一般可以不用放在自动测试流程里)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"进入项目目录"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"更新代码,新建当前版本分支,以备回滚操作"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"更新依赖项"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"启动测试脚本"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Shell 命令"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"cd"}]},{"type":"text","value":" /home/xxx-user/xxx-project/\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" checkout "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" fetch\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" checkout "},{"type":"element","tag":"span","props":{"className":["token","variable"]},"children":[{"type":"text","value":"$CODE_VERSION"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" -d "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"install"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" update\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 产品环境加入:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# pm2 reload xxx-server-name"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"登录用户"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%99%BB%E5%BD%95%E7%94%A8%E6%88%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"登录用户"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"SSH 登入服务的用户名称"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"提示: 系统需要您的目标机器添加部署公钥方可执行部署任务。请将公钥拷贝到服务器部署用户目录的$HOME/.ssh/authorized_keys 文件中。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"4自动部署"},"children":[{"type":"element","tag":"a","props":{"href":"#4%E8%87%AA%E5%8A%A8%E9%83%A8%E7%BD%B2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"4.自动部署"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"新建流程"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%96%B0%E5%BB%BA%E6%B5%81%E7%A8%8B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"新建流程"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"模板默认流程只有两个,需要新建的时候根据下图:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/workflow4-1.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"箭头所指小圆圈部分单击拖拽新建一个工作流,并将结束定向到新的工作流上。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/operation/workflow4-2.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"注意点-1"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B3%A8%E6%84%8F%E7%82%B9-1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注意点"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"【自动触发】、【自动完成】勾选上,如果需要,还可以打开【异常通知】"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"【目标机器】如有多台负载均衡横向扩展的相同环境机器以逗号分隔"}]},{"type":"text","value":"\n"}]}]},"text":"\n# 持续交付工作流\n\n阿里云持续交付平台: \n\n## 1.触发器任务\n\n![Image](/experience/operation/workflow1.png)\n\n点击红色箭头所指圆圈位置设置触发器任务。\n\n一般情况下,需要部署到产品环境是侦听`Master`分支,集成测试可以为其他开发分支。\n\n本文示例以一套完整的自动化测试部署流程为例,选择了`Master`分支。\n\n## 2.代码检出\n\n![Image](/experience/operation/workflow2.png)\n\n这里的信息都是自动填入的,无需做更改。\n\n## 3.集成测试\n\n如果是简单的测试脚本,如单元测试,不需要数据库的。可以直接使用阿里云的编译测试功能,如下图所示:\n\n![Image](/experience/operation/workflow3-1.png)\n\n如果有专门的测试服务,可以用如下图所示方式进行测试:\n\n![Image](/experience/operation/workflow3-2.png)\n\n提示:CRP 提供的测试环境是 Ubuntu,未安装数据库,但据说可以自己安装,目前还没有尝试过。\n\n\n\n### 注意点\n\n#### 自动完成\n\n左侧活动信息中,【自动完成】选项,如果勾选,则测试通过就会自动进入下一步(如部署产品环境),否则会停在这里,需要手动触发,如下图所示:\n\n![Image](/experience/operation/workflow3-3.png)\n\n#### 表单项\n\n##### 目标机器\n\n填入测试服务器 ip。\n\n##### 部署路径\n\n可以是用户目录,如 `/home/user/`\n\n或是项目目录,如 `/home/user/project`\n\n无太大影响,因为【部署命令】中可以使用 `cd` 命令。\n\n一般这里我填入的是用户目录。\n\n##### 部署命令\n\n流程:\n\n0. 根据需要,启动、重启数据库/缓存服务(一般可以不用放在自动测试流程里)\n1. 进入项目目录\n2. 更新代码,新建当前版本分支,以备回滚操作\n3. 更新依赖项\n4. 启动测试脚本\n\nShell 命令\n\n```bash\ncd /home/xxx-user/xxx-project/\ngit checkout .\ngit fetch\ngit checkout $CODE_VERSION\nnpm -d install\nnpm update\nnpm test\n# 产品环境加入:\n# pm2 reload xxx-server-name\n```\n\n##### 登录用户\n\nSSH 登入服务的用户名称\n\n提示: 系统需要您的目标机器添加部署公钥方可执行部署任务。请将公钥拷贝到服务器部署用户目录的$HOME/.ssh/authorized_keys 文件中。\n\n## 4.自动部署\n\n### 新建流程\n\n模板默认流程只有两个,需要新建的时候根据下图:\n\n![Image](/experience/operation/workflow4-1.png)\n\n箭头所指小圆圈部分单击拖拽新建一个工作流,并将结束定向到新的工作流上。\n\n![Image](/experience/operation/workflow4-2.png)\n\n### 注意点\n\n1. 【自动触发】、【自动完成】勾选上,如果需要,还可以打开【异常通知】\n2. 【目标机器】如有多台负载均衡横向扩展的相同环境机器以逗号分隔\n","dir":"/zh/experience/operation","path":"/zh/experience/operation/workflow","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/operation/workflow","meta":{"version":0,"revision":0,"created":1756480738945},"$loki":90},{"slug":"develop","description":"","title":"开发指南","position":2104,"category":"经验篇-项目","toc":[{"id":"产品研发流程","depth":2,"text":"产品研发流程"},{"id":"设计--测试--开发-重要程度","depth":2,"text":"设计 > 测试 > 开发 (重要程度)"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"产品研发流程"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E6%B5%81%E7%A8%8B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"产品研发流程"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"需求 -> 设计 -> 开发 -> 测试 -> 验收"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"开发环节中,需要包含中间的三个过程,设计、开发、测试。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"设计--测试--开发-重要程度"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%AE%BE%E8%AE%A1--%E6%B5%8B%E8%AF%95--%E5%BC%80%E5%8F%91-%E9%87%8D%E8%A6%81%E7%A8%8B%E5%BA%A6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设计 > 测试 > 开发 (重要程度)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不经过思考的代码是站不住脚的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"任何功能模块在编写代码之前,最重要的是理解业务流程,将其用流程图、时序图或其他方式表达出来,参考设计图和相关记录文档文字进行开发。做到先设计,后编码。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"https://www.ibm.com/developerworks/cn/linux/l-tdd/images/X.jpg"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"基本过程:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"明确当前要完成的功能,可以记录成一个 TODO 列表。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"快速完成针对此功能的测试用例编写。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"测试代码编译不通过。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"编写对应的功能代码。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"测试通过。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"对代码进行重构,并保证测试通过。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"循环完成所有功能的开发。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"后面的几个章节将通过实践讲解,如何搭建一个用户账号体系的完整过程。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n## 产品研发流程\n\n> 需求 -> 设计 -> 开发 -> 测试 -> 验收\n\n开发环节中,需要包含中间的三个过程,设计、开发、测试。\n\n## 设计 > 测试 > 开发 (重要程度)\n\n不经过思考的代码是站不住脚的。\n\n任何功能模块在编写代码之前,最重要的是理解业务流程,将其用流程图、时序图或其他方式表达出来,参考设计图和相关记录文档文字进行开发。做到先设计,后编码。\n\n![Image](https://www.ibm.com/developerworks/cn/linux/l-tdd/images/X.jpg)\n\n基本过程:\n\n1. 明确当前要完成的功能,可以记录成一个 TODO 列表。\n2. 快速完成针对此功能的测试用例编写。\n3. 测试代码编译不通过。\n4. 编写对应的功能代码。\n5. 测试通过。\n6. 对代码进行重构,并保证测试通过。\n7. 循环完成所有功能的开发。\n\n后面的几个章节将通过实践讲解,如何搭建一个用户账号体系的完整过程。\n\n\n","dir":"/zh/experience/project","path":"/zh/experience/project/develop","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/project/develop","meta":{"version":0,"revision":0,"created":1756480738947},"$loki":91},{"slug":"divide","description":"","title":"分治原则","position":2102,"category":"经验篇-项目","toc":[],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"往往在架构设计的时候, 只有一到两个数据中心, 数据中心将会处理大量的数据和请求, 所以会承担很大的性能压力."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"那么, 能在区域服务器上进行的处理和运算, 没有必要扔到数据中心去进行; 能在网关上进行的处理和运算, 没有必要扔到服务器上去进行; 能在客户端上进行的处理和运算, 没有必要扔到网关上去运行."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举个简单的例子, 一台负载均衡器下的服务器配置可能是双核心, 4GB 内存. 这一台服务器, 能够承载的并发是 10 万级, 而目前的智能终端(比如智能手机), 可能都是 4 核 8 核, 6GB 内存之类的, 实际上已经有很强大的运算能力了. 足够承担起很大一部分的数据预处理和初筛的工作."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以, 可以将服务器的压力逐层进行下放, 让下面连接的服务器, 网关和终端各自承担一部分运算处理工作, 充分利用各个存储运算单元."}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n往往在架构设计的时候, 只有一到两个数据中心, 数据中心将会处理大量的数据和请求, 所以会承担很大的性能压力.\n\n那么, 能在区域服务器上进行的处理和运算, 没有必要扔到数据中心去进行; 能在网关上进行的处理和运算, 没有必要扔到服务器上去进行; 能在客户端上进行的处理和运算, 没有必要扔到网关上去运行.\n\n举个简单的例子, 一台负载均衡器下的服务器配置可能是双核心, 4GB 内存. 这一台服务器, 能够承载的并发是 10 万级, 而目前的智能终端(比如智能手机), 可能都是 4 核 8 核, 6GB 内存之类的, 实际上已经有很强大的运算能力了. 足够承担起很大一部分的数据预处理和初筛的工作.\n\n所以, 可以将服务器的压力逐层进行下放, 让下面连接的服务器, 网关和终端各自承担一部分运算处理工作, 充分利用各个存储运算单元.\n\n\n","dir":"/zh/experience/project","path":"/zh/experience/project/divide","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/project/divide","meta":{"version":0,"revision":0,"created":1756480738950},"$loki":92},{"slug":"mvp","description":"","title":"MVP原则","subtitle":"人无远虑必有近忧。能在设计过程中解决掉的问题,绝对不要拖到实现过程中迭代。","position":2101,"category":"经验篇-项目","toc":[{"id":"既有项目引入新的组件库","depth":2,"text":"既有项目引入新的组件/库"},{"id":"既有项目打包优化","depth":2,"text":"既有项目打包优化"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"即"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"最简化可实行产品"}]},{"type":"text","value":"原则, 以"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Webpack"}]},{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"既有项目引入新的组件库"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%97%A2%E6%9C%89%E9%A1%B9%E7%9B%AE%E5%BC%95%E5%85%A5%E6%96%B0%E7%9A%84%E7%BB%84%E4%BB%B6%E5%BA%93","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"既有项目引入新的组件/库"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设现有项目用到了 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"react"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"react-router"}]},{"type":"text","value":" , "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"antd"}]},{"type":"text","value":" 等库, 并且 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"controller"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"router"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"model"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"view"}]},{"type":"text","value":" 已基本成型."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"此时如果要引入 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"mobx"}]},{"type":"text","value":", 最佳实践步骤为:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"新建一个空项目, 将既有库 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"react"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"antd"}]},{"type":"text","value":" 等安装, 配置一个最简单的 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"hello world"}]},{"type":"text","value":" 路由"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"安装 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"mobx"}]},{"type":"text","value":", 引入并测试通过"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"再在原有项目上进行功能扩充"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"既有项目打包优化"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%97%A2%E6%9C%89%E9%A1%B9%E7%9B%AE%E6%89%93%E5%8C%85%E4%BC%98%E5%8C%96","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"既有项目打包优化"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设现有项目用到了 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"react"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"react-router"}]},{"type":"text","value":" , "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"antd"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"mobx"}]},{"type":"text","value":" 等库, 并且 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"controller"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"router"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"model"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"view"}]},{"type":"text","value":" 已基本成型. webpack 打包过大, 应用性能较差."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最佳实践步骤:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"新建一个空项目, 新建一个空的 webpack 配置"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"安装 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"react"}]},{"type":"text","value":" (或 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"antd"}]},{"type":"text","value":", 或 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"mobx"}]},{"type":"text","value":"等) 写一个简单示例引入项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"针对单一库进行 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"webpack"}]},{"type":"text","value":" 打包优化, 一般情况下, 除了 loader rules / vendor 需要每个库单独优化, 其他配置都能保证通用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"一项优化完成后重复 2,3 步骤, 直到所有库优化完成"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"对原有项目的 webpack 配置进行替换, 不动项目源码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"进一步优化, 比如 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"react-router-loader"}]},{"type":"text","value":" 之类的引入, 开始针对项目源码进行优化"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n即`最简化可实行产品`原则, 以`Webpack`示例:\n\n## 既有项目引入新的组件/库\n\n假设现有项目用到了 `react`, `react-router` , `antd` 等库, 并且 `controller`, `router`, `model`, `view` 已基本成型.\n\n此时如果要引入 `mobx`, 最佳实践步骤为:\n\n1. 新建一个空项目, 将既有库 `react`, `antd` 等安装, 配置一个最简单的 `hello world` 路由\n2. 安装 `mobx`, 引入并测试通过\n3. 再在原有项目上进行功能扩充\n\n## 既有项目打包优化\n\n假设现有项目用到了 `react`, `react-router` , `antd`, `mobx` 等库, 并且 `controller`, `router`, `model`, `view` 已基本成型. webpack 打包过大, 应用性能较差.\n\n最佳实践步骤:\n\n1. 新建一个空项目, 新建一个空的 webpack 配置\n2. 安装 `react` (或 `antd`, 或 `mobx`等) 写一个简单示例引入项目\n3. 针对单一库进行 `webpack` 打包优化, 一般情况下, 除了 loader rules / vendor 需要每个库单独优化, 其他配置都能保证通用\n4. 一项优化完成后重复 2,3 步骤, 直到所有库优化完成\n5. 对原有项目的 webpack 配置进行替换, 不动项目源码\n6. 进一步优化, 比如 `react-router-loader` 之类的引入, 开始针对项目源码进行优化\n\n\n","dir":"/zh/experience/project","path":"/zh/experience/project/mvp","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/project/mvp","meta":{"version":0,"revision":0,"created":1756480738955},"$loki":93},{"slug":"structure","description":"","title":"项目结构","position":2103,"category":"经验篇-项目","toc":[{"id":"服务器端mvc-模式","depth":2,"text":"服务器端:MVC 模式"},{"id":"客户端mvvm-模式","depth":2,"text":"客户端:MVVM 模式"},{"id":"测试bdd","depth":2,"text":"测试:BDD"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"目录分配尽可能简洁、清晰。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"服务器端mvc-模式"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AFmvc-%E6%A8%A1%E5%BC%8F","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"服务器端:MVC 模式"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"项目目录结构:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"\n├── bin\n│ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 可执行文件"}]},{"type":"text","value":"\n├── config\n│ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 配置文件"}]},{"type":"text","value":"\n├── lib\n│ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 通用类"}]},{"type":"text","value":"\n├── locales\n│ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# 语言文件"}]},{"type":"text","value":"\n├── package.json\n├── routes\n│ └── v3 "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"子项目"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n│ ├── handlers\n│ │ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# Controller"}]},{"type":"text","value":"\n│ ├── models\n│ │ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# Model"}]},{"type":"text","value":"\n│ └── views "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"接口可无,另推荐前后端分离"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n│ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# View"}]},{"type":"text","value":"\n└── "},{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"test"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"客户端mvvm-模式"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%AE%A2%E6%88%B7%E7%AB%AFmvvm-%E6%A8%A1%E5%BC%8F","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"客户端:MVVM 模式"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-bash","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","builtin","class-name"]},"children":[{"type":"text","value":"."}]},{"type":"text","value":"\n├── app\n│ ├── app.js\n│ └── index.html\n├── main.js\n└── src\n ├── app.js\n ├── components\n │ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# View Model"}]},{"type":"text","value":"\n ├── index.less\n ├── model\n │ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# Model"}]},{"type":"text","value":"\n ├── routes\n │ └── "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"# View"}]},{"type":"text","value":"\n ├── webpack.config.js\n └── webpack.config.prod.js\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"测试bdd"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%B5%8B%E8%AF%95bdd","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"测试:BDD"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"BDD","src":"/experience/project/test.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"上图为 BDD 测试目录,非测试用例文件(或目录)以"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"_"}]},{"type":"text","value":"开头。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n目录分配尽可能简洁、清晰。\n\n## 服务器端:MVC 模式\n\n项目目录结构:\n\n```bash\n.\n├── bin\n│   └── # 可执行文件\n├── config\n│   └── # 配置文件\n├── lib\n│   └── # 通用类\n├── locales\n│   └── # 语言文件\n├── package.json\n├── routes\n│   └── v3 (子项目)\n│   ├── handlers\n│   │   └── # Controller\n│   ├── models\n│   │   └── # Model\n│   └── views (接口可无,另推荐前后端分离)\n│      └── # View\n└── test\n```\n\n## 客户端:MVVM 模式\n\n```bash\n.\n├── app\n│   ├── app.js\n│   └── index.html\n├── main.js\n└── src\n ├── app.js\n ├── components\n │   └── # View Model\n ├── index.less\n ├── model\n │   └── # Model\n ├── routes\n │   └── # View\n ├── webpack.config.js\n └── webpack.config.prod.js\n```\n\n## 测试:BDD\n\n![BDD](/experience/project/test.png)\n\n上图为 BDD 测试目录,非测试用例文件(或目录)以`_`开头。\n\n\n","dir":"/zh/experience/project","path":"/zh/experience/project/structure","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/project/structure","meta":{"version":0,"revision":0,"created":1756480738957},"$loki":94},{"slug":"solving","description":"","title":"问题处理能力","position":3003,"category":"思想篇-能力","toc":[{"id":"问题解决能力","depth":2,"text":"问题解决能力"},{"id":"问题定位","depth":3,"text":"问题定位"},{"id":"解决问题","depth":3,"text":"解决问题"},{"id":"问题规避能力","depth":2,"text":"问题规避能力"},{"id":"1避免犯相同的错误","depth":3,"text":"1.避免犯相同的错误"},{"id":"2举一反三","depth":3,"text":"2.举一反三"},{"id":"3科学严谨","depth":3,"text":"3.科学严谨"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"包括问题解决和问题规避两大方面。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"问题解决能力"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E8%83%BD%E5%8A%9B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"问题解决能力"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举个例子:在公交站有清楚明白的站牌、而且有其他等车的人可以帮你解答的情况下,却非要拦住一辆 2 路汽车,问司机这个站过不过 8 路。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"我是完全没法理解这种人脑子长了是有什么用处的。独立思考、独立解决,不依赖他人。要培养自己独立解决问题的能力,而不是培养别人解决问题的能力。别人帮你是情分,不帮你是本分。所以解决问题首要的原则应该是:"},{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"靠自己,少烦人"}]}]},{"type":"text","value":"。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"问题定位"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%97%AE%E9%A2%98%E5%AE%9A%E4%BD%8D","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"问题定位"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"发现问题第一步应该是**"},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"思考问题产生的原因"}]},{"type":"text","value":"**,可以通过日志记录、错误信息着手。多动手,少动口,不能瞪一眼没看到问题所在就立马张嘴问别人,这不仅会使自己的能力丧失,也会浪费其他人的时间。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在开发过程中,最常见的问题就是应用崩溃。往往这类问题,很容易找到源头。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举个例子,以下是命令行报错信息:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-text","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"module.js:474\n throw err;\n ^\n\nError: XXX '/Users/xxx/xxx.js'\n at Function.Module._resolveFilename (module.js:472:15)\n at Function.Module._load (module.js:420:25)\n at Module.runMain (module.js:607:10)\n at run (bootstrap_node.js:420:7)\n at startup (bootstrap_node.js:139:9)\n at bootstrap_node.js:535:3\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这是最浅显的错误信息,出错的文件位置、出错的行列号、出错的原因全部都一览无余,找出对应部分问题即可。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"另外还有一些,如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-text","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379\n at Object.exports._errnoException (util.js:1022:11)\n at exports._exceptionWithHostPort (util.js:1045:20)\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)\n code: 'ECONNREFUSED',\n errno: 'ECONNREFUSED',\n syscall: 'connect',\n address: '127.0.0.1',\n port: 6379\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"只知道错误信息,不知道具体出错位置的,也可以根据错误信息很快定位到问题。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"其他一些问题,如语法问题、死循环、逻辑错误,在调试过程中很难排查,则需要耐下心来单步跳入检查。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"解决问题"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%A7%A3%E5%86%B3%E9%97%AE%E9%A2%98","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"解决问题"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"大多数能遇见的问题都不是什么难题。即便觉得是难题也无非是经验的不足。所以,要善于利用搜索引擎,多记录,多整理,多总结。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有一些顽固问题可能会牵一发而动全身,则需要考虑成本最小化,不能捡了芝麻丢了西瓜。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"另外,切忌拆东墙补西墙。要么根治,要么不治。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"问题规避能力"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%97%AE%E9%A2%98%E8%A7%84%E9%81%BF%E8%83%BD%E5%8A%9B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"问题规避能力"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1避免犯相同的错误"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E9%81%BF%E5%85%8D%E7%8A%AF%E7%9B%B8%E5%90%8C%E7%9A%84%E9%94%99%E8%AF%AF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.避免犯相同的错误"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"很多年轻人工作起来似乎从来不多加思考,不分析,也不想象,只会跟着别人的指示去做事,凭着自己的感觉去工作。结果,上次做过的事情,这次还是不会做。就像那些路盲一样,一个地方去过很多次,永远也不记得如何走。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"你犯的错误,大多数都在反复,学会思考总结,避免总是在犯相同的错误。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2举一反三"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E4%B8%BE%E4%B8%80%E5%8F%8D%E4%B8%89","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.举一反三"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"再进一步,在思考总结的基础之上,学会举一反三,能够有效规避相似的问题。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"会的多了自然错的就少了,技多不压身。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3科学严谨"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#3%E7%A7%91%E5%AD%A6%E4%B8%A5%E8%B0%A8","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.科学严谨"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"严谨是不犯错的前提。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"做事有条理、有规划(可以用一些 GTD 工具,如 TODO List、奇妙清单、Omni Plan 等)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"养成良好的编码注释习惯"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"测试驱动开发(编写自动化测试用例)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"培养大局观和洞察力"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n包括问题解决和问题规避两大方面。\n\n## 问题解决能力\n\n> 举个例子:在公交站有清楚明白的站牌、而且有其他等车的人可以帮你解答的情况下,却非要拦住一辆 2 路汽车,问司机这个站过不过 8 路。\n\n我是完全没法理解这种人脑子长了是有什么用处的。独立思考、独立解决,不依赖他人。要培养自己独立解决问题的能力,而不是培养别人解决问题的能力。别人帮你是情分,不帮你是本分。所以解决问题首要的原则应该是:**_靠自己,少烦人_**。\n\n### 问题定位\n\n发现问题第一步应该是**_思考问题产生的原因_**,可以通过日志记录、错误信息着手。多动手,少动口,不能瞪一眼没看到问题所在就立马张嘴问别人,这不仅会使自己的能力丧失,也会浪费其他人的时间。\n\n在开发过程中,最常见的问题就是应用崩溃。往往这类问题,很容易找到源头。\n\n举个例子,以下是命令行报错信息:\n\n```\nmodule.js:474\n throw err;\n ^\n\nError: XXX '/Users/xxx/xxx.js'\n at Function.Module._resolveFilename (module.js:472:15)\n at Function.Module._load (module.js:420:25)\n at Module.runMain (module.js:607:10)\n at run (bootstrap_node.js:420:7)\n at startup (bootstrap_node.js:139:9)\n at bootstrap_node.js:535:3\n```\n\n这是最浅显的错误信息,出错的文件位置、出错的行列号、出错的原因全部都一览无余,找出对应部分问题即可。\n\n另外还有一些,如:\n\n```\nError: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379\n at Object.exports._errnoException (util.js:1022:11)\n at exports._exceptionWithHostPort (util.js:1045:20)\n at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)\n code: 'ECONNREFUSED',\n errno: 'ECONNREFUSED',\n syscall: 'connect',\n address: '127.0.0.1',\n port: 6379\n```\n\n只知道错误信息,不知道具体出错位置的,也可以根据错误信息很快定位到问题。\n\n其他一些问题,如语法问题、死循环、逻辑错误,在调试过程中很难排查,则需要耐下心来单步跳入检查。\n\n### 解决问题\n\n大多数能遇见的问题都不是什么难题。即便觉得是难题也无非是经验的不足。所以,要善于利用搜索引擎,多记录,多整理,多总结。\n\n有一些顽固问题可能会牵一发而动全身,则需要考虑成本最小化,不能捡了芝麻丢了西瓜。\n\n另外,切忌拆东墙补西墙。要么根治,要么不治。\n\n## 问题规避能力\n\n### 1.避免犯相同的错误\n\n> 很多年轻人工作起来似乎从来不多加思考,不分析,也不想象,只会跟着别人的指示去做事,凭着自己的感觉去工作。结果,上次做过的事情,这次还是不会做。就像那些路盲一样,一个地方去过很多次,永远也不记得如何走。\n\n你犯的错误,大多数都在反复,学会思考总结,避免总是在犯相同的错误。\n\n### 2.举一反三\n\n再进一步,在思考总结的基础之上,学会举一反三,能够有效规避相似的问题。\n\n会的多了自然错的就少了,技多不压身。\n\n### 3.科学严谨\n\n严谨是不犯错的前提。\n\n如:\n\n- 做事有条理、有规划(可以用一些 GTD 工具,如 TODO List、奇妙清单、Omni Plan 等)\n- 养成良好的编码注释习惯\n- 测试驱动开发(编写自动化测试用例)\n- 培养大局观和洞察力\n\n\n","dir":"/zh/mind/capability","path":"/zh/mind/capability/solving","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/mind/capability/solving","meta":{"version":0,"revision":0,"created":1756480738961},"$loki":95},{"slug":"growth","description":"","title":"新人成长","position":3001,"category":"思想篇-能力","toc":[{"id":"工作的前两年","depth":2,"text":"工作的前两年"},{"id":"工作的选择","depth":3,"text":"工作的选择"},{"id":"跳槽","depth":3,"text":"跳槽"},{"id":"三到五年","depth":2,"text":"三到五年"},{"id":"关于创业","depth":3,"text":"关于创业"},{"id":"关于金钱观","depth":3,"text":"关于金钱观"},{"id":"制定翻倍计划","depth":3,"text":"制定翻倍计划"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"关注能力的成长,待遇的提升。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"工作的前两年"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%B7%A5%E4%BD%9C%E7%9A%84%E5%89%8D%E4%B8%A4%E5%B9%B4","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"工作的前两年"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果你不能拼爹,或者不想拼爹,最好的方法是拼实力。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以,你必须要从基层做起。当然,所谓的基层,并不是端茶倒水,但多一些体验,总是无害的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前两年的时间,应当主要打好基础的累积,认清职业现状和社会经济发展趋势,适应工作后的生活,对心灵浮躁的洗涤。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这一阶段最大的敌人是自身的态度,切忌不可眼高手低,牢记一句话——“心比天高,命比纸薄。”脚踏实地,一步一个脚印,为未来做好铺垫。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"工作的选择"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%B7%A5%E4%BD%9C%E7%9A%84%E9%80%89%E6%8B%A9","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"工作的选择"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"对于应届生、刚毕业两年内的职场新人,我个人并不推荐到小型创业公司去发展。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"大团队的优势"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%A4%A7%E5%9B%A2%E9%98%9F%E7%9A%84%E4%BC%98%E5%8A%BF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"大团队的优势"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"1人多有经验的人多已有的基础累积多"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E4%BA%BA%E5%A4%9A%E6%9C%89%E7%BB%8F%E9%AA%8C%E7%9A%84%E4%BA%BA%E5%A4%9A%E5%B7%B2%E6%9C%89%E7%9A%84%E5%9F%BA%E7%A1%80%E7%B4%AF%E7%A7%AF%E5%A4%9A","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.人多,有经验的人多,已有的基础累积多"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在大一点的团队,至少首先能够确定的,就是有师傅领进门,当然,修行那还都是靠个人的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"2体制完善流程规范"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E4%BD%93%E5%88%B6%E5%AE%8C%E5%96%84%E6%B5%81%E7%A8%8B%E8%A7%84%E8%8C%83","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.体制完善,流程规范"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"很多时候不用太过于操心该怎么操作,权力和职责的事情,都是有一套既定的流程,到哪一环节该怎么进行,遵守规范即可。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一般而言,对应的团队福利也会较为完善。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"大团队的劣势"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%A4%A7%E5%9B%A2%E9%98%9F%E7%9A%84%E5%8A%A3%E5%8A%BF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"大团队的劣势"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"1分工过于细"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E5%88%86%E5%B7%A5%E8%BF%87%E4%BA%8E%E7%BB%86","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.分工过于细"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有着明确的分工,工作就有了该你干的和没必要你干的区分,属于你职责范围的那一块并不大,做得尽善尽美也算是轻松。不需要你干预的部分,如果自己不带着自学,那么这一块的知识经验就会欠缺。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"2薪资职位的晋升空间不大"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E8%96%AA%E8%B5%84%E8%81%8C%E4%BD%8D%E7%9A%84%E6%99%8B%E5%8D%87%E7%A9%BA%E9%97%B4%E4%B8%8D%E5%A4%A7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.薪资、职位的晋升空间不大"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不少公司的职位晋升都是有年限要求的。薪资的调整一般也是差异化不太大的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"但有一句话说得好,有志不在年高,无志空活百岁;但也总能空降、外聘一些奇怪的高层下来。看似很矛盾,你心里需要明白,没有完善的制度,只有追求完美的人。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"前两年的时间,更多需要考虑的是成长的空间,而不是眼前的利益,放长线才能钓大鱼。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"3效率低下"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#3%E6%95%88%E7%8E%87%E4%BD%8E%E4%B8%8B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.效率低下"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"并不是所有上规模团队的通病,但却是多数。大多数公司发展到一定阶段后,会被流程、制度羁绊,无意义的走流程时间会耽误很多工夫。不用怀疑,林子大了什么鸟都会有,也总会有些拖油瓶在团队里混日子,团队规模大了之后,提前养老可以说是很轻松能实现的事情,只要不是太作死,混还是比较容易的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"初入职场,少受一些不好的风气影响,对未来会有莫大的益处。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"小团队的优势"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%B0%8F%E5%9B%A2%E9%98%9F%E7%9A%84%E4%BC%98%E5%8A%BF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"小团队的优势"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"事无巨细亲力亲为"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BA%8B%E6%97%A0%E5%B7%A8%E7%BB%86%E4%BA%B2%E5%8A%9B%E4%BA%B2%E4%B8%BA","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"事无巨细,亲力亲为"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"实践出真知,小公司有足够多的机会锻炼你的实践能力。是挑战亦是机遇。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"小团队的劣势"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%B0%8F%E5%9B%A2%E9%98%9F%E7%9A%84%E5%8A%A3%E5%8A%BF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"小团队的劣势"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h5","props":{"id":"杂而不精"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%9D%82%E8%80%8C%E4%B8%8D%E7%B2%BE","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"杂而不精"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"对于大多数的小型创业公司来讲,恨不能一人抵十人用,所以总是要什么都懂什么都做,但却没有特别深入钻研的点,也没有人带,很难有所成长。如果是自学能力特别强,有明确的职业规划目标,也可以勇敢试一试。这个社会更需要的是成为**"},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"一专多能复合型人才"}]},{"type":"text","value":"**。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"跳槽"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%B7%B3%E6%A7%BD","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"跳槽"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"工作的前两年,最好不要轻易跳槽。在这个阶段的跳槽,主要有两方面的弊端:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"1对于个人成长"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E5%AF%B9%E4%BA%8E%E4%B8%AA%E4%BA%BA%E6%88%90%E9%95%BF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.对于个人成长"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"跳槽的目的无非两点,更好的发展空间,或更高的待遇。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"跳槽到适应的周期太长,而年轻则应该是全速向前的阶段。到了新的岗位,一切又得重头再来,熟悉新的业务,新的技术,融入团队。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"2薪资待遇"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E8%96%AA%E8%B5%84%E5%BE%85%E9%81%87","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.薪资待遇"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"很少有在前两年跳槽的时候就能有很大涨幅的(50%+)。所以这时候在跳槽上花心思是一件很费脑又收益不大的事情。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"无论在职业的哪一个阶段,如果跳槽没有较大的薪资涨幅,跳槽都是需要谨慎考虑的。除非联合创始人身份加入,降薪跳槽的事情千万不要有,毕竟拿多少钱做多少事,没有利益不太可能会有源源不断的动力输出。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"三到五年"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%B8%89%E5%88%B0%E4%BA%94%E5%B9%B4","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"三到五年"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这个阶段,已有一技之长,又有广泛涉猎,应当寻求突破了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"关于创业"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%85%B3%E4%BA%8E%E5%88%9B%E4%B8%9A","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"关于创业"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"创业之前,你需要考虑清楚,你创业的动机,如果只是为了当领导,或者只是为了不被管束,那么最好提前打消这样的念头。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"关于金钱观"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%85%B3%E4%BA%8E%E9%87%91%E9%92%B1%E8%A7%82","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"关于金钱观"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"不要羡慕别人赚钱"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%B8%8D%E8%A6%81%E7%BE%A1%E6%85%95%E5%88%AB%E4%BA%BA%E8%B5%9A%E9%92%B1","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"不要羡慕别人赚钱"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"别人赚再多的钱,跟你没关系。你需要反省的是,为什么自己赚不到钱。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"你或许会有这样的疑问:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"为什么别人工作 8 小时,而你要 12 个小时?为什么别人拿那么高的工资,而你却只有那么点?为什么别人创业随随便便搞点动作就有大把大把的钱,而你却欠下一屁股债?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不是领导眼瞎,不是公司制度不完善,不是你时运不济,不是别人都在背后搞小动作,不是钱创业资金不够多。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不要找任何借口。否则只可能雪上加霜。为什么你不值钱?心态很重要,正视金钱,轻视金钱,它只是一种附属品。提高自身的素质,纠正心态,扩充技能,赚钱并不是件难事。千万不要汲汲于赚钱的事情上,把手上的工作做好了,把效率提高了,把质量提高了,收入怎么可能降低呢?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"绝不以赚钱至上"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%BB%9D%E4%B8%8D%E4%BB%A5%E8%B5%9A%E9%92%B1%E8%87%B3%E4%B8%8A","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"绝不以赚钱至上"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"赚钱只是结果之一,不是目的,更不是过程。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"你工作,不能是为了赚钱,而是为了你的理想,你的追求而奉献你的能力。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"你创业,也不能为了赚钱,而要为了服务世界,改变世界。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有心栽花花不开,无心栽柳柳成荫。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"当你对于事业有了更高的认知,金钱只是一种附属品,它必然属于你。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"取之有道"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%8F%96%E4%B9%8B%E6%9C%89%E9%81%93","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"取之有道"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"之前看过一个小故事,说有两家新开的餐馆,每天的顾客都比较多,一家会推荐顾客多点一点,点贵一点;另一家总是推荐顾客少点一些,够吃就行了。虽然短期来看,前一家钱赚的多一些,但后一家积累了顾客的信任。所以慢慢的,第一家的顾客会减少,第二家的生意会蒸蒸日上。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"君子爱财,取之有道。有一条最基本的原则是互利共赢。做产品、做服务,帮用户省钱,用户反而会更愿意为你花钱。只想着怎么变着花样搞些噱头从用户身上榨更多的利益,这样赚钱的方法是不可持续的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"制定翻倍计划"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%88%B6%E5%AE%9A%E7%BF%BB%E5%80%8D%E8%AE%A1%E5%88%92","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"制定翻倍计划"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"虽然有的人基础好,起步高,但这些并不是一成不变的。接下来的这几年的努力,最足以拉开人生的差距。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"王健林说:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"定个小目标,先挣一个亿。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这样的目标可能还是过于宏大了,但每一年,薪资以 1.5 倍速增长,并非遥不可及。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设你从应届生毕业时月薪为 8k,两年工作下来 14k。从第三年起,到第五年,每年翻一番,就是:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"21k"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"32k"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"48k (年薪 58 万)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"似乎也没有多少,对于大多数人来说这样的小目标不算太难实现的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设这三年如果只有 30%的平均涨幅,那么就是:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"18k"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"24k"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"30k (年薪 36 万)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"14k 相同的起薪,20%的差距,就有 22 万之多。所以这一阶段的发展需要多付出些精力,不可荒废。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"差不多,五年的光景,足以让你略有小成。"}]}]},"text":"\n关注能力的成长,待遇的提升。\n\n\n\n## 工作的前两年\n\n如果你不能拼爹,或者不想拼爹,最好的方法是拼实力。\n\n> 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。\n\n所以,你必须要从基层做起。当然,所谓的基层,并不是端茶倒水,但多一些体验,总是无害的。\n\n前两年的时间,应当主要打好基础的累积,认清职业现状和社会经济发展趋势,适应工作后的生活,对心灵浮躁的洗涤。\n\n这一阶段最大的敌人是自身的态度,切忌不可眼高手低,牢记一句话——“心比天高,命比纸薄。”脚踏实地,一步一个脚印,为未来做好铺垫。\n\n### 工作的选择\n\n对于应届生、刚毕业两年内的职场新人,我个人并不推荐到小型创业公司去发展。\n\n#### 大团队的优势\n\n##### 1.人多,有经验的人多,已有的基础累积多\n\n在大一点的团队,至少首先能够确定的,就是有师傅领进门,当然,修行那还都是靠个人的。\n\n##### 2.体制完善,流程规范\n\n很多时候不用太过于操心该怎么操作,权力和职责的事情,都是有一套既定的流程,到哪一环节该怎么进行,遵守规范即可。\n\n一般而言,对应的团队福利也会较为完善。\n\n#### 大团队的劣势\n\n##### 1.分工过于细\n\n有着明确的分工,工作就有了该你干的和没必要你干的区分,属于你职责范围的那一块并不大,做得尽善尽美也算是轻松。不需要你干预的部分,如果自己不带着自学,那么这一块的知识经验就会欠缺。\n\n##### 2.薪资、职位的晋升空间不大\n\n不少公司的职位晋升都是有年限要求的。薪资的调整一般也是差异化不太大的。\n\n但有一句话说得好,有志不在年高,无志空活百岁;但也总能空降、外聘一些奇怪的高层下来。看似很矛盾,你心里需要明白,没有完善的制度,只有追求完美的人。\n\n前两年的时间,更多需要考虑的是成长的空间,而不是眼前的利益,放长线才能钓大鱼。\n\n##### 3.效率低下\n\n并不是所有上规模团队的通病,但却是多数。大多数公司发展到一定阶段后,会被流程、制度羁绊,无意义的走流程时间会耽误很多工夫。不用怀疑,林子大了什么鸟都会有,也总会有些拖油瓶在团队里混日子,团队规模大了之后,提前养老可以说是很轻松能实现的事情,只要不是太作死,混还是比较容易的。\n\n初入职场,少受一些不好的风气影响,对未来会有莫大的益处。\n\n#### 小团队的优势\n\n##### 事无巨细,亲力亲为\n\n实践出真知,小公司有足够多的机会锻炼你的实践能力。是挑战亦是机遇。\n\n#### 小团队的劣势\n\n##### 杂而不精\n\n对于大多数的小型创业公司来讲,恨不能一人抵十人用,所以总是要什么都懂什么都做,但却没有特别深入钻研的点,也没有人带,很难有所成长。如果是自学能力特别强,有明确的职业规划目标,也可以勇敢试一试。这个社会更需要的是成为**_一专多能复合型人才_**。\n\n### 跳槽\n\n工作的前两年,最好不要轻易跳槽。在这个阶段的跳槽,主要有两方面的弊端:\n\n#### 1.对于个人成长\n\n跳槽的目的无非两点,更好的发展空间,或更高的待遇。\n\n跳槽到适应的周期太长,而年轻则应该是全速向前的阶段。到了新的岗位,一切又得重头再来,熟悉新的业务,新的技术,融入团队。\n\n#### 2.薪资待遇\n\n很少有在前两年跳槽的时候就能有很大涨幅的(50%+)。所以这时候在跳槽上花心思是一件很费脑又收益不大的事情。\n\n无论在职业的哪一个阶段,如果跳槽没有较大的薪资涨幅,跳槽都是需要谨慎考虑的。除非联合创始人身份加入,降薪跳槽的事情千万不要有,毕竟拿多少钱做多少事,没有利益不太可能会有源源不断的动力输出。\n\n## 三到五年\n\n这个阶段,已有一技之长,又有广泛涉猎,应当寻求突破了。\n\n### 关于创业\n\n创业之前,你需要考虑清楚,你创业的动机,如果只是为了当领导,或者只是为了不被管束,那么最好提前打消这样的念头。\n\n### 关于金钱观\n\n#### 不要羡慕别人赚钱\n\n别人赚再多的钱,跟你没关系。你需要反省的是,为什么自己赚不到钱。\n\n你或许会有这样的疑问:\n\n为什么别人工作 8 小时,而你要 12 个小时?为什么别人拿那么高的工资,而你却只有那么点?为什么别人创业随随便便搞点动作就有大把大把的钱,而你却欠下一屁股债?\n\n不是领导眼瞎,不是公司制度不完善,不是你时运不济,不是别人都在背后搞小动作,不是钱创业资金不够多。\n\n不要找任何借口。否则只可能雪上加霜。为什么你不值钱?心态很重要,正视金钱,轻视金钱,它只是一种附属品。提高自身的素质,纠正心态,扩充技能,赚钱并不是件难事。千万不要汲汲于赚钱的事情上,把手上的工作做好了,把效率提高了,把质量提高了,收入怎么可能降低呢?\n\n#### 绝不以赚钱至上\n\n赚钱只是结果之一,不是目的,更不是过程。\n\n你工作,不能是为了赚钱,而是为了你的理想,你的追求而奉献你的能力。\n\n你创业,也不能为了赚钱,而要为了服务世界,改变世界。\n\n> 有心栽花花不开,无心栽柳柳成荫。\n\n当你对于事业有了更高的认知,金钱只是一种附属品,它必然属于你。\n\n#### 取之有道\n\n之前看过一个小故事,说有两家新开的餐馆,每天的顾客都比较多,一家会推荐顾客多点一点,点贵一点;另一家总是推荐顾客少点一些,够吃就行了。虽然短期来看,前一家钱赚的多一些,但后一家积累了顾客的信任。所以慢慢的,第一家的顾客会减少,第二家的生意会蒸蒸日上。\n\n君子爱财,取之有道。有一条最基本的原则是互利共赢。做产品、做服务,帮用户省钱,用户反而会更愿意为你花钱。只想着怎么变着花样搞些噱头从用户身上榨更多的利益,这样赚钱的方法是不可持续的。\n\n### 制定翻倍计划\n\n虽然有的人基础好,起步高,但这些并不是一成不变的。接下来的这几年的努力,最足以拉开人生的差距。\n\n> 王健林说:\n>\n> > 定个小目标,先挣一个亿。\n\n这样的目标可能还是过于宏大了,但每一年,薪资以 1.5 倍速增长,并非遥不可及。\n\n假设你从应届生毕业时月薪为 8k,两年工作下来 14k。从第三年起,到第五年,每年翻一番,就是:\n\n- 21k\n- 32k\n- 48k (年薪 58 万)\n\n似乎也没有多少,对于大多数人来说这样的小目标不算太难实现的。\n\n假设这三年如果只有 30%的平均涨幅,那么就是:\n\n- 18k\n- 24k\n- 30k (年薪 36 万)\n\n14k 相同的起薪,20%的差距,就有 22 万之多。所以这一阶段的发展需要多付出些精力,不可荒废。\n\n---\n\n差不多,五年的光景,足以让你略有小成。\n","dir":"/zh/mind/capability","path":"/zh/mind/capability/growth","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/mind/capability/growth","meta":{"version":0,"revision":0,"created":1756480738967},"$loki":96},{"slug":"study","description":"","title":"学习能力","position":3002,"category":"思想篇-能力","toc":[{"id":"脚踏实地循序渐进","depth":2,"text":"脚踏实地,循序渐进"},{"id":"改善学习习惯提高学习效率","depth":2,"text":"改善学习习惯,提高学习效率"},{"id":"学以致用","depth":2,"text":"学以致用"},{"id":"勤能补拙是良训一分辛苦一分才","depth":2,"text":"勤能补拙是良训,一分辛苦一分才"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"脚踏实地循序渐进"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%84%9A%E8%B8%8F%E5%AE%9E%E5%9C%B0%E5%BE%AA%E5%BA%8F%E6%B8%90%E8%BF%9B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"脚踏实地,循序渐进"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比如你想要做 Web 开发,那么可能就需要明确阶段性的目标,如先从前端或是后端的某个点着手,一点点拓展到其他的技术栈。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"而一上手就要做高大上,就要采用“MEAN”(MongoDB+Express+Angular.js+Nginx)技术栈之类的,是不现实的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在这几年的招聘过程中,个人感觉现在的前端圈子非常浮躁,很多毕业没两年的年轻人都会打上这样的标签:“精通 jQuery”、“精通 React”、“熟练使用 xxx 进行 HTML5 移动开发”之类的,笔试或者提问一些 CSS 基础、JS 基础、简单算法都答不上来。会这些上层应用框架再多,也只是做一些代码的搬运工作,不太需要智商投入的事情,何来的底气要那么高的待遇?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"无知要比知识更容易产生自信。—— 查尔斯·达尔文(达克效应)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"对于新人来讲,基础很重要,不仅要只其然,还要知其所以然。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比如,使用 jQuery 可以快速上手前端开发,只需要看过几个示例,对照着文档写代码就行了,非常方便。但是 jQuery 有自身性能和兼容性的局限,所以如果不懂原生 js 的话,只能机械重复去做一些简单的上层应用,很难再有突破。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比如,想要采用一种新的框架,如 Angular.js,那么也是需要了解一些 ES 6 特性、TypeScript 之类的前置知识基础,才能够更快地上手。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"改善学习习惯提高学习效率"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%94%B9%E5%96%84%E5%AD%A6%E4%B9%A0%E4%B9%A0%E6%83%AF%E6%8F%90%E9%AB%98%E5%AD%A6%E4%B9%A0%E6%95%88%E7%8E%87","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"改善学习习惯,提高学习效率"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"每个人都有自己吸收知识的方式,有的同学喜欢看行业相关的新闻、博客,有的同学喜欢看各种视频、讲座,也有喜欢看书的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"无论是音频还是视频,所能传递的知识,都没有书本多。看书、看相关的文字资料,是吸收知识最快最有效的方式,虽然也是最无聊、最枯燥的方式。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"虽然经常会听到“人丑就要多读书”、“人穷就要多读书”的黑梗,读书的必要性还是很大的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"知识在大脑中的存留率是不高的,很容易就会忘记,所以经常复习会加深记忆。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"最好能养成记录的习惯,学习笔记、心得、踩过的坑都可以记录下来,以防日后想用的时候又忘记了,还得重新看一遍。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"学以致用"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%AD%A6%E4%BB%A5%E8%87%B4%E7%94%A8","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"学以致用"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"学以致用也是一种学习的能力。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果学到的知识不能转变成价值的传递,那么学了又有什么意义?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"勤能补拙是良训一分辛苦一分才"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%8B%A4%E8%83%BD%E8%A1%A5%E6%8B%99%E6%98%AF%E8%89%AF%E8%AE%AD%E4%B8%80%E5%88%86%E8%BE%9B%E8%8B%A6%E4%B8%80%E5%88%86%E6%89%8D","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"勤能补拙是良训,一分辛苦一分才"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"对于没有天赋,基础也很薄弱,但对这一领域又非常有兴趣的同学,你们要加倍努力。世上无难事,只怕有心人,不要轻言放弃。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n## 脚踏实地,循序渐进\n\n比如你想要做 Web 开发,那么可能就需要明确阶段性的目标,如先从前端或是后端的某个点着手,一点点拓展到其他的技术栈。\n\n而一上手就要做高大上,就要采用“MEAN”(MongoDB+Express+Angular.js+Nginx)技术栈之类的,是不现实的。\n\n在这几年的招聘过程中,个人感觉现在的前端圈子非常浮躁,很多毕业没两年的年轻人都会打上这样的标签:“精通 jQuery”、“精通 React”、“熟练使用 xxx 进行 HTML5 移动开发”之类的,笔试或者提问一些 CSS 基础、JS 基础、简单算法都答不上来。会这些上层应用框架再多,也只是做一些代码的搬运工作,不太需要智商投入的事情,何来的底气要那么高的待遇?\n\n> 无知要比知识更容易产生自信。—— 查尔斯·达尔文(达克效应)\n\n对于新人来讲,基础很重要,不仅要只其然,还要知其所以然。\n\n比如,使用 jQuery 可以快速上手前端开发,只需要看过几个示例,对照着文档写代码就行了,非常方便。但是 jQuery 有自身性能和兼容性的局限,所以如果不懂原生 js 的话,只能机械重复去做一些简单的上层应用,很难再有突破。\n\n比如,想要采用一种新的框架,如 Angular.js,那么也是需要了解一些 ES 6 特性、TypeScript 之类的前置知识基础,才能够更快地上手。\n\n## 改善学习习惯,提高学习效率\n\n每个人都有自己吸收知识的方式,有的同学喜欢看行业相关的新闻、博客,有的同学喜欢看各种视频、讲座,也有喜欢看书的。\n\n无论是音频还是视频,所能传递的知识,都没有书本多。看书、看相关的文字资料,是吸收知识最快最有效的方式,虽然也是最无聊、最枯燥的方式。\n\n虽然经常会听到“人丑就要多读书”、“人穷就要多读书”的黑梗,读书的必要性还是很大的。\n\n> 一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪。\n\n知识在大脑中的存留率是不高的,很容易就会忘记,所以经常复习会加深记忆。\n\n最好能养成记录的习惯,学习笔记、心得、踩过的坑都可以记录下来,以防日后想用的时候又忘记了,还得重新看一遍。\n\n## 学以致用\n\n学以致用也是一种学习的能力。\n\n如果学到的知识不能转变成价值的传递,那么学了又有什么意义?\n\n## 勤能补拙是良训,一分辛苦一分才\n\n对于没有天赋,基础也很薄弱,但对这一领域又非常有兴趣的同学,你们要加倍努力。世上无难事,只怕有心人,不要轻言放弃。\n\n\n","dir":"/zh/mind/capability","path":"/zh/mind/capability/study","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/mind/capability/study","meta":{"version":0,"revision":0,"created":1756480738971},"$loki":97},{"slug":"concept","description":"","title":"人才理念","position":3505,"category":"思想篇-团队建设","toc":[{"id":"福利待遇","depth":2,"text":"福利待遇"},{"id":"福利","depth":3,"text":"福利"},{"id":"待遇","depth":3,"text":"待遇"},{"id":"人性血性","depth":2,"text":"人性·血性"},{"id":"血性","depth":3,"text":"血性"},{"id":"人性","depth":3,"text":"人性"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"主要针对创业团队的总结归纳。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"福利待遇"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%A6%8F%E5%88%A9%E5%BE%85%E9%81%87","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"福利待遇"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"马云说:员工的离职原因,只有两点最真实:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"1、钱,没给到位。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"2、心,委屈了。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这些归根到底就一条:干得不爽。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"员工临走还费尽心思找靠谱的理由,就是为给你留面子,不想说穿你的管理有多烂、他对你已失望透顶。 仔细想想,真是人性本善。作为管理者,定要乐于反省。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"生活本应乐在其中,工作、理想、赚钱都只是生活中的一个个小环节而已,所以不应目的性太强,将团队成员当成赚钱的机器。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"未必天天累死累活的连自己的生活都丢了才能成功,成功有很多方式,即便不能很成功也没必要跟自己过不去。价值的创造往往来自于灵感的迸发,而不是机械重复的砌垒。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"福利"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%A6%8F%E5%88%A9","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"福利"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"基础福利保障,如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"节假日保障,带薪年假"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"加班补贴,支付**"},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"额外"}]},{"type":"text","value":"**加班费及提供餐补、交通补贴等"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"节日、生日礼包"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"劳动法规定的只是最低保障,需要严格遵守,并且应高于其规定的内容。除此之外,还可以融入一些有企业文化特色的福利,如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"人体工程学座椅"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"4k 显示器,macbook pro"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"机械键盘"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"定期团队建设,培训分享等"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不能让团队成员逢年过节秀福利的时候总是在同学朋友面前要低下头来。做良心企业,给足人文关怀。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"待遇"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%BE%85%E9%81%87","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"待遇"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"高薪养廉,没什么毛病。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一方面起薪到位,让人一来就有干劲。另一方面,加薪到位,企业不能总是看员工通过加薪来提高待遇而不作为。重人才,惜人才,舍得让利于团队。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"对于 2 年内工作经验的,每年调整两次薪资,幅度在 10%左右,较为合适,两年下来涨幅总计约 50%,即入职薪水 8k,两年后达到 12k。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"对于 2-5 年的,每年一次薪资调整,根据能力从 15%-50%,并给予其他奖励,并实行末位淘汰制,优胜劣汰。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"5 年以上的,每年一次薪资调整,不固定,根据业绩效益给予其他奖励或薪资调整,失误失职降薪、淘汰。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"以上为团队常规状态的调整。跳出规矩定规矩,薪资调整不设死界限。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不少企业在每年调薪的时候都有两项限制——人员名额限制、调薪幅度限制。下面我讲几个案例。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"团队内部转方向"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%9B%A2%E9%98%9F%E5%86%85%E9%83%A8%E8%BD%AC%E6%96%B9%E5%90%91","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"团队内部转方向"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"姑娘 A,以前在公司里做静态页面(HTML),干了一年半,转到做 JS,工作量激增,而且能力也被认可。但鉴于公司的薪酬体系限制,年后离职了。原因很简单,由于之前工作相较轻松,她的起薪较低,只有 6k 左右。如果跳槽,当前的就业形势 12-15k 左右是完全没有问题,而在公司继续待下去,即便短期内有两次涨薪(按 20%比例算),只能达到 8.5k 左右的水平。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h4","props":{"id":"专业方向有建树"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%B8%93%E4%B8%9A%E6%96%B9%E5%90%91%E6%9C%89%E5%BB%BA%E6%A0%91","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"专业方向有建树"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"同事 B,在公司里一直兢兢业业,各方面表现虽然不是最为突出的,但也属于前列,而且特别踏实,工作交给他都十分放心。在公司两年多,工资虽然上涨了 40%(也是 6k 左右到了 8.5k),但依然落后于其他同学朋友,不甘离职。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这些例子抛出了下面的主题,人性和血性。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"人性血性"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BA%BA%E6%80%A7%E8%A1%80%E6%80%A7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"人性·血性"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"血性"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%A1%80%E6%80%A7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"血性"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"何谓热血青年?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有人这么回答:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有激情 有梦想 爱追逐 不轻言放弃 敢作敢当 的年轻人"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"星爷有一句台词:“做人如果没梦想,跟咸鱼有什么分别?”很多人不是没有梦想,只是败给了现实,激发不出激情。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"团队里需要有干劲的人,但是人的干劲来自于哪里?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"根据马斯洛需求层次理论:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/mind/team/maslows.jpg"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这是第五层次:自我实现的需要。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"自我实现需求(Self-actualization),是最高层次的需求,包括针对于真善美至高人生境界获得的需求,因此前面四项需求都能满足,最高层次的需求方能相继产生,是一种衍生性需求,如:自我实现,发挥潜能等。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"人性"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BA%BA%E6%80%A7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"人性"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"很多时候,员工给企业创造的价值远远不止工资的十倍百倍。但却经常遇见这样的情况:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"你和老板谈工资,老板和你谈感情;你和老板谈感情,老板和你谈责任。。。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这样的老板,就是在利用人性的弱点来剥削员工的剩余价值。人性化的企业,公司的利益就是员工的利益;而不是员工的利益都成为公司的利益。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"又想马儿不吃草,又想马儿快快跑,这是不切实际的。善待团队,才能激发更大的创造力。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"富之、贵之、敬之、誉之,然后国之良士亦将可得而众也。\n——墨子"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n主要针对创业团队的总结归纳。\n\n## 福利待遇\n\n> 马云说:员工的离职原因,只有两点最真实:\n>\n> > 1、钱,没给到位。\n> >\n> > 2、心,委屈了。\n>\n> 这些归根到底就一条:干得不爽。\n>\n> 员工临走还费尽心思找靠谱的理由,就是为给你留面子,不想说穿你的管理有多烂、他对你已失望透顶。 仔细想想,真是人性本善。作为管理者,定要乐于反省。\n\n生活本应乐在其中,工作、理想、赚钱都只是生活中的一个个小环节而已,所以不应目的性太强,将团队成员当成赚钱的机器。\n\n未必天天累死累活的连自己的生活都丢了才能成功,成功有很多方式,即便不能很成功也没必要跟自己过不去。价值的创造往往来自于灵感的迸发,而不是机械重复的砌垒。\n\n### 福利\n\n基础福利保障,如:\n\n- 节假日保障,带薪年假\n- 加班补贴,支付**_额外_**加班费及提供餐补、交通补贴等\n- 节日、生日礼包\n\n劳动法规定的只是最低保障,需要严格遵守,并且应高于其规定的内容。除此之外,还可以融入一些有企业文化特色的福利,如:\n\n- 人体工程学座椅\n- 4k 显示器,macbook pro\n- 机械键盘\n- 定期团队建设,培训分享等\n\n不能让团队成员逢年过节秀福利的时候总是在同学朋友面前要低下头来。做良心企业,给足人文关怀。\n\n### 待遇\n\n高薪养廉,没什么毛病。\n\n一方面起薪到位,让人一来就有干劲。另一方面,加薪到位,企业不能总是看员工通过加薪来提高待遇而不作为。重人才,惜人才,舍得让利于团队。\n\n对于 2 年内工作经验的,每年调整两次薪资,幅度在 10%左右,较为合适,两年下来涨幅总计约 50%,即入职薪水 8k,两年后达到 12k。\n\n对于 2-5 年的,每年一次薪资调整,根据能力从 15%-50%,并给予其他奖励,并实行末位淘汰制,优胜劣汰。\n\n5 年以上的,每年一次薪资调整,不固定,根据业绩效益给予其他奖励或薪资调整,失误失职降薪、淘汰。\n\n以上为团队常规状态的调整。跳出规矩定规矩,薪资调整不设死界限。\n\n不少企业在每年调薪的时候都有两项限制——人员名额限制、调薪幅度限制。下面我讲几个案例。\n\n#### 团队内部转方向\n\n姑娘 A,以前在公司里做静态页面(HTML),干了一年半,转到做 JS,工作量激增,而且能力也被认可。但鉴于公司的薪酬体系限制,年后离职了。原因很简单,由于之前工作相较轻松,她的起薪较低,只有 6k 左右。如果跳槽,当前的就业形势 12-15k 左右是完全没有问题,而在公司继续待下去,即便短期内有两次涨薪(按 20%比例算),只能达到 8.5k 左右的水平。\n\n#### 专业方向有建树\n\n同事 B,在公司里一直兢兢业业,各方面表现虽然不是最为突出的,但也属于前列,而且特别踏实,工作交给他都十分放心。在公司两年多,工资虽然上涨了 40%(也是 6k 左右到了 8.5k),但依然落后于其他同学朋友,不甘离职。\n\n这些例子抛出了下面的主题,人性和血性。\n\n## 人性·血性\n\n### 血性\n\n何谓热血青年?\n\n有人这么回答:\n\n> 有激情 有梦想 爱追逐 不轻言放弃 敢作敢当 的年轻人\n\n星爷有一句台词:“做人如果没梦想,跟咸鱼有什么分别?”很多人不是没有梦想,只是败给了现实,激发不出激情。\n\n团队里需要有干劲的人,但是人的干劲来自于哪里?\n\n根据马斯洛需求层次理论:\n\n![Image](/mind/team/maslows.jpg)\n\n这是第五层次:自我实现的需要。\n\n> 自我实现需求(Self-actualization),是最高层次的需求,包括针对于真善美至高人生境界获得的需求,因此前面四项需求都能满足,最高层次的需求方能相继产生,是一种衍生性需求,如:自我实现,发挥潜能等。\n\n### 人性\n\n很多时候,员工给企业创造的价值远远不止工资的十倍百倍。但却经常遇见这样的情况:\n\n> 你和老板谈工资,老板和你谈感情;你和老板谈感情,老板和你谈责任。。。\n\n这样的老板,就是在利用人性的弱点来剥削员工的剩余价值。人性化的企业,公司的利益就是员工的利益;而不是员工的利益都成为公司的利益。\n\n又想马儿不吃草,又想马儿快快跑,这是不切实际的。善待团队,才能激发更大的创造力。\n\n> 富之、贵之、敬之、誉之,然后国之良士亦将可得而众也。\n> ——墨子\n\n\n","dir":"/zh/mind/team","path":"/zh/mind/team/concept","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/mind/team/concept","meta":{"version":0,"revision":0,"created":1756480738979},"$loki":98},{"slug":"define-good-employee","description":"","title":"好员工的定义","position":3501,"category":"思想篇-团队建设","toc":[{"id":"团队意识","depth":2,"text":"团队意识"},{"id":"帮助团队其他成员共同进步","depth":3,"text":"帮助团队其他成员共同进步"},{"id":"充当一颗螺丝钉","depth":3,"text":"充当一颗螺丝钉"},{"id":"分担他人的工作","depth":3,"text":"分担他人的工作"},{"id":"学习能力","depth":2,"text":"学习能力"},{"id":"自学能力","depth":3,"text":"自学能力"},{"id":"钻研精神","depth":3,"text":"钻研精神"},{"id":"谦逊","depth":3,"text":"谦逊"},{"id":"一专多能","depth":2,"text":"一专多能"},{"id":"工作不可替代","depth":3,"text":"工作不可替代"},{"id":"团队活化剂","depth":3,"text":"团队活化剂"},{"id":"思想不可替代","depth":3,"text":"思想不可替代"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先需要明确,对于公司而言,所想要的员工是这样子的:拿半个人的薪水,做十个人的事情。虽然这么讲可能有那么一点夸大其词,但想想也应该知道,凭什么公司给你支付很高的薪水?答案"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"只有一个"}]},{"type":"text","value":",那就是你能够有很高的价值产出。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"即便当你成为领导,甚至成为老板,也需要认清什么样的员工才是好员工,这样你的团队才能可持续的发展。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"什么样才能算得上是一个好员工呢?一千个读者就有一千个哈姆雷特,虽然没有一个很明确的标准,但从我个人的理解来讲,应该是这样子的:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"团队意识"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9B%A2%E9%98%9F%E6%84%8F%E8%AF%86","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"团队意识"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这是最重要的一点。一个人的能力再强,也不可能颠覆全世界,"},{"type":"element","tag":"a","props":{"href":"http://baike.baidu.com/subview/11659698/12016649.htm","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"天启"}]},{"type":"text","value":"的失败就是一个典型的例子,双拳不敌四手。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一根筷子轻轻被折断"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"十双筷子牢牢抱成团"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一个巴掌拍也拍不响"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"万人鼓掌声呀声震天"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"——《众人划桨开大船》"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"帮助团队其他成员共同进步"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%B8%AE%E5%8A%A9%E5%9B%A2%E9%98%9F%E5%85%B6%E4%BB%96%E6%88%90%E5%91%98%E5%85%B1%E5%90%8C%E8%BF%9B%E6%AD%A5","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"帮助团队其他成员共同进步"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这就要求不能有个人英雄主义。喜欢打篮球的人应该都会头疼特别独的队友,即便这个人水平真的很高。我评价一个员工的好坏,不在于他个人的能力,而是他在团队中对其他成员的正面影响能有多少。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"帮助别人进步的同时,自己也会进步。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"充当一颗螺丝钉"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%85%85%E5%BD%93%E4%B8%80%E9%A2%97%E8%9E%BA%E4%B8%9D%E9%92%89","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"充当一颗螺丝钉"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不要相信是金子总会发光的这种傻话,有能力,你就得承担责任。U Can U Up, No Can No BB.只会说,不能做,工作上挑三拣四的,不先开除你这样的开除谁?还想升职加薪,迎娶白富美?做梦吧。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"总有累活难活大多数人都不愿意接的活,但活总要有人干吧。你上,自然会得到重用,哪怕现在的这个任务只是当一颗螺丝钉。吃得苦中苦,方为人上人。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"分担他人的工作"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%86%E6%8B%85%E4%BB%96%E4%BA%BA%E7%9A%84%E5%B7%A5%E4%BD%9C","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"分担他人的工作"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"试着去分担团队其他人的负担,而不是给别人增加负担。多去为团队其他人解决问题,而不是为别人制造问题。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"尤其是在初创团队里,每个人都会有很多任务,你能力强,就带领别人,去攻克解决难题;你能力弱,就虚心学习,听取别人的意见,并分析融入自己的思考。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"学习能力"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AD%A6%E4%B9%A0%E8%83%BD%E5%8A%9B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"学习能力"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"学习能力远大于学历,也大于能力。有学习能力的人,能够在短时间能提升自己的能力。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有一句古话说:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有志不在年高,无志空长百岁。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"自学能力"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%87%AA%E5%AD%A6%E8%83%BD%E5%8A%9B","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"自学能力"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"经验丰富,是一种优势。但岁数大,是一种劣势。所以年轻人,多学点东西吧,这样你会更有竞争力。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"倚老卖老的人很多,但不会有谁真的会把自己看家本领无私奉献给你。学习是一个主动的过程,而不是被动的接受。换位思考一下,为什么别人要教你?你赚了钱又不可能都给他,反而有可能会取代他做的工作,虽然残酷但这才是现实。所以,不要指望别人带你,或者有导师能够指引你,除非你有钱交大把的学费,给足了对方甜头。不然,你只能靠自己。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"天下没有免费的午餐,也没有可以不花钱就学到的知识。如果有,不学也罢,学了也累赘。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"钻研精神"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%92%BB%E7%A0%94%E7%B2%BE%E7%A5%9E","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"钻研精神"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"事业是要为之奋斗终生的,如果你对所从事的职业不感兴趣,应当趁早转型。如果你热爱你的工作,那么你应该很努力。想一想,那些比你优秀、比你赚钱多、比你年轻的人,你还有什么资格不努力?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"你不仅要不断地学习专业技能,还需要广泛涉猎各个领域。多知道一点,总是无害的。多努力一点,可能也就会变得更优秀一点。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"谦逊"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%B0%A6%E9%80%8A","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"谦逊"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"谦逊是大多数好学的人都共有的一点明显特征,所以我也将其勉强归入学习能力之中。只要能学到本事,放下那一文不值的尊严吧。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"一专多能"},"children":[{"type":"element","tag":"a","props":{"href":"#%E4%B8%80%E4%B8%93%E5%A4%9A%E8%83%BD","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"一专多能"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"小学生都有一句口号叫:“德智体美劳全面发展”,职场人更需要这样。所以我也送你一句口号:“一专多能,高薪不难。”"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"何为一专多能?擅长某一领域,并对其他领域广泛涉猎并有自己的见解。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一专多能的人,具备如下一些特征:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"工作不可替代"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%B7%A5%E4%BD%9C%E4%B8%8D%E5%8F%AF%E6%9B%BF%E4%BB%A3","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"工作不可替代"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"因为在某一领域精通,所以你所做的工作是别人不能轻易接手的,你所能解决的问题,不是别人都能解决的。如果你所做的工作,别人取代不了,那么你的重要性自然可想而知。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不过需要注意一下,应当做优秀到不可取代,而不是 Low 到无可替代。如果你是一个码农,你写的代码里一行注释都没有,变量方法命名连自己都看不懂,写的逻辑和算法渣得像坨屎,确实也没人能接手你的活,但完全可以推翻重做一套吖。不可取代,是无论什么样的方法,都不能做得比你更好。这样,你也能有成就感,不是吗?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"团队活化剂"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%9B%A2%E9%98%9F%E6%B4%BB%E5%8C%96%E5%89%82","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"团队活化剂"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不仅能够高效、高质量完成自己的工作,还能在工作之余给团队其他人启发,帮助其他人开阔思维、改善思路、提高效率、提升品质。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"思想不可替代"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%80%9D%E6%83%B3%E4%B8%8D%E5%8F%AF%E6%9B%BF%E4%BB%A3","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"思想不可替代"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有广泛的知识积累做依托,你在看待问题的时候会从不同的角度进行分析和换位思考,会比常人看得更加透彻和清晰。所以渐渐地,你将往团队的精神领袖位置靠拢。思想比技术更有价值,因为技术可以复制,而思想不能。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"就算别人能够模仿你说话的动作、语气和神情,但看问题刁钻的眼光和解决问题的能力都是别人所不能模仿的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n首先需要明确,对于公司而言,所想要的员工是这样子的:拿半个人的薪水,做十个人的事情。虽然这么讲可能有那么一点夸大其词,但想想也应该知道,凭什么公司给你支付很高的薪水?答案`只有一个`,那就是你能够有很高的价值产出。\n\n即便当你成为领导,甚至成为老板,也需要认清什么样的员工才是好员工,这样你的团队才能可持续的发展。\n\n什么样才能算得上是一个好员工呢?一千个读者就有一千个哈姆雷特,虽然没有一个很明确的标准,但从我个人的理解来讲,应该是这样子的:\n\n## 团队意识\n\n这是最重要的一点。一个人的能力再强,也不可能颠覆全世界,[天启](http://baike.baidu.com/subview/11659698/12016649.htm)的失败就是一个典型的例子,双拳不敌四手。\n\n> 一根筷子轻轻被折断\n>\n> 十双筷子牢牢抱成团\n>\n> 一个巴掌拍也拍不响\n>\n> 万人鼓掌声呀声震天\n>\n> ——《众人划桨开大船》\n\n### 帮助团队其他成员共同进步\n\n这就要求不能有个人英雄主义。喜欢打篮球的人应该都会头疼特别独的队友,即便这个人水平真的很高。我评价一个员工的好坏,不在于他个人的能力,而是他在团队中对其他成员的正面影响能有多少。\n\n帮助别人进步的同时,自己也会进步。\n\n### 充当一颗螺丝钉\n\n不要相信是金子总会发光的这种傻话,有能力,你就得承担责任。U Can U Up, No Can No BB.只会说,不能做,工作上挑三拣四的,不先开除你这样的开除谁?还想升职加薪,迎娶白富美?做梦吧。\n\n总有累活难活大多数人都不愿意接的活,但活总要有人干吧。你上,自然会得到重用,哪怕现在的这个任务只是当一颗螺丝钉。吃得苦中苦,方为人上人。\n\n### 分担他人的工作\n\n试着去分担团队其他人的负担,而不是给别人增加负担。多去为团队其他人解决问题,而不是为别人制造问题。\n\n尤其是在初创团队里,每个人都会有很多任务,你能力强,就带领别人,去攻克解决难题;你能力弱,就虚心学习,听取别人的意见,并分析融入自己的思考。\n\n## 学习能力\n\n学习能力远大于学历,也大于能力。有学习能力的人,能够在短时间能提升自己的能力。\n\n有一句古话说:\n\n> 有志不在年高,无志空长百岁。\n\n### 自学能力\n\n经验丰富,是一种优势。但岁数大,是一种劣势。所以年轻人,多学点东西吧,这样你会更有竞争力。\n\n倚老卖老的人很多,但不会有谁真的会把自己看家本领无私奉献给你。学习是一个主动的过程,而不是被动的接受。换位思考一下,为什么别人要教你?你赚了钱又不可能都给他,反而有可能会取代他做的工作,虽然残酷但这才是现实。所以,不要指望别人带你,或者有导师能够指引你,除非你有钱交大把的学费,给足了对方甜头。不然,你只能靠自己。\n\n天下没有免费的午餐,也没有可以不花钱就学到的知识。如果有,不学也罢,学了也累赘。\n\n### 钻研精神\n\n事业是要为之奋斗终生的,如果你对所从事的职业不感兴趣,应当趁早转型。如果你热爱你的工作,那么你应该很努力。想一想,那些比你优秀、比你赚钱多、比你年轻的人,你还有什么资格不努力?\n\n你不仅要不断地学习专业技能,还需要广泛涉猎各个领域。多知道一点,总是无害的。多努力一点,可能也就会变得更优秀一点。\n\n### 谦逊\n\n谦逊是大多数好学的人都共有的一点明显特征,所以我也将其勉强归入学习能力之中。只要能学到本事,放下那一文不值的尊严吧。\n\n## 一专多能\n\n小学生都有一句口号叫:“德智体美劳全面发展”,职场人更需要这样。所以我也送你一句口号:“一专多能,高薪不难。”\n\n何为一专多能?擅长某一领域,并对其他领域广泛涉猎并有自己的见解。\n\n一专多能的人,具备如下一些特征:\n\n### 工作不可替代\n\n因为在某一领域精通,所以你所做的工作是别人不能轻易接手的,你所能解决的问题,不是别人都能解决的。如果你所做的工作,别人取代不了,那么你的重要性自然可想而知。\n\n不过需要注意一下,应当做优秀到不可取代,而不是 Low 到无可替代。如果你是一个码农,你写的代码里一行注释都没有,变量方法命名连自己都看不懂,写的逻辑和算法渣得像坨屎,确实也没人能接手你的活,但完全可以推翻重做一套吖。不可取代,是无论什么样的方法,都不能做得比你更好。这样,你也能有成就感,不是吗?\n\n### 团队活化剂\n\n不仅能够高效、高质量完成自己的工作,还能在工作之余给团队其他人启发,帮助其他人开阔思维、改善思路、提高效率、提升品质。\n\n### 思想不可替代\n\n有广泛的知识积累做依托,你在看待问题的时候会从不同的角度进行分析和换位思考,会比常人看得更加透彻和清晰。所以渐渐地,你将往团队的精神领袖位置靠拢。思想比技术更有价值,因为技术可以复制,而思想不能。\n\n就算别人能够模仿你说话的动作、语气和神情,但看问题刁钻的眼光和解决问题的能力都是别人所不能模仿的。\n\n\n","dir":"/zh/mind/team","path":"/zh/mind/team/define-good-employee","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/mind/team/define-good-employee","meta":{"version":0,"revision":0,"created":1756480738984},"$loki":99},{"slug":"define-good-engineer","description":"","title":"优秀工程师(程序员)的定义","menuTitle":"优秀工程师的定义","position":3502,"category":"思想篇-团队建设","toc":[{"id":"价值衡量","depth":2,"text":"价值衡量"},{"id":"1思想","depth":2,"text":"1.思想"},{"id":"2效率","depth":2,"text":"2.效率"},{"id":"3质量","depth":2,"text":"3.质量"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"很多人对于自己所处的身份并没有十分明确的认识. 技术人最初的身份可能只能算是一个工程师, 或者通俗的叫法为程序员."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"价值衡量"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BB%B7%E5%80%BC%E8%A1%A1%E9%87%8F","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"价值衡量"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如何评判一个工程师是否合格, 并不在于他实现了多少功能, 贡献了多么多的代码."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"就像我们在上学的时候也都在提倡德智体全面发展一样. 一个程序员, 本职的工作不仅仅是写代码. 随着科技的发展, 代码的价值会越来越低, 就像搬砖一样, 代码堆彻得多, 无非跟背得砖更多无差, 这种量的增长, 并不能带来更大的价值产出. 是的, 虽然我也一直不愿意面对这样的事实, 但现实是残酷的, 代码是廉价的."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"那么该如何评判是否是一名优秀的工程师(程序员)呢? 其实需要通过多个维度去衡量."}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"1思想"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E6%80%9D%E6%83%B3","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.思想"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"要让其他人(无论是团队内的领导,同事,下属, 团队外的投资人,客户,用户)都能够轻易理解你的想法."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"当然,很多时候我们并不会有很多机会直接与那么多人直接的面对面去沟通交流, 让对方了解你做的这个事情目的是什么, 意义是什么. 这就需要你通过其他的方法来让他们知道."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"价值评判物: "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"设计"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不懂设计, 就写不出好代码."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"!> P.S. 这里的设计, 指的不是用 PS, AI 之类的工具去做平面, UI 的设计. 而是功能, 代码的设计. 在最初的时候, 可以参考借鉴既有的, 成熟的设计模式进行设计."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一份优秀设计的参考标准:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"规范的文档和图(模型)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"简单, 清晰且全面的流程, 规避无意义的状态扭转"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Less, More\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用更少的描述, 让人更容易理解"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用更少的说明, 表达更多的想法"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"2效率"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E6%95%88%E7%8E%87","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.效率"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这是很多人在拼命追求和改善的, 但在实际的工作中, 我个人的感觉, 效率的确非常重要, 但往往任务不能按时交付并不是某个成员的效率低了."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"价值评判物: "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"单位时间工作产出"}]},{"type":"text","value":" 及 "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"阶段性工作产出汇总"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"很多人会只拿单位时间内的工作产出来衡量效率. 但这样是完全没有道理的, 有的人确实能力很强, 分了任务很快就能完成. 但完成了之后剩下的时间里, 既没有想着这么去优化, 也没有想怎么样自我提升, 就把时间又浪费掉了. 这样的\""},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"高效"}]},{"type":"text","value":"\", 真的高效吗? 就像我们从小听的故事, 龟兔赛跑, 兔子睡了一觉, 就被乌龟超了过去."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"效率高的参考标准:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"同样的一个功能模块开发, 别人需要用 2 个小时完成, 而你只用了 1 个小时, 你的效率高一些. ("},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"效率"}]},{"type":"text","value":"与"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"质量"}]},{"type":"text","value":"往往是需要关联起来衡量的,所以单独拿出来比较并没有任何的参考意义)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"时间管理\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"懂得如何将自己的任务分优先级, 规划得有条理, 并且能按时高质量交付"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"在团队协作中不浪费他人的时间及资源, 甚至能够帮助其他人提高效率"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Less, More\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"更少的时间, 实现更多的功能 (注意, 并非贡献更多的代码)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"3质量"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#3%E8%B4%A8%E9%87%8F","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.质量"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"我个人感觉, 质量是最能评判一个优秀工程师的指标了. 因为"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"设计思想"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"代码"}]},{"type":"text","value":", "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"算法"}]},{"type":"text","value":" 等等, 最终实现的成果, 都需要用质量来评判."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"价值评判物: "},{"type":"element","tag":"strong","props":{},"children":[{"type":"text","value":"?"}]},{"type":"text","value":" (真的是很难说什么东西能够直接体现出工作产出质量的)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考评判物: (按权重降序排列)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"文档(设计)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"测试报告"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"性能分析报告"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"代码(主要衡量: 业务逻辑, 算法)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"质量评判参考标准:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"各类文档完善程度"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"TDD/BDD 测试覆盖率 (95%以上)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"性能分析报告 (Apdex 性能 0.9 分以上, Bug 率 1%以下)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"代码注释率 (10% 以上)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"代码重复率 (10% 以下)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Less, More\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"更少的代码, 实现更多的功能"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"更少的代码块, 更高的执行效率"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"更少的测试用例, 覆盖更多的可能性"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"更少的成本浪费, 更多的价值产出"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n很多人对于自己所处的身份并没有十分明确的认识. 技术人最初的身份可能只能算是一个工程师, 或者通俗的叫法为程序员.\n\n## 价值衡量\n\n如何评判一个工程师是否合格, 并不在于他实现了多少功能, 贡献了多么多的代码.\n\n就像我们在上学的时候也都在提倡德智体全面发展一样. 一个程序员, 本职的工作不仅仅是写代码. 随着科技的发展, 代码的价值会越来越低, 就像搬砖一样, 代码堆彻得多, 无非跟背得砖更多无差, 这种量的增长, 并不能带来更大的价值产出. 是的, 虽然我也一直不愿意面对这样的事实, 但现实是残酷的, 代码是廉价的.\n\n那么该如何评判是否是一名优秀的工程师(程序员)呢? 其实需要通过多个维度去衡量.\n\n## 1.思想\n\n要让其他人(无论是团队内的领导,同事,下属, 团队外的投资人,客户,用户)都能够轻易理解你的想法.\n\n当然,很多时候我们并不会有很多机会直接与那么多人直接的面对面去沟通交流, 让对方了解你做的这个事情目的是什么, 意义是什么. 这就需要你通过其他的方法来让他们知道.\n\n价值评判物: **设计**.\n\n不懂设计, 就写不出好代码.\n\n!> P.S. 这里的设计, 指的不是用 PS, AI 之类的工具去做平面, UI 的设计. 而是功能, 代码的设计. 在最初的时候, 可以参考借鉴既有的, 成熟的设计模式进行设计.\n\n一份优秀设计的参考标准:\n\n- 规范的文档和图(模型)\n- 简单, 清晰且全面的流程, 规避无意义的状态扭转\n- Less, More\n - 用更少的描述, 让人更容易理解\n - 用更少的说明, 表达更多的想法\n\n## 2.效率\n\n这是很多人在拼命追求和改善的, 但在实际的工作中, 我个人的感觉, 效率的确非常重要, 但往往任务不能按时交付并不是某个成员的效率低了.\n\n价值评判物: **单位时间工作产出** 及 **阶段性工作产出汇总**.\n\n很多人会只拿单位时间内的工作产出来衡量效率. 但这样是完全没有道理的, 有的人确实能力很强, 分了任务很快就能完成. 但完成了之后剩下的时间里, 既没有想着这么去优化, 也没有想怎么样自我提升, 就把时间又浪费掉了. 这样的\"**高效**\", 真的高效吗? 就像我们从小听的故事, 龟兔赛跑, 兔子睡了一觉, 就被乌龟超了过去.\n\n效率高的参考标准:\n\n- 同样的一个功能模块开发, 别人需要用 2 个小时完成, 而你只用了 1 个小时, 你的效率高一些. (`效率`与`质量`往往是需要关联起来衡量的,所以单独拿出来比较并没有任何的参考意义)\n- 时间管理\n - 懂得如何将自己的任务分优先级, 规划得有条理, 并且能按时高质量交付\n - 在团队协作中不浪费他人的时间及资源, 甚至能够帮助其他人提高效率\n- Less, More\n - 更少的时间, 实现更多的功能 (注意, 并非贡献更多的代码)\n\n## 3.质量\n\n我个人感觉, 质量是最能评判一个优秀工程师的指标了. 因为`设计思想`, `代码`, `算法` 等等, 最终实现的成果, 都需要用质量来评判.\n\n价值评判物: **?** (真的是很难说什么东西能够直接体现出工作产出质量的)\n\n参考评判物: (按权重降序排列)\n\n1. 文档(设计)\n2. 测试报告\n3. 性能分析报告\n4. 代码(主要衡量: 业务逻辑, 算法)\n\n质量评判参考标准:\n\n- 各类文档完善程度\n- TDD/BDD 测试覆盖率 (95%以上)\n- 性能分析报告 (Apdex 性能 0.9 分以上, Bug 率 1%以下)\n- 代码注释率 (10% 以上)\n- 代码重复率 (10% 以下)\n- Less, More\n - 更少的代码, 实现更多的功能\n - 更少的代码块, 更高的执行效率\n - 更少的测试用例, 覆盖更多的可能性\n - 更少的成本浪费, 更多的价值产出\n\n\n","dir":"/zh/mind/team","path":"/zh/mind/team/define-good-engineer","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/mind/team/define-good-engineer","meta":{"version":0,"revision":0,"created":1756480738993},"$loki":100},{"slug":"hire","description":"","title":"招聘原则","position":3503,"category":"思想篇-团队建设","toc":[{"id":"非相关专业不招","depth":2,"text":"非相关专业不招"},{"id":"心态浮躁不招","depth":2,"text":"心态浮躁不招"},{"id":"眼界狭窄不招","depth":2,"text":"眼界狭窄不招"},{"id":"固步自封不留","depth":2,"text":"固步自封不留"},{"id":"推诿敷衍不留","depth":2,"text":"推诿敷衍不留"},{"id":"人格缺陷不留","depth":2,"text":"人格缺陷不留"},{"id":"1悲观","depth":3,"text":"1.悲观"},{"id":"2猜疑","depth":3,"text":"2.猜疑"},{"id":"3羞怯","depth":3,"text":"3.羞怯"},{"id":"注意事项","depth":2,"text":"注意事项"},{"id":"别让一颗老鼠屎-坏了一锅粥","depth":3,"text":"别让一颗老鼠屎, 坏了一锅粥"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"有极为优秀的特殊情况个例允许忽视本原则部分条目,但绝大多数情况下具有遵守意义。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"三不招,三不留。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"非相关专业不招"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%9D%9E%E7%9B%B8%E5%85%B3%E4%B8%93%E4%B8%9A%E4%B8%8D%E6%8B%9B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"非相关专业不招"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如金融做前端开发,外语做设计,旅游做后台,体育做产品。技术相关岗位要求有深厚的基础功底,不能浮于表面。会调调 API,做做上层应用,很难有更深的突破。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一类特殊情况为,从小兴趣所在,虽然非相关专业,但有多年自学基础。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"心态浮躁不招"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%BF%83%E6%80%81%E6%B5%AE%E8%BA%81%E4%B8%8D%E6%8B%9B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"心态浮躁不招"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"初入职场,最大的忌讳就是浮躁。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"简历经历工作不满一年,项目经验丰富或担任多个项目负责人、团队负责人的,没有面试必要;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"工作年限不满三年,能列出一大堆技术、框架,各项技术都是熟练掌握、精通的,没有面试必要;"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果项目属实的话,应当给予线上在运行网址、截图演示、甚至 Github 等源码链接。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"面试中从细节观察,如时间概念,迟到、赶时间的不优先考虑。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"每个人都有成为大牛的潜力,但需要经受时间的考验,知识固然重要,但还有更重要的是思想、和经验。经验,通过时间慢慢的累积,提炼提升思想境界。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"眼界狭窄不招"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%9C%BC%E7%95%8C%E7%8B%AD%E7%AA%84%E4%B8%8D%E6%8B%9B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"眼界狭窄不招"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"眼界有多开阔,世界就有多宽广。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"工作不单纯只有工作。人无远虑,必有近忧。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"对自己未来的发展没有明确的规划,看不到职业未来的方向,没有录用必要;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"对自己所做的没有进一步优化的方案,看不到事业升华的可能,没有用用必要;"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"智者的共同特点是:一方面,因为看清了物质快乐的有限,最少的物质就能使他们满足;另一方面,因为渴望无限的精神快乐,再多的物质也不能使他们满足。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"固步自封不留"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%9B%BA%E6%AD%A5%E8%87%AA%E5%B0%81%E4%B8%8D%E7%95%99","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"固步自封不留"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"闭门造车,出门合辙,在当今的社会已经不再适用。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"长期没有进步,在这个日新月异的时代里,等同于退步。毕竟这个行业早就没有什么还可以一招鲜吃遍天的技能了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"要善于学习,善于分享,促进团队共同进步,保持执着与激情。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"推诿敷衍不留"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%8E%A8%E8%AF%BF%E6%95%B7%E8%A1%8D%E4%B8%8D%E7%95%99","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"推诿敷衍不留"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"尤其在创业公司中,事情多,涉及面广。一个人能顶多个人,是最理想的状态。所以要敢于担当,敢于试错。只关注某一块,就会产生瓶颈,自身难突破,工作难创造更大价值。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"踢皮球是最忌讳的,解决问题的能力很重要。要解决或帮助公司解决公司中潜在的问题,而不是遇到问题只能指望别人。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"人格缺陷不留"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%BA%BA%E6%A0%BC%E7%BC%BA%E9%99%B7%E4%B8%8D%E7%95%99","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"人格缺陷不留"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1悲观"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E6%82%B2%E8%A7%82","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.悲观"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"墨菲定律,越担心发生的事情就越容易发生。情绪容易传递,团队里尽可能都是乐观正能量的氛围。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"失败是成功之母,只有越挫越勇,才能有所突破。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2猜疑"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E7%8C%9C%E7%96%91","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.猜疑"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"相互猜忌会引起勾心斗角。团队间应当坦诚相待,奔着共同的目标进步。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3羞怯"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#3%E7%BE%9E%E6%80%AF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.羞怯"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"缺乏自信的表现,过于胆小被动,过于谨小慎微,或者过于关注自己,都不利于团队的良性发展。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"注意事项"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注意事项"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"别让一颗老鼠屎-坏了一锅粥"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%88%AB%E8%AE%A9%E4%B8%80%E9%A2%97%E8%80%81%E9%BC%A0%E5%B1%8E-%E5%9D%8F%E4%BA%86%E4%B8%80%E9%94%85%E7%B2%A5","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"别让一颗老鼠屎, 坏了一锅粥"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"宁愿能力低一些, 但一直都在持续不断的输出价值, 不能好高骛远, 成为团队里的搅屎棍. 脚踏实地, 踏踏实实做实事是每个员工应尽的义务和责任."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"团队应该向着一个共同的目标去努力, 每个人都应该对未来有着明确的方向. 否则, 上班就像是混日子. 大家都拿着差不了太多的薪水, 凭什么有的人可以毫不努力, 却要享受着跟别人一样的工作待遇? 虽然可能只是这么一两个人的资源浪费, 但这却是对团队其他成员极其不负责任. 只要团队成员中有那么一两个人感到迷茫, 开始无所事事, 这种负能量就会很快渗透到整个团队中."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"团队发展应当有一个良性的趋势."}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n有极为优秀的特殊情况个例允许忽视本原则部分条目,但绝大多数情况下具有遵守意义。\n\n> 三不招,三不留。\n\n## 非相关专业不招\n\n如金融做前端开发,外语做设计,旅游做后台,体育做产品。技术相关岗位要求有深厚的基础功底,不能浮于表面。会调调 API,做做上层应用,很难有更深的突破。\n\n一类特殊情况为,从小兴趣所在,虽然非相关专业,但有多年自学基础。\n\n## 心态浮躁不招\n\n初入职场,最大的忌讳就是浮躁。\n\n1. 简历经历工作不满一年,项目经验丰富或担任多个项目负责人、团队负责人的,没有面试必要;\n2. 工作年限不满三年,能列出一大堆技术、框架,各项技术都是熟练掌握、精通的,没有面试必要;\n\n如果项目属实的话,应当给予线上在运行网址、截图演示、甚至 Github 等源码链接。\n\n面试中从细节观察,如时间概念,迟到、赶时间的不优先考虑。\n\n每个人都有成为大牛的潜力,但需要经受时间的考验,知识固然重要,但还有更重要的是思想、和经验。经验,通过时间慢慢的累积,提炼提升思想境界。\n\n## 眼界狭窄不招\n\n眼界有多开阔,世界就有多宽广。\n\n工作不单纯只有工作。人无远虑,必有近忧。\n\n1. 对自己未来的发展没有明确的规划,看不到职业未来的方向,没有录用必要;\n2. 对自己所做的没有进一步优化的方案,看不到事业升华的可能,没有用用必要;\n\n智者的共同特点是:一方面,因为看清了物质快乐的有限,最少的物质就能使他们满足;另一方面,因为渴望无限的精神快乐,再多的物质也不能使他们满足。\n\n## 固步自封不留\n\n闭门造车,出门合辙,在当今的社会已经不再适用。\n\n长期没有进步,在这个日新月异的时代里,等同于退步。毕竟这个行业早就没有什么还可以一招鲜吃遍天的技能了。\n\n要善于学习,善于分享,促进团队共同进步,保持执着与激情。\n\n## 推诿敷衍不留\n\n尤其在创业公司中,事情多,涉及面广。一个人能顶多个人,是最理想的状态。所以要敢于担当,敢于试错。只关注某一块,就会产生瓶颈,自身难突破,工作难创造更大价值。\n\n踢皮球是最忌讳的,解决问题的能力很重要。要解决或帮助公司解决公司中潜在的问题,而不是遇到问题只能指望别人。\n\n## 人格缺陷不留\n\n### 1.悲观\n\n墨菲定律,越担心发生的事情就越容易发生。情绪容易传递,团队里尽可能都是乐观正能量的氛围。\n\n失败是成功之母,只有越挫越勇,才能有所突破。\n\n### 2.猜疑\n\n相互猜忌会引起勾心斗角。团队间应当坦诚相待,奔着共同的目标进步。\n\n### 3.羞怯\n\n缺乏自信的表现,过于胆小被动,过于谨小慎微,或者过于关注自己,都不利于团队的良性发展。\n\n## 注意事项\n\n### 别让一颗老鼠屎, 坏了一锅粥\n\n宁愿能力低一些, 但一直都在持续不断的输出价值, 不能好高骛远, 成为团队里的搅屎棍. 脚踏实地, 踏踏实实做实事是每个员工应尽的义务和责任.\n\n团队应该向着一个共同的目标去努力, 每个人都应该对未来有着明确的方向. 否则, 上班就像是混日子. 大家都拿着差不了太多的薪水, 凭什么有的人可以毫不努力, 却要享受着跟别人一样的工作待遇? 虽然可能只是这么一两个人的资源浪费, 但这却是对团队其他成员极其不负责任. 只要团队成员中有那么一两个人感到迷茫, 开始无所事事, 这种负能量就会很快渗透到整个团队中.\n\n团队发展应当有一个良性的趋势.\n\n\n","dir":"/zh/mind/team","path":"/zh/mind/team/hire","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/mind/team/hire","meta":{"version":0,"revision":0,"created":1756480738999},"$loki":101},{"slug":"meeting","description":"","title":"会议原则","position":3504,"category":"思想篇-团队建设","toc":[{"id":"要求","depth":2,"text":"要求"},{"id":"1每周会议时间总计不超过-3-小时","depth":3,"text":"1.每周会议时间总计不超过 3 小时"},{"id":"2每次会议时间控制在-30-分钟以内最多不超过-45-分钟","depth":3,"text":"2.每次会议时间控制在 30 分钟以内,最多不超过 45 分钟"},{"id":"3其他与会细则","depth":3,"text":"3.其他与会细则"},{"id":"建议","depth":2,"text":"建议"},{"id":"避免无意义会议","depth":3,"text":"避免无意义会议"},{"id":"设置-no-meeting-day无会日","depth":3,"text":"设置 No Meeting Day(无会日)"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"要求"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%A6%81%E6%B1%82","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"要求"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1每周会议时间总计不超过-3-小时"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1%E6%AF%8F%E5%91%A8%E4%BC%9A%E8%AE%AE%E6%97%B6%E9%97%B4%E6%80%BB%E8%AE%A1%E4%B8%8D%E8%B6%85%E8%BF%87-3-%E5%B0%8F%E6%97%B6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.每周会议时间总计不超过 3 小时"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"少说废话多做事,3 个小时的会议精神绝对足够一周都充实工作了。大量的时间都用来开会了,那什么时间来工作呢?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2每次会议时间控制在-30-分钟以内最多不超过-45-分钟"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2%E6%AF%8F%E6%AC%A1%E4%BC%9A%E8%AE%AE%E6%97%B6%E9%97%B4%E6%8E%A7%E5%88%B6%E5%9C%A8-30-%E5%88%86%E9%92%9F%E4%BB%A5%E5%86%85%E6%9C%80%E5%A4%9A%E4%B8%8D%E8%B6%85%E8%BF%87-45-%E5%88%86%E9%92%9F","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.每次会议时间控制在 30 分钟以内,最多不超过 45 分钟"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"会前做好会议时间预估,可以在会议室放置闹钟定时器,严格执行。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3其他与会细则"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#3%E5%85%B6%E4%BB%96%E4%B8%8E%E4%BC%9A%E7%BB%86%E5%88%99","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3.其他与会细则"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"禁止在会议过程中预习。在会议之前完成会议的准备工作,包括会议主题、主要讨论的问题罗列、问题思路整理等"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"精简会议主题,只讨论核心问题和涉及面较广的问题;其他问题可以私下组织小范围会议或讨论,输出文档等形式通知"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"精简会议人员,无关人员不参与,若相关人员可以在会前讨论和会后通知"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"禁止在会议过程中接听电话,手机禁音"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"最多只允许使用两台电脑,一台用于做会议纪要,一台用于投影展示"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"禁止交头接耳开小会,会议只关注大家都关注的问题,私下讨论安排会后其他时间"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"建议"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%BB%BA%E8%AE%AE","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"建议"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"避免无意义会议"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E9%81%BF%E5%85%8D%E6%97%A0%E6%84%8F%E4%B9%89%E4%BC%9A%E8%AE%AE","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"避免无意义会议"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如大多数小团队的周例会,是没有什么实质性内容的,这样的会议应尽可能避免,可以改为分享、培训。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"设置-no-meeting-day无会日"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%AE%BE%E7%BD%AE-no-meeting-day%E6%97%A0%E4%BC%9A%E6%97%A5","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设置 No Meeting Day(无会日)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"杭州设置周三为无会日(指每周三不召开市委常委会议、市政府常务会议、市长办公会议,不安排以市委、市政府或市委办公厅、市政府办公厅及部门名义举行的全市性会议或活动,市委常委、副市长不召开研究部署工作的各类专题会议)。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"个人建议设置为周四,当然周三也是可以的。如无重要程度达到紧急的事情,不召开会议。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这样做的好处:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"培养条理和提前规划习惯"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"培养独立思考能力,不能总是遇事就开会,芝麻大的事情都要开个会"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"提供一整天的时间可以专注于未完成的工作,提高工作效率"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n## 要求\n\n### 1.每周会议时间总计不超过 3 小时\n\n少说废话多做事,3 个小时的会议精神绝对足够一周都充实工作了。大量的时间都用来开会了,那什么时间来工作呢?\n\n### 2.每次会议时间控制在 30 分钟以内,最多不超过 45 分钟\n\n会前做好会议时间预估,可以在会议室放置闹钟定时器,严格执行。\n\n### 3.其他与会细则\n\n- 禁止在会议过程中预习。在会议之前完成会议的准备工作,包括会议主题、主要讨论的问题罗列、问题思路整理等\n- 精简会议主题,只讨论核心问题和涉及面较广的问题;其他问题可以私下组织小范围会议或讨论,输出文档等形式通知\n- 精简会议人员,无关人员不参与,若相关人员可以在会前讨论和会后通知\n- 禁止在会议过程中接听电话,手机禁音\n- 最多只允许使用两台电脑,一台用于做会议纪要,一台用于投影展示\n- 禁止交头接耳开小会,会议只关注大家都关注的问题,私下讨论安排会后其他时间\n\n## 建议\n\n### 避免无意义会议\n\n如大多数小团队的周例会,是没有什么实质性内容的,这样的会议应尽可能避免,可以改为分享、培训。\n\n### 设置 No Meeting Day(无会日)\n\n杭州设置周三为无会日(指每周三不召开市委常委会议、市政府常务会议、市长办公会议,不安排以市委、市政府或市委办公厅、市政府办公厅及部门名义举行的全市性会议或活动,市委常委、副市长不召开研究部署工作的各类专题会议)。\n\n个人建议设置为周四,当然周三也是可以的。如无重要程度达到紧急的事情,不召开会议。\n\n这样做的好处:\n\n- 培养条理和提前规划习惯\n- 培养独立思考能力,不能总是遇事就开会,芝麻大的事情都要开个会\n- 提供一整天的时间可以专注于未完成的工作,提高工作效率\n\n\n","dir":"/zh/mind/team","path":"/zh/mind/team/meeting","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.823Z","to":"/mind/team/meeting","meta":{"version":0,"revision":0,"created":1756480739001},"$loki":102},{"slug":"buckets","description":"","title":"木桶效应","position":3304,"category":"思想篇-思维模式","toc":[{"id":"克服自身缺陷","depth":2,"text":"克服自身缺陷"},{"id":"洞察外部缺陷","depth":2,"text":"洞察外部缺陷"},{"id":"个人成长","depth":2,"text":"个人成长"}],"body":{"type":"root","children":[{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一只水桶能装多少水取决于它最短的那块木板。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"瓶颈来源分为两种:自身缺陷、外部缺陷。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"克服自身缺陷"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%85%8B%E6%9C%8D%E8%87%AA%E8%BA%AB%E7%BC%BA%E9%99%B7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"克服自身缺陷"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"阻碍一个人发展的主要因素,往往并不在于能力,而是缺陷。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"能力强,工作效率高,工作产出质量高,确实是一种优势。但如果自身的缺点过于明显,则会成为拖后腿的主要原因。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"不能只将关注点放在职业技能的提升上,还需要关注自己的性格、习惯、沟通协作、目标方向等方面,不足之处有则改之,无则加勉。就像学校里提倡的全面发展一样,在工作能力之外的方方面面,避免“偏科”现象产生。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"洞察外部缺陷"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%B4%9E%E5%AF%9F%E5%A4%96%E9%83%A8%E7%BC%BA%E9%99%B7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"洞察外部缺陷"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"No matter how great he is ,he can't change the world on his own.\n无论是多伟大的天才,都无法仅凭一己之力改变世界。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"对于大多数产品和项目,都无法仅凭一己之力扭转未来,需要的是团队的配合。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"团队对于个人的影响是很大的,短板对于团队的影响也是很大的。就好比把一勺酒倒进一桶污水中,你得到的是一桶污水;把一勺污水导入一桶酒中,你得到的还是一桶污水。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"即便意志力再坚强,能够出淤泥而不染,也还是会被扯后腿。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"hr","props":{},"children":[]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"一个人的价值,在于他贡献了什么,而不在于他能得到什么。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"及时发现,及时修正。无论是自身问题放大,还是外部问题扩散,一旦产生恶性循环,就很难补救了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"穷则独善其身,达则兼济天下。如果不能够修复那块最短的木板,要么将其换掉,要么全身而退。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"个人成长"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E4%B8%AA%E4%BA%BA%E6%88%90%E9%95%BF","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"个人成长"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"阻碍个人成长的, 往往不是优势瓶颈, 而是短板. 即便在一个领域内非常精通, 研究非常深入. 如果不能灵活的学以致用, 也是没什么用处的."}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"正视自己的缺点, 不断克服短板, 提高综合竞争能力, 才能更好地在职场中立足, 在社会中立足, 有所建树."}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n> 一只水桶能装多少水取决于它最短的那块木板。\n\n瓶颈来源分为两种:自身缺陷、外部缺陷。\n\n## 克服自身缺陷\n\n阻碍一个人发展的主要因素,往往并不在于能力,而是缺陷。\n\n能力强,工作效率高,工作产出质量高,确实是一种优势。但如果自身的缺点过于明显,则会成为拖后腿的主要原因。\n\n不能只将关注点放在职业技能的提升上,还需要关注自己的性格、习惯、沟通协作、目标方向等方面,不足之处有则改之,无则加勉。就像学校里提倡的全面发展一样,在工作能力之外的方方面面,避免“偏科”现象产生。\n\n## 洞察外部缺陷\n\n> No matter how great he is ,he can't change the world on his own.\n> 无论是多伟大的天才,都无法仅凭一己之力改变世界。\n\n对于大多数产品和项目,都无法仅凭一己之力扭转未来,需要的是团队的配合。\n\n团队对于个人的影响是很大的,短板对于团队的影响也是很大的。就好比把一勺酒倒进一桶污水中,你得到的是一桶污水;把一勺污水导入一桶酒中,你得到的还是一桶污水。\n\n即便意志力再坚强,能够出淤泥而不染,也还是会被扯后腿。\n\n---\n\n> 一个人的价值,在于他贡献了什么,而不在于他能得到什么。\n\n及时发现,及时修正。无论是自身问题放大,还是外部问题扩散,一旦产生恶性循环,就很难补救了。\n\n穷则独善其身,达则兼济天下。如果不能够修复那块最短的木板,要么将其换掉,要么全身而退。\n\n## 个人成长\n\n阻碍个人成长的, 往往不是优势瓶颈, 而是短板. 即便在一个领域内非常精通, 研究非常深入. 如果不能灵活的学以致用, 也是没什么用处的.\n\n正视自己的缺点, 不断克服短板, 提高综合竞争能力, 才能更好地在职场中立足, 在社会中立足, 有所建树.\n\n\n","dir":"/zh/mind/thinking","path":"/zh/mind/thinking/buckets","extension":".md","createdAt":"2025-08-29T15:18:11.823Z","updatedAt":"2025-08-29T15:18:11.823Z","to":"/mind/thinking/buckets","meta":{"version":0,"revision":0,"created":1756480739003},"$loki":103},{"slug":"ocd","description":"","title":"克服强迫症","position":3303,"category":"思想篇-思维模式","toc":[{"id":"强迫症的表现","depth":2,"text":"强迫症的表现"},{"id":"自我治疗","depth":2,"text":"自我治疗"},{"id":"理论无为","depth":3,"text":"理论——“无为”"},{"id":"实践","depth":3,"text":"实践"},{"id":"测试","depth":3,"text":"测试"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"我曾经是有着比较严重的强迫症的。慢慢地发现,强迫症 ≠ 完美主义,它给我带来的,更多不是便利,而是麻烦。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"强迫症的表现"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%BC%BA%E8%BF%AB%E7%97%87%E7%9A%84%E8%A1%A8%E7%8E%B0","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"强迫症的表现"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"仅列出一些在我身上出现过的症状:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"手机上的未读通知一定要全部消灭掉"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"经常出门之后怀疑门没锁好"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"调音量一定要调到自己顺眼的数字"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"删除文件后,一定要清空回收站"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"App 图标一定要按照特定规律排列"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"挤牙膏一定得从根部开始"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"总结来说,就是经常刻意地去做某些事。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"自我治疗"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%87%AA%E6%88%91%E6%B2%BB%E7%96%97","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"自我治疗"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"追求完美是好事,过分追求就是吹毛求疵,效率前期提高后期必然会下降。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"理论无为"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%90%86%E8%AE%BA%E6%97%A0%E4%B8%BA","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"理论——“无为”"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"无为不是无所作为,不是无所事事,而是不做无效的工作。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"道家的第一原则是“道法自然”。顺应自然,不要过于刻意,“去甚,去奢,去泰”。人要以自然的态度对待自然,对待他人,对待自我。所以会有“自然——释然——当然——怡然”。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"实践"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%9E%E8%B7%B5","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"实践"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"从手机开始,每当遇到垃圾短信,广告推送,克制自己不去点。大约用了一周时间,再看到手机上未读的红点,我就已经没有什么特别的感觉了。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"ocd","src":"https://cloud.githubusercontent.com/assets/1890238/22811899/a321f4ce-ef7c-11e6-93a2-f3a169fd6d37.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"同时进行的还有挤牙膏,很随性的,有时候从中间,有时候从头部,有时候从根部,按到哪就挤哪。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"测试"},"children":[{"type":"element","tag":"a","props":{"href":"#%E6%B5%8B%E8%AF%95","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"测试"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"ocd","src":"https://cloud.githubusercontent.com/assets/1890238/22812219/73b0cf1a-ef7e-11e6-9af7-5b3a0b2b048d.jpg"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"a","props":{"href":"http://www.xinli001.com/ceshi/483","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"http://www.xinli001.com/ceshi/483"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"经过一段时间的自我调节,测试结果达到 A,无强迫倾向。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n我曾经是有着比较严重的强迫症的。慢慢地发现,强迫症 ≠ 完美主义,它给我带来的,更多不是便利,而是麻烦。\n\n## 强迫症的表现\n\n仅列出一些在我身上出现过的症状:\n\n- 手机上的未读通知一定要全部消灭掉\n- 经常出门之后怀疑门没锁好\n- 调音量一定要调到自己顺眼的数字\n- 删除文件后,一定要清空回收站\n- App 图标一定要按照特定规律排列\n- 挤牙膏一定得从根部开始\n\n总结来说,就是经常刻意地去做某些事。\n\n## 自我治疗\n\n追求完美是好事,过分追求就是吹毛求疵,效率前期提高后期必然会下降。\n\n### 理论——“无为”\n\n无为不是无所作为,不是无所事事,而是不做无效的工作。\n\n道家的第一原则是“道法自然”。顺应自然,不要过于刻意,“去甚,去奢,去泰”。人要以自然的态度对待自然,对待他人,对待自我。所以会有“自然——释然——当然——怡然”。\n\n### 实践\n\n从手机开始,每当遇到垃圾短信,广告推送,克制自己不去点。大约用了一周时间,再看到手机上未读的红点,我就已经没有什么特别的感觉了。\n\n![ocd](https://cloud.githubusercontent.com/assets/1890238/22811899/a321f4ce-ef7c-11e6-93a2-f3a169fd6d37.png)\n\n同时进行的还有挤牙膏,很随性的,有时候从中间,有时候从头部,有时候从根部,按到哪就挤哪。\n\n### 测试\n\n![ocd](https://cloud.githubusercontent.com/assets/1890238/22812219/73b0cf1a-ef7e-11e6-9af7-5b3a0b2b048d.jpg)\n\n\n\n经过一段时间的自我调节,测试结果达到 A,无强迫倾向。\n\n\n","dir":"/zh/mind/thinking","path":"/zh/mind/thinking/ocd","extension":".md","createdAt":"2025-08-29T15:18:11.823Z","updatedAt":"2025-08-29T15:18:11.823Z","to":"/mind/thinking/ocd","meta":{"version":0,"revision":0,"created":1756480739006},"$loki":104},{"slug":"dialectical","description":"","title":"辩证思维","position":3302,"category":"思想篇-思维模式","toc":[],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"要学会换位思考、辩证思考,保持客观、冷静,才能游刃有余。凡事皆有两面,切忌钻牛角尖,不可过于极端。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举几个常见的梗:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Atom 只是编辑器,不是 IDE。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Sublime Text 只是编辑器,不是 IDE。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"jQuery 只是一个库,不是框架。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"究竟咬文嚼字玩文字游戏有多大意义?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"即便是一款代码编辑器,有能力集成各种插件,与 IDE 真的有那么多明显的界限吗?\n一个库一个框架不都是一个引入的事情吗?"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"都只是工具而已。何必钻那么多牛角尖,搞技术就沉下心搞技术。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"PHP 是这个世界上最好的语言。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Javascript 是这个世界上最好的语言。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"xxx 是这个世界上最好的语言。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"每种语言都有自身的优势和不足,没有什么语言能够适用于任何场景。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"编程不是靠语言就能决定性能的,什么 Ruby on Rails 性能低,什么 Node.js 性能高,只是片面之词,每个人写"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Hello World!"}]},{"type":"text","value":"都能有很多不同的版本,更何况是复杂的系统应用呢?自然有算法效率的高下,逻辑的繁简等各种因素去决定性能和稳定性。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"语言(技术)只是一种工具,帮助我们将一个个想法创意转译成产品。没有特别烂的语言,只有把语言用得特别烂的人。也没有特别完美的语言,但也有将语言运用到淋漓尽致的人。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"天之道,损有余而补不足。人之道则不然,损不足以奉有余。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"马太效应:穷的人越来越穷,富的人越来越富。其本质区别,来源于内心。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n要学会换位思考、辩证思考,保持客观、冷静,才能游刃有余。凡事皆有两面,切忌钻牛角尖,不可过于极端。\n\n举几个常见的梗:\n\n> Atom 只是编辑器,不是 IDE。\n\n> Sublime Text 只是编辑器,不是 IDE。\n\n> jQuery 只是一个库,不是框架。\n\n究竟咬文嚼字玩文字游戏有多大意义?\n\n即便是一款代码编辑器,有能力集成各种插件,与 IDE 真的有那么多明显的界限吗?\n一个库一个框架不都是一个引入的事情吗?\n\n都只是工具而已。何必钻那么多牛角尖,搞技术就沉下心搞技术。\n\n> PHP 是这个世界上最好的语言。\n\n> Javascript 是这个世界上最好的语言。\n\n> xxx 是这个世界上最好的语言。\n\n每种语言都有自身的优势和不足,没有什么语言能够适用于任何场景。\n\n编程不是靠语言就能决定性能的,什么 Ruby on Rails 性能低,什么 Node.js 性能高,只是片面之词,每个人写`Hello World!`都能有很多不同的版本,更何况是复杂的系统应用呢?自然有算法效率的高下,逻辑的繁简等各种因素去决定性能和稳定性。\n\n语言(技术)只是一种工具,帮助我们将一个个想法创意转译成产品。没有特别烂的语言,只有把语言用得特别烂的人。也没有特别完美的语言,但也有将语言运用到淋漓尽致的人。\n\n> 天之道,损有余而补不足。人之道则不然,损不足以奉有余。\n\n马太效应:穷的人越来越穷,富的人越来越富。其本质区别,来源于内心。\n\n\n","dir":"/zh/mind/thinking","path":"/zh/mind/thinking/dialectical","extension":".md","createdAt":"2025-08-29T15:18:11.823Z","updatedAt":"2025-08-29T15:18:11.823Z","to":"/mind/thinking/dialectical","meta":{"version":0,"revision":0,"created":1756480739007},"$loki":105},{"slug":"shit","description":"","title":"忽略细节,就是屎","position":3301,"category":"思想篇-思维模式","toc":[{"id":"开发忽略细节代码一坨屎设计忽略细节产品一坨屎","depth":2,"text":"开发忽略细节,代码一坨屎;设计忽略细节,产品一坨屎。"},{"id":"0-消息表说明","depth":3,"text":"0. 消息表说明"},{"id":"1-参数带入时间戳","depth":3,"text":"1. 参数带入时间戳"},{"id":"2-阻止请求","depth":3,"text":"2. 阻止请求"},{"id":"3-时间戳的有效性","depth":3,"text":"3. 时间戳的有效性"},{"id":"看似简单其实不易","depth":2,"text":"看似简单,其实不易。"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比如登录表单,输入密码后按回车键一点反应都没有,必须点击登录按钮才能登录。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"开发忽略细节代码一坨屎设计忽略细节产品一坨屎"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%BC%80%E5%8F%91%E5%BF%BD%E7%95%A5%E7%BB%86%E8%8A%82%E4%BB%A3%E7%A0%81%E4%B8%80%E5%9D%A8%E5%B1%8E%E8%AE%BE%E8%AE%A1%E5%BF%BD%E7%95%A5%E7%BB%86%E8%8A%82%E4%BA%A7%E5%93%81%E4%B8%80%E5%9D%A8%E5%B1%8E","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"开发忽略细节,代码一坨屎;设计忽略细节,产品一坨屎。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举个稍微复杂点的例子,"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"消息列表"}]},{"type":"text","value":"这个功能模块。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"假设有两个需求:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"允许用户下拉操作刷新(手动)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"每隔 15s 后台请求刷新(自动)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果处理不当,会出现漏消息、消息重复等情况。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所有开发环节出现的屎,都能追溯到设计环节。从设计环节就需要考虑好如何规避这些问题的发生。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"实践:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"0-消息表说明"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#0-%E6%B6%88%E6%81%AF%E8%A1%A8%E8%AF%B4%E6%98%8E","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"0. 消息表说明"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"在数据库设计章节提到了避免使用自增 id。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"所以就不能将消息 id 作为参数传递去查询,而采用时间戳的方式。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1-参数带入时间戳"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#1-%E5%8F%82%E6%95%B0%E5%B8%A6%E5%85%A5%E6%97%B6%E9%97%B4%E6%88%B3","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1. 参数带入时间戳"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"时间戳的选取:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"本次请求发起的时间 -> 下次请求可能会重复本次请求处理期间的消息"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"本次请求结束的时间 -> 下次请求可能会丢失本次请求处理期间的消息"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"最后一条消息记录的时间 -> 完美衔接,最佳选择"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2-阻止请求"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#2-%E9%98%BB%E6%AD%A2%E8%AF%B7%E6%B1%82","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2. 阻止请求"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如用户狂点导致的频繁刷新,或者用户手动刷新和自动刷新同时进行,都会导致获得到重复消息数据。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"先进先出。前一条请求处理完成前,阻止下一条请求。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"3-时间戳的有效性"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#3-%E6%97%B6%E9%97%B4%E6%88%B3%E7%9A%84%E6%9C%89%E6%95%88%E6%80%A7","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"3. 时间戳的有效性"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"如果返回的结果有数据,时间戳应当被更新替换掉"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"如果返回的结果没有数据,下次请求依然使用该时间戳"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"看似简单其实不易"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%9C%8B%E4%BC%BC%E7%AE%80%E5%8D%95%E5%85%B6%E5%AE%9E%E4%B8%8D%E6%98%93","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"看似简单,其实不易。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n比如登录表单,输入密码后按回车键一点反应都没有,必须点击登录按钮才能登录。\n\n## 开发忽略细节,代码一坨屎;设计忽略细节,产品一坨屎。\n\n举个稍微复杂点的例子,`消息列表`这个功能模块。\n\n假设有两个需求:\n\n1. 允许用户下拉操作刷新(手动)\n2. 每隔 15s 后台请求刷新(自动)\n\n如果处理不当,会出现漏消息、消息重复等情况。\n\n所有开发环节出现的屎,都能追溯到设计环节。从设计环节就需要考虑好如何规避这些问题的发生。\n\n实践:\n\n### 0. 消息表说明\n\n在数据库设计章节提到了避免使用自增 id。\n\n所以就不能将消息 id 作为参数传递去查询,而采用时间戳的方式。\n\n### 1. 参数带入时间戳\n\n时间戳的选取:\n\n1. 本次请求发起的时间 -> 下次请求可能会重复本次请求处理期间的消息\n2. 本次请求结束的时间 -> 下次请求可能会丢失本次请求处理期间的消息\n3. 最后一条消息记录的时间 -> 完美衔接,最佳选择\n\n### 2. 阻止请求\n\n如用户狂点导致的频繁刷新,或者用户手动刷新和自动刷新同时进行,都会导致获得到重复消息数据。\n\n先进先出。前一条请求处理完成前,阻止下一条请求。\n\n### 3. 时间戳的有效性\n\n1. 如果返回的结果有数据,时间戳应当被更新替换掉\n2. 如果返回的结果没有数据,下次请求依然使用该时间戳\n\n## 看似简单,其实不易。\n\n\n","dir":"/zh/mind/thinking","path":"/zh/mind/thinking/shit","extension":".md","createdAt":"2025-08-29T15:18:11.823Z","updatedAt":"2025-08-29T15:18:11.823Z","to":"/mind/thinking/shit","meta":{"version":0,"revision":0,"created":1756480739010},"$loki":106},{"slug":"bdd","description":"","title":"行为驱动开发实践","position":2114,"category":"经验篇-项目","toc":[{"id":"配置数据库","depth":2,"text":"配置数据库"},{"id":"初始化项目","depth":2,"text":"初始化项目"},{"id":"安装-eslint-和-babel-环境","depth":3,"text":"安装 ESLint 和 Babel 环境"},{"id":"配置-avanyc","depth":3,"text":"配置 ava、nyc"},{"id":"用户登陆接口实现","depth":2,"text":"用户登陆接口实现"},{"id":"设计","depth":3,"text":"设计"},{"id":"通用错误","depth":3,"text":"通用错误"},{"id":"编码","depth":3,"text":"编码"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"本实践项目源码: "},{"type":"element","tag":"a","props":{"href":"https://coding.net/u/willin/p/bdd-practice/git","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://coding.net/u/willin/p/bdd-practice/git"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"配置数据库"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置数据库"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"开启 MySQL 和 Redis 服务。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"创建数据库 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"bdd"}]},{"type":"text","value":"。根据"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"数据库设计"}]},{"type":"text","value":"章节创建"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"user"}]},{"type":"text","value":"、"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"usermeta"}]},{"type":"text","value":"两张表。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"初始化项目"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"初始化项目"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"git"}]},{"type":"text","value":" init\n"},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"npm"}]},{"type":"text","value":" init\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"安装-eslint-和-babel-环境"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%AE%89%E8%A3%85-eslint-%E5%92%8C-babel-%E7%8E%AF%E5%A2%83","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"安装 ESLint 和 Babel 环境"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-bash"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"cnpm i --save-dev eslint babel-eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-react\ncnpm i --save babel-register babel-runtime babel-plugin-transform-runtime babel-preset-es2015 babel-preset-es2015-loose babel-preset-stage-1\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Tree:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"├── .babelrc\n├── .eslintignore\n├── .eslintrc.json\n├── .git\n├── .gitignore\n├── README.md\n├── node_modules\n└── package.json\n\n2 directories, 6 files\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考: "},{"type":"element","tag":"a","props":{"href":"https://github.com/w2fs/best-practice","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/w2fs/best-practice"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"创建配置文件。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"配置-avanyc"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%85%8D%E7%BD%AE-avanyc","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"配置 ava、nyc"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"npm install ava nyc --save-dev\n./node_modules/.bin/ava --init\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Package.json 修改:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"scripts\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"test\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"NODE_ENV=test ./node_modules/.bin/nyc --reporter=text --reporter=html ./node_modules/.bin/ava -v --fail-fast\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"nyc\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"lines\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"95"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"functions\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"90"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"branches\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"90"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"check-coverage\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"report-dir\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"./.nyc_output\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"exclude\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"node_modules\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"test\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"test{,-*}.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"**/*.test.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"**/__tests__/**\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"ava\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"files\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"test/*.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"test/**/*.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"!**/_*/*.js\""}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"!**/_*.js\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"require\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"babel-register\""}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","string-property","property"]},"children":[{"type":"text","value":"\"babel\""}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"\"inherit\""}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"参考项目 init 代码: "},{"type":"element","tag":"a","props":{"href":"https://coding.net/u/willin/p/bdd-practice/git/tree/5c42541a2985b54619d09372ef05fc999b108f9a","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://coding.net/u/willin/p/bdd-practice/git/tree/5c42541a2985b54619d09372ef05fc999b108f9a"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"用户登陆接口实现"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%94%A8%E6%88%B7%E7%99%BB%E9%99%86%E6%8E%A5%E5%8F%A3%E5%AE%9E%E7%8E%B0","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"用户登陆接口实现"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"设计"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%AE%BE%E8%AE%A1","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"设计"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Route: "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"/user/login"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Payload:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"username"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" joi"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"alternatives"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"try"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n joi"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"email"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"max"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"32"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n joi"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"number"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"integer"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"min"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10000000000"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"max"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"19999999999"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n joi"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"min"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"max"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'手机号,邮箱,或用户名'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"password"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" joi"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"min"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"6"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"max"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"255"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'密码,密文'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"guid"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" joi"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"required"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","keyword","module"]},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"description"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'设备唯一识别码'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Result:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"登陆成功:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"status"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"token"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Access Token'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"expires"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3600"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// Access Token有效期"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"通用错误"},"children":[{"type":"element","tag":"a","props":{"href":"#%E9%80%9A%E7%94%A8%E9%94%99%E8%AF%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"通用错误"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"status"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"err_code"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"500"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"error_msg"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Server Error'"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"编码"},"children":[{"type":"element","tag":"a","props":{"href":"#%E7%BC%96%E7%A0%81","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"编码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"首先编写测试用例, "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"test/user/login.js"}]},{"type":"text","value":"。注意测试的顺序:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"200 登录成功"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"400 参数错误"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"401 用户名或密码错误,连续三次"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"403 超出限制,正确用户密码登录"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"并且需要注意:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"测试前需要添加测试数据(测试用户),且信息不能与其他测试用例冲突(并行执行测试)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"测试后要删除测试数据,不要使用清空数据库之类的操作,以免对其他测试用例产生影响"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"测试前也需要删除测试数据(以免前一次测试失败数据未删除而产生数据污染)"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"检查测试用例是否覆盖完整,以及测试用例是否写错。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"这时候直接开始跑测试用例的话会报错。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"测试用例参考: "},{"type":"element","tag":"a","props":{"href":"https://coding.net/u/willin/p/bdd-practice/git/blob/master/test/user/login.js","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://coding.net/u/willin/p/bdd-practice/git/blob/master/test/user/login.js"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"根据测试用例,开始编写功能模块代码。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"另外,有一种情况是测试无法覆盖的,就是登录半小时的限制,我们也没有必要让测试用例一直运行等待半个小时再测。可以直接检查 Redis 里的缓存是否正常,以及 TTL 超时是否在合理范围内。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"test"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'Login trial redis ttl'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","parameter"]},"children":[{"type":"text","value":"t"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" value "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'trial:guid-xxx'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 循环错误3次,加上已经限制还再继续尝试的1次"}]},{"type":"text","value":"\n t"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"is"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"value"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"4"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" ttl "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"ttl"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'trial:guid-xxx'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 限制超时应当小于半小时"}]},{"type":"text","value":"\n t"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"true"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"ttl "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"<="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1800"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"剩下的编码部分就没什么可讲的了。 注意逻辑判断,测试代码覆盖率,没必要的判断不要加。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注意点:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"数据库连接,使用连接池,并在所有查询完成后释放;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"数据库查询禁止 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"select field1, (select xxx) as field2"}]},{"type":"text","value":" 嵌套查询;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"慢 SQL,如多张表"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"JOIN"}]},{"type":"text","value":"的查询,根据业务逻辑,考虑加 Redis 缓存;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"代码覆盖率要求"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"95%"}]},{"type":"text","value":"以上,分支覆盖"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"90%"}]},{"type":"text","value":"以上,只有异常捕获的代码和测试环境下的分支可以 ignore;"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"不要用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"[].forEach()"}]},{"type":"text","value":" 方法做轮询,直接用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"for"}]},{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"算法、逻辑细节。"}]},{"type":"text","value":"\n"}]}]},"text":"\n本实践项目源码: \n\n## 配置数据库\n\n开启 MySQL 和 Redis 服务。\n\n创建数据库 `bdd`。根据`数据库设计`章节创建`user`、`usermeta`两张表。\n\n## 初始化项目\n\n```bash\ngit init\nnpm init\n```\n\n### 安装 ESLint 和 Babel 环境\n\n```bash\ncnpm i --save-dev eslint babel-eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-react\ncnpm i --save babel-register babel-runtime babel-plugin-transform-runtime babel-preset-es2015 babel-preset-es2015-loose babel-preset-stage-1\n```\n\nTree:\n\n```\n├── .babelrc\n├── .eslintignore\n├── .eslintrc.json\n├── .git\n├── .gitignore\n├── README.md\n├── node_modules\n└── package.json\n\n2 directories, 6 files\n```\n\n参考: \n\n创建配置文件。\n\n### 配置 ava、nyc\n\n```\nnpm install ava nyc --save-dev\n./node_modules/.bin/ava --init\n```\n\nPackage.json 修改:\n\n```js\n\"scripts\": {\n \"test\": \"NODE_ENV=test ./node_modules/.bin/nyc --reporter=text --reporter=html ./node_modules/.bin/ava -v --fail-fast\"\n},\n\"nyc\": {\n \"lines\": 95,\n \"functions\": 90,\n \"branches\": 90,\n \"check-coverage\": true,\n \"report-dir\": \"./.nyc_output\",\n \"exclude\": [\n \"node_modules\",\n \"test\",\n \"test{,-*}.js\",\n \"**/*.test.js\",\n \"**/__tests__/**\"\n ]\n},\n\"ava\": {\n \"files\": [\n \"test/*.js\",\n \"test/**/*.js\",\n \"!**/_*/*.js\",\n \"!**/_*.js\"\n ],\n \"require\": [\n \"babel-register\"\n ],\n \"babel\": \"inherit\"\n}\n```\n\n参考项目 init 代码: \n\n\n\n## 用户登陆接口实现\n\n### 设计\n\nRoute: `/user/login`\n\nPayload:\n\n```js\n{\n username: joi.alternatives().try(\n joi.string().email().max(32),\n joi.number().integer().min(10000000000).max(19999999999),\n joi.string().min(3).max(16)\n ).required().description('手机号,邮箱,或用户名'),\n password: joi.string().min(6).max(255).required().description('密码,密文'),\n guid: joi.string().required().default('').description('设备唯一识别码')\n}\n```\n\nResult:\n\n登陆成功:\n\n```js\n{\n status: 1,\n data: {\n token: 'Access Token',\n expires: 3600 // Access Token有效期\n }\n}\n```\n\n### 通用错误\n\n```js\n{\n status: 0,\n err_code: 500,\n error_msg: 'Server Error'\n}\n```\n\n### 编码\n\n首先编写测试用例, `test/user/login.js`。注意测试的顺序:\n\n1. 200 登录成功\n2. 400 参数错误\n3. 401 用户名或密码错误,连续三次\n4. 403 超出限制,正确用户密码登录\n\n并且需要注意:\n\n1. 测试前需要添加测试数据(测试用户),且信息不能与其他测试用例冲突(并行执行测试)\n2. 测试后要删除测试数据,不要使用清空数据库之类的操作,以免对其他测试用例产生影响\n3. 测试前也需要删除测试数据(以免前一次测试失败数据未删除而产生数据污染)\n\n检查测试用例是否覆盖完整,以及测试用例是否写错。\n\n这时候直接开始跑测试用例的话会报错。\n\n测试用例参考: \n\n根据测试用例,开始编写功能模块代码。\n\n另外,有一种情况是测试无法覆盖的,就是登录半小时的限制,我们也没有必要让测试用例一直运行等待半个小时再测。可以直接检查 Redis 里的缓存是否正常,以及 TTL 超时是否在合理范围内。\n\n示例:\n\n```js\ntest('Login trial redis ttl', async (t) => {\n const value = await client.get('trial:guid-xxx');\n // 循环错误3次,加上已经限制还再继续尝试的1次\n t.is(value, 4);\n const ttl = await client.ttl('trial:guid-xxx');\n // 限制超时应当小于半小时\n t.true(ttl <= 1800);\n});\n```\n\n剩下的编码部分就没什么可讲的了。 注意逻辑判断,测试代码覆盖率,没必要的判断不要加。\n\n注意点:\n\n- 数据库连接,使用连接池,并在所有查询完成后释放;\n- 数据库查询禁止 `select field1, (select xxx) as field2` 嵌套查询;\n- 慢 SQL,如多张表`JOIN`的查询,根据业务逻辑,考虑加 Redis 缓存;\n- 代码覆盖率要求`95%`以上,分支覆盖`90%`以上,只有异常捕获的代码和测试环境下的分支可以 ignore;\n- 不要用 `[].forEach()` 方法做轮询,直接用`for`;\n- 算法、逻辑细节。\n","dir":"/zh/experience/project/user","path":"/zh/experience/project/user/bdd","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/project/user/bdd","meta":{"version":0,"revision":0,"created":1756480739021},"$loki":107},{"slug":"cache","description":"","title":"缓存设计","position":2113,"category":"经验篇-项目","toc":[{"id":"说明","depth":2,"text":"说明"},{"id":"注册频率限制","depth":2,"text":"注册频率限制"},{"id":"登录尝试限制","depth":2,"text":"登录尝试限制"},{"id":"复杂缓存结构示例","depth":2,"text":"复杂缓存结构示例"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"缓存结构设计示例。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"说明"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E8%AF%B4%E6%98%8E","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"说明"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"常规结构:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Type:Key:SubKey\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":":"}]},{"type":"text","value":"区分,在管理工具上会自动变成文件夹可收缩。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"注册频率限制"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%B3%A8%E5%86%8C%E9%A2%91%E7%8E%87%E9%99%90%E5%88%B6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注册频率限制"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Key:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"reg:#手机唯一id或注册ip#\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Value:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"成功注册的用户名或手机号\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"(记录可以有迹可循,如果不需要查询,直接记录固定值,如"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"1"}]},{"type":"text","value":"即可)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"TTL: 1800(s)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"说明:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"注册成功后创建该"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"key"}]},{"type":"text","value":";判断,如果取到非"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"null"}]},{"type":"text","value":"值,禁止注册。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"登录尝试限制"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%99%BB%E5%BD%95%E5%B0%9D%E8%AF%95%E9%99%90%E5%88%B6","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"登录尝试限制"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Key:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"trial:#手机唯一id或登录ip#\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Value:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"错误尝试次数\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"TTL: 1800(s)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"说明:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"blockquote","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"初次尝试新建该"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"key"}]},{"type":"text","value":",值为 1;判断,如果值大于 3,禁止登录。"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"复杂缓存结构示例"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%A4%8D%E6%9D%82%E7%BC%93%E5%AD%98%E7%BB%93%E6%9E%84%E7%A4%BA%E4%BE%8B","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"复杂缓存结构示例"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"接口性能监控,如图:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/project/hmap.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"结构:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Key:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-text"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"api:#记录日期#\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Value: 数组(通过 Redis "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"HSet"}]},{"type":"text","value":"和"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"HGet"}]},{"type":"text","value":"命令进行存储和读取)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["line-numbers","language-js"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"text","value":"\n key:"},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'#total(总计)/来源(如android-xxx/ios-xxx/device-xxx/web-xxx)/路径(如app1/v2/path/action)#'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"value"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// JSON.stringify(#对象#)"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"count"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'请求次数'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"success"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'成功次数'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"avg"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'平均响应时间'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"max"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'最大响应时间'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","literal-property","property"]},"children":[{"type":"text","value":"min"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":":"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'最小响应时间'"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n缓存结构设计示例。\n\n## 说明\n\n常规结构:\n\n```\nType:Key:SubKey\n```\n\n用`:`区分,在管理工具上会自动变成文件夹可收缩。\n\n## 注册频率限制\n\nKey:\n\n```\nreg:#手机唯一id或注册ip#\n```\n\nValue:\n\n```\n成功注册的用户名或手机号\n```\n\n(记录可以有迹可循,如果不需要查询,直接记录固定值,如`1`即可)\n\nTTL: 1800(s)\n\n说明:\n\n> 注册成功后创建该`key`;判断,如果取到非`null`值,禁止注册。\n\n## 登录尝试限制\n\nKey:\n\n```\ntrial:#手机唯一id或登录ip#\n```\n\nValue:\n\n```\n错误尝试次数\n```\n\nTTL: 1800(s)\n\n说明:\n\n> 初次尝试新建该`key`,值为 1;判断,如果值大于 3,禁止登录。\n\n## 复杂缓存结构示例\n\n接口性能监控,如图:\n\n![Image](/experience/project/hmap.png)\n\n结构:\n\nKey:\n\n```\napi:#记录日期#\n```\n\nValue: 数组(通过 Redis `HSet`和`HGet`命令进行存储和读取)\n\n```js\n[\n key:'#total(总计)/来源(如android-xxx/ios-xxx/device-xxx/web-xxx)/路径(如app1/v2/path/action)#'\n value: { // JSON.stringify(#对象#)\n count: '请求次数',\n success: '成功次数',\n avg: '平均响应时间',\n max: '最大响应时间',\n min: '最小响应时间'\n }\n]\n```\n\n\n","dir":"/zh/experience/project/user","path":"/zh/experience/project/user/cache","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.821Z","to":"/experience/project/user/cache","meta":{"version":0,"revision":0,"created":1756480739025},"$loki":108},{"slug":"db","description":"","title":"数据库表结构设计","position":2112,"category":"经验篇-项目","toc":[{"id":"用户基本信息表","depth":2,"text":"用户基本信息表"},{"id":"用户附加信息表","depth":2,"text":"用户附加信息表"},{"id":"其他表","depth":2,"text":"其他表"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"ER 图,略。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"用户基本信息表"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%94%A8%E6%88%B7%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF%E8%A1%A8","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"用户基本信息表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-sql","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"CREATE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"user"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"uid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"int"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"11"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"unsigned"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'用户ID'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"username"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"char"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'用户名'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"password"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"char"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"32"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'密码'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"salt"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"char"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"8"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'加盐加密'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"mobile"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"char"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'手机号'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"createdat"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"int"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"unsigned"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'注册时间'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"updatedat"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"int"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"10"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"unsigned"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'更新时间'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"PRIMARY"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"KEY"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"uid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"UNIQUE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"KEY"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"username"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"username"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"UNIQUE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"KEY"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"mobile"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"mobile"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"ENGINE"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"MyISAM "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"CHARSET"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"utf8"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"说明:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"uid"}]},{"type":"text","value":" 主键没有设置自增 id,可以随机分配,但需要在不同数据库上分号段注册,以及需要判断是否已注册"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"password"}]},{"type":"text","value":" 密码不能直接"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"MD5"}]},{"type":"text","value":"或"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"SHA1"}]},{"type":"text","value":"加密存储,需要加盐加密"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"createdat"}]},{"type":"text","value":"表示注册时间,"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"updatedat"}]},{"type":"text","value":"表示密码修改、手机绑定等更新时间"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户名和手机号均为唯一字段"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"养成加注释的习惯"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"用户附加信息表"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%94%A8%E6%88%B7%E9%99%84%E5%8A%A0%E4%BF%A1%E6%81%AF%E8%A1%A8","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"用户附加信息表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"将非基本信息,如开发者资料、用户详细资料、认证、等级等存入用户附加信息表(也可建多个附加信息表,如用户认证表、用户配置表等)。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-sql","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"CREATE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"TABLE"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"usermeta"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"uid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"int"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"11"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"unsigned"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'用户ID'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"truename"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"char"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"16"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"''"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'真实姓名'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"gender"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"enum"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'male'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'famale'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'male'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'性别'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"verified"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"tinyint"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"1"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"unsigned"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'0'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'实名认证'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"PRIMARY"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"KEY"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"uid"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"ENGINE"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"MyISAM "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"CHARSET"}]},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":"utf8"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"说明:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ol","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"如果需要按姓名或性别查找,将 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"truename"}]},{"type":"text","value":"或"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"gender"}]},{"type":"text","value":" 字段加索引"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"查找一个用户是否已经完成实名认证,可以用 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"SELECT t2.verified FROM user t1 LEFT JOIN usermeta t2 ON t1.uid=t2.uid WHERE t1.username = ? LIMIT 1"}]},{"type":"text","value":"方式查询"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"其他表"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%85%B6%E4%BB%96%E8%A1%A8","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"其他表"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"部分信息不需要存入数据库,如日志,可以存在 log 文件中;登录信息,可以用 Redis 等缓存存储。综合考虑性能、成本及服务器配置决定。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"再讲解一种,针对"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"开发者"}]},{"type":"text","value":"的表设计。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"举例,开发者一般有两种类型,企业开发者、个人开发者。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"那么,可以在"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"usermeta"}]},{"type":"text","value":"表里加一个开发者类型字段,"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"dev_type"}]},{"type":"text","value":":"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-sql","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","identifier"]},"children":[{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]},{"type":"text","value":"dev_type"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"`"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"enum"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'personal'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'enterprise'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"NOT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","boolean"]},"children":[{"type":"text","value":"NULL"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"DEFAULT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'personal'"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"COMMENT"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'开发者类型'"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"另外建两张表,为 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"developer_personal"}]},{"type":"text","value":" 和 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"developer_enterprise"}]},{"type":"text","value":" 分别存放个人开发者和企业开发者的相关信息字段。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以在系统的业务逻辑里加入一些限制,如个人开发者可以升级为企业开发者,企业开发者不能再改为个人开发者之类的。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"strong","props":{},"children":[{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"Tips"}]}]},{"type":"text","value":":JavaScript 中命名法则最好使用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"驼峰法"}]},{"type":"text","value":",如"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"userActions"}]},{"type":"text","value":"。而 MySQL 中不区分大小写,所以可以采用下划线命名法,如"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"user_actions"}]},{"type":"text","value":",在"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"SELECT"}]},{"type":"text","value":"查询时使用"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"AS aliasName"}]},{"type":"text","value":"设置别名即可。"}]}]},"text":"\nER 图,略。\n\n\n\n## 用户基本信息表\n\n示例:\n\n```sql\nCREATE TABLE `user` (\n `uid` int(11) unsigned NOT NULL COMMENT '用户ID',\n `username` char(16) NOT NULL DEFAULT '' COMMENT '用户名',\n `password` char(32) NOT NULL DEFAULT '' COMMENT '密码',\n `salt` char(8) NOT NULL DEFAULT '' COMMENT '加盐加密',\n `mobile` char(16) NOT NULL DEFAULT '' COMMENT '手机号',\n `createdat` int(10) unsigned NOT NULL COMMENT '注册时间',\n `updatedat` int(10) unsigned NOT NULL COMMENT '更新时间',\n PRIMARY KEY (`uid`),\n UNIQUE KEY `username` (`username`),\n UNIQUE KEY `mobile` (`mobile`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8;\n```\n\n说明:\n\n1. `uid` 主键没有设置自增 id,可以随机分配,但需要在不同数据库上分号段注册,以及需要判断是否已注册\n2. `password` 密码不能直接`MD5`或`SHA1`加密存储,需要加盐加密\n3. `createdat`表示注册时间,`updatedat`表示密码修改、手机绑定等更新时间\n4. 用户名和手机号均为唯一字段\n5. 养成加注释的习惯\n\n## 用户附加信息表\n\n将非基本信息,如开发者资料、用户详细资料、认证、等级等存入用户附加信息表(也可建多个附加信息表,如用户认证表、用户配置表等)。\n\n示例:\n\n```sql\nCREATE TABLE `usermeta` (\n `uid` int(11) unsigned NOT NULL COMMENT '用户ID',\n `truename` char(16) NOT NULL DEFAULT '' COMMENT '真实姓名',\n `gender` enum('male','famale') NOT NULL DEFAULT 'male' COMMENT '性别',\n `verified` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '实名认证',\n PRIMARY KEY (`uid`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8;\n```\n\n说明:\n\n1. 如果需要按姓名或性别查找,将 `truename`或`gender` 字段加索引\n2. 查找一个用户是否已经完成实名认证,可以用 `SELECT t2.verified FROM user t1 LEFT JOIN usermeta t2 ON t1.uid=t2.uid WHERE t1.username = ? LIMIT 1`方式查询\n\n## 其他表\n\n部分信息不需要存入数据库,如日志,可以存在 log 文件中;登录信息,可以用 Redis 等缓存存储。综合考虑性能、成本及服务器配置决定。\n\n再讲解一种,针对`开发者`的表设计。\n\n举例,开发者一般有两种类型,企业开发者、个人开发者。\n\n那么,可以在`usermeta`表里加一个开发者类型字段,`dev_type`:\n\n```sql\n`dev_type` enum('personal','enterprise') NOT NULL DEFAULT 'personal' COMMENT '开发者类型'\n```\n\n另外建两张表,为 `developer_personal` 和 `developer_enterprise` 分别存放个人开发者和企业开发者的相关信息字段。\n\n可以在系统的业务逻辑里加入一些限制,如个人开发者可以升级为企业开发者,企业开发者不能再改为个人开发者之类的。\n\n**_Tips_**:JavaScript 中命名法则最好使用`驼峰法`,如`userActions`。而 MySQL 中不区分大小写,所以可以采用下划线命名法,如`user_actions`,在`SELECT`查询时使用`AS aliasName`设置别名即可。\n","dir":"/zh/experience/project/user","path":"/zh/experience/project/user/db","extension":".md","createdAt":"2025-08-29T15:18:11.821Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/experience/project/user/db","meta":{"version":0,"revision":0,"created":1756480739032},"$loki":109},{"slug":"module","description":"","title":"功能模块设计","position":2111,"category":"经验篇-项目","toc":[{"id":"系统结构图","depth":2,"text":"系统结构图"},{"id":"功能模块","depth":2,"text":"功能模块"},{"id":"注册","depth":3,"text":"注册"},{"id":"登录","depth":3,"text":"登录"},{"id":"找回密码","depth":3,"text":"找回密码"}],"body":{"type":"root","children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"实现 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"注册、登录、注销、密码找回"}]},{"type":"text","value":" 的需求。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"用户可以通过手机号进行登录和密码找回。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"系统结构图"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%B3%BB%E7%BB%9F%E7%BB%93%E6%9E%84%E5%9B%BE","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"系统结构图"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/project/sys.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"功能模块"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E5%8A%9F%E8%83%BD%E6%A8%A1%E5%9D%97","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"功能模块"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"注册"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%B3%A8%E5%86%8C","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"注册"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"流程图,示例:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"element","tag":"img","props":{"alt":"Image","src":"/experience/project/flow.png"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"涉及参数:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户名"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"密码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"手机号"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"短信验证码"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"约束条件:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"短信验证码发送频率限制 90s"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"注册频率限制每 30 分钟只能注册 1 次"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"(示例,根据实际需求和业务进行约束)"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"登录"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E7%99%BB%E5%BD%95","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"登录"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"涉及参数:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"用户名或手机号"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"密码"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"约束条件:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"30 分钟内 连续出错 3 次 限制登录"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"找回密码"},"children":[{"type":"element","tag":"a","props":{"ariaHidden":"true","href":"#%E6%89%BE%E5%9B%9E%E5%AF%86%E7%A0%81","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"找回密码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"涉及参数:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"手机号"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"短信验证码"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"新密码"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]}]},"text":"\n实现 `注册、登录、注销、密码找回` 的需求。\n\n用户可以通过手机号进行登录和密码找回。\n\n## 系统结构图\n\n示例:\n\n![Image](/experience/project/sys.png)\n\n## 功能模块\n\n### 注册\n\n流程图,示例:\n\n![Image](/experience/project/flow.png)\n\n涉及参数:\n\n- 用户名\n- 密码\n- 手机号\n- 短信验证码\n\n约束条件:\n\n- 短信验证码发送频率限制 90s\n- 注册频率限制每 30 分钟只能注册 1 次\n\n(示例,根据实际需求和业务进行约束)\n\n### 登录\n\n涉及参数:\n\n- 用户名或手机号\n- 密码\n\n约束条件:\n\n- 30 分钟内 连续出错 3 次 限制登录\n\n### 找回密码\n\n涉及参数:\n\n- 手机号\n- 短信验证码\n- 新密码\n\n\n","dir":"/zh/experience/project/user","path":"/zh/experience/project/user/module","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/experience/project/user/module","meta":{"version":0,"revision":0,"created":1756480739036},"$loki":110},{"slug":"particulars","description":"","title":"代码细节处理","position":2115,"category":"经验篇-项目","toc":[{"id":"请求超时无返回","depth":2,"text":"请求超时无返回"},{"id":"1如果-cpu-没有飙升可能有异常未捕获","depth":3,"text":"1.如果 CPU 没有飙升,可能有异常未捕获"},{"id":"2cpu-飙升大多数情况是死循环","depth":3,"text":"2.CPU 飙升:大多数情况是死循环"},{"id":"内存泄露","depth":2,"text":"内存泄露"},{"id":"mysql-编码细节","depth":2,"text":"MySQL 编码细节"},{"id":"redis-编码细节","depth":2,"text":"Redis 编码细节"},{"id":"其他资料","depth":2,"text":"其他资料"}],"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"请求超时无返回"},"children":[{"type":"element","tag":"a","props":{"href":"#%E8%AF%B7%E6%B1%82%E8%B6%85%E6%97%B6%E6%97%A0%E8%BF%94%E5%9B%9E","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"请求超时无返回"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"原因:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"1如果-cpu-没有飙升可能有异常未捕获"},"children":[{"type":"element","tag":"a","props":{"href":"#1%E5%A6%82%E6%9E%9C-cpu-%E6%B2%A1%E6%9C%89%E9%A3%99%E5%8D%87%E5%8F%AF%E8%83%BD%E6%9C%89%E5%BC%82%E5%B8%B8%E6%9C%AA%E6%8D%95%E8%8E%B7","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"1.如果 CPU 没有飙升,可能有异常未捕获"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可能情况 1,如: sql "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"SELECT xxxx LIMIT 1"}]},{"type":"text","value":" 的查询,直接用了 result[0]。 但也可能并没查到结果。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可能情况 2,如: JSON.parse(xxxData),或者在用第三方库的时候注意一下,如果方法不是返回"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Promise"}]},{"type":"text","value":"对象,很可能异常的时候是"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"Throw"}]},{"type":"text","value":"出一个错误,需要做"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"try/catch"}]},{"type":"text","value":"捕获。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可能情况 3,如: Callback 方法,如 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"client.query((result, err)=> { })"}]},{"type":"text","value":",中,需要加 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"if(err)"}]},{"type":"text","value":" 的判断。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h3","props":{"id":"2cpu-飙升大多数情况是死循环"},"children":[{"type":"element","tag":"a","props":{"href":"#2cpu-%E9%A3%99%E5%8D%87%E5%A4%A7%E5%A4%9A%E6%95%B0%E6%83%85%E5%86%B5%E6%98%AF%E6%AD%BB%E5%BE%AA%E7%8E%AF","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"2.CPU 飙升:大多数情况是死循环"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"for"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"<"}]},{"type":"text","value":" xxx1"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" i"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"++"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"for"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" j "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" i "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"<"}]},{"type":"text","value":" xxx2"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"length"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":" j"},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"++"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// xxx"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"第二个循环条件中 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"j"}]},{"type":"text","value":" 用成了 "},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"i"}]},{"type":"text","value":" 导致死循环产生。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"死循环大多发生于对数据遍历的处理。产生死循环最大的可能原因是**"},{"type":"element","tag":"em","props":{},"children":[{"type":"text","value":"循环的条件"}]},{"type":"text","value":"**。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果在循环体内用到以下一些方法,也需要特别注意:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"ul","props":{},"children":[{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"对数据数组的改动,如:pop/shift/slice"}]},{"type":"text","value":"\n"},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"循环体的退出,如:break/continue"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"可以配合"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"PM2"}]},{"type":"text","value":"和定时任务脚本对进程 CPU 占用进行监控,自动重启服务。"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"内存泄露"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%86%85%E5%AD%98%E6%B3%84%E9%9C%B2","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"内存泄露"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"基本情况排查参考: "},{"type":"element","tag":"a","props":{"href":"https://cnodejs.org/topic/4fa94df3b92b05485007fd87","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://cnodejs.org/topic/4fa94df3b92b05485007fd87"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"比较常见的:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"exports"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method-variable","function-variable","method","function","property-access"]},"children":[{"type":"element","tag":"span","props":{"className":["token","maybe-class-name"]},"children":[{"type":"text","value":"Func"}]}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 避免方法内require"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" redisClient "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'@dwing/redis'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 没必要放在方法里,可以放到外边,多个方法共用"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" redis "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"redisClient"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// config"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// xxxx"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"mysql-编码细节"},"children":[{"type":"element","tag":"a","props":{"href":"#mysql-%E7%BC%96%E7%A0%81%E7%BB%86%E8%8A%82","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"MySQL 编码细节"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" pool "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'@dwing/mysql'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":" isEmpty "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'@dwing/common'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 包裹在async中"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" client "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"pool"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// mysql有await,redis没有"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// config"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'SELECT 1'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"&&"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"!"}]},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"Array"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"isArray"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 查询出错,不能用 result[]"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 查询结果为空,不能用 result[]"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"["}]},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"0"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"]"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"除了"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"SELECT"}]},{"type":"text","value":"的结果是数组,其他的都是对象,并且包含"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"result.affectedRows"}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" client"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'UPDATE xxx SET xxx WHERE xxx'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"isEmpty"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 查询出错, 不能用 result.affectedRows"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"return"}]},{"type":"text","value":" result"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","property-access"]},"children":[{"type":"text","value":"affectedRows"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"adsbygoogle","props":{},"children":[{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"redis-编码细节"},"children":[{"type":"element","tag":"a","props":{"href":"#redis-%E7%BC%96%E7%A0%81%E7%BB%86%E8%8A%82","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"Redis 编码细节"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" redisClient "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"require"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'wulian-redis'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" redis "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","function"]},"children":[{"type":"text","value":"redisClient"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// config"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"async"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","arrow","operator"]},"children":[{"type":"text","value":"=>"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 包裹在async中"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"const"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" redis"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxKey'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"if"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"==="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","null","nil"]},"children":[{"type":"text","value":"null"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// xxxKey不存在,返回值为 null"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果要存取"},{"type":"element","tag":"code","props":{},"children":[{"type":"text","value":"JSON"}]},{"type":"text","value":"格式数据:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" redis"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"set"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxKey'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"xxxJSONVal"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n\n"},{"type":"element","tag":"span","props":{"className":["token","keyword"]},"children":[{"type":"text","value":"let"}]},{"type":"text","value":" result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"try"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"text","value":"\n "},{"type":"element","tag":"span","props":{"className":["token","comment"]},"children":[{"type":"text","value":"// 读取要异常捕获,不然篡改值可能导致程序崩"}]},{"type":"text","value":"\n result "},{"type":"element","tag":"span","props":{"className":["token","operator"]},"children":[{"type":"text","value":"="}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"parse"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" redis"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"get"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxKey'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"catch"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"e"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"{"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"}"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"如果要设置超时:"}]},{"type":"text","value":"\n"},{"type":"element","tag":"div","props":{"className":["nuxt-content-highlight"]},"children":[{"type":"element","tag":"pre","props":{"className":["language-js","line-numbers"]},"children":[{"type":"element","tag":"code","props":{},"children":[{"type":"element","tag":"span","props":{"className":["token","keyword","control-flow"]},"children":[{"type":"text","value":"await"}]},{"type":"text","value":" redis"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"setex"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"className":["token","string"]},"children":[{"type":"text","value":"'xxxKey'"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","number"]},"children":[{"type":"text","value":"3600"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":","}]},{"type":"text","value":" "},{"type":"element","tag":"span","props":{"className":["token","known-class-name","class-name"]},"children":[{"type":"text","value":"JSON"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"className":["token","method","function","property-access"]},"children":[{"type":"text","value":"stringify"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":"("}]},{"type":"text","value":"xxxJSONVal"},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":")"}]},{"type":"element","tag":"span","props":{"className":["token","punctuation"]},"children":[{"type":"text","value":";"}]},{"type":"text","value":"\n"}]}]}]},{"type":"text","value":"\n"},{"type":"element","tag":"h2","props":{"id":"其他资料"},"children":[{"type":"element","tag":"a","props":{"href":"#%E5%85%B6%E4%BB%96%E8%B5%84%E6%96%99","ariaHidden":"true","tabIndex":-1},"children":[{"type":"element","tag":"span","props":{"className":["icon","icon-link"]},"children":[]}]},{"type":"text","value":"其他资料"}]},{"type":"text","value":"\n"},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"性能调优与故障排查: "},{"type":"element","tag":"a","props":{"href":"https://github.com/JacksonTian/jsconfcn2016","rel":["nofollow","noopener","noreferrer"],"target":"_blank"},"children":[{"type":"text","value":"https://github.com/JacksonTian/jsconfcn2016"}]}]}]},"text":"\n## 请求超时无返回\n\n原因:\n\n### 1.如果 CPU 没有飙升,可能有异常未捕获\n\n可能情况 1,如: sql `SELECT xxxx LIMIT 1` 的查询,直接用了 result[0]。 但也可能并没查到结果。\n\n可能情况 2,如: JSON.parse(xxxData),或者在用第三方库的时候注意一下,如果方法不是返回`Promise`对象,很可能异常的时候是`Throw`出一个错误,需要做`try/catch`捕获。\n\n可能情况 3,如: Callback 方法,如 `client.query((result, err)=> { })`,中,需要加 `if(err)` 的判断。\n\n### 2.CPU 飙升:大多数情况是死循环\n\n如:\n\n```js\nfor (let i = 0; i < xxx1.length; i++) {\n for (let j = 0; i < xxx2.length; j++) {\n // xxx\n }\n}\n```\n\n第二个循环条件中 `j` 用成了 `i` 导致死循环产生。\n\n死循环大多发生于对数据遍历的处理。产生死循环最大的可能原因是**_循环的条件_**。\n\n如果在循环体内用到以下一些方法,也需要特别注意:\n\n- 对数据数组的改动,如:pop/shift/slice\n- 循环体的退出,如:break/continue\n\n可以配合`PM2`和定时任务脚本对进程 CPU 占用进行监控,自动重启服务。\n\n## 内存泄露\n\n基本情况排查参考: \n\n比较常见的:\n\n```js\nexports.Func = async () => {\n // 避免方法内require\n const redisClient = require('@dwing/redis');\n\n // 没必要放在方法里,可以放到外边,多个方法共用\n const redis = redisClient({\n // config\n });\n // xxxx\n};\n```\n\n## MySQL 编码细节\n\n```js\nconst { pool } = require('@dwing/mysql');\nconst { isEmpty } = require('@dwing/common');\n\n(async () => {\n // 包裹在async中\n const client = await pool({\n // mysql有await,redis没有\n // config\n });\n const result = await client.query('SELECT 1');\n if (isEmpty(result) && !Array.isArray(result)) {\n // 查询出错,不能用 result[]\n }\n if (isEmpty(result)) {\n // 查询结果为空,不能用 result[]\n }\n return result[0];\n})();\n```\n\n除了`SELECT`的结果是数组,其他的都是对象,并且包含`result.affectedRows`\n\n```js\nconst result = await client.query('UPDATE xxx SET xxx WHERE xxx');\nif (isEmpty(result)) {\n // 查询出错, 不能用 result.affectedRows\n}\nreturn result.affectedRows;\n```\n\n\n\n## Redis 编码细节\n\n```js\nconst redisClient = require('wulian-redis');\nconst redis = redisClient({\n // config\n});\n\n(async () => {\n // 包裹在async中\n const result = await redis.get('xxxKey');\n if (result === null) {\n // xxxKey不存在,返回值为 null\n }\n})();\n```\n\n如果要存取`JSON`格式数据:\n\n```js\nawait redis.set('xxxKey', JSON.stringify(xxxJSONVal));\n\nlet result = {};\ntry {\n // 读取要异常捕获,不然篡改值可能导致程序崩\n result = JSON.parse(await redis.get('xxxKey'));\n} catch (e) {}\n```\n\n如果要设置超时:\n\n```js\nawait redis.setex('xxxKey', 3600, JSON.stringify(xxxJSONVal));\n```\n\n## 其他资料\n\n性能调优与故障排查: \n","dir":"/zh/experience/project/user","path":"/zh/experience/project/user/particulars","extension":".md","createdAt":"2025-08-29T15:18:11.822Z","updatedAt":"2025-08-29T15:18:11.822Z","to":"/experience/project/user/particulars","meta":{"version":0,"revision":0,"created":1756480739044},"$loki":111}],"idIndex":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111],"maxId":111,"_dirty":true,"_nestedProperties":[],"transactional":false,"asyncListeners":false,"disableMeta":false,"disableChangesApi":true,"disableDeltaChangesApi":true,"cloneObjects":false,"cloneMethod":"deep","changes":[],"_fullTextSearch":{"ii":{"title":{"_store":true,"_optimizeChanges":true,"docCount":111,"docStore":[[0,{"fieldLength":1}],[1,{"fieldLength":1}],[2,{"fieldLength":1}],[3,{"fieldLength":1}],[4,{"fieldLength":3}],[5,{"fieldLength":2}],[6,{"fieldLength":1}],[7,{"fieldLength":1}],[8,{"fieldLength":1}],[9,{"fieldLength":1}],[10,{"fieldLength":2}],[11,{"fieldLength":1}],[12,{"fieldLength":2}],[13,{"fieldLength":1}],[14,{"fieldLength":1}],[15,{"fieldLength":1}],[16,{"fieldLength":1}],[17,{"fieldLength":1}],[18,{"fieldLength":1}],[19,{"fieldLength":1}],[20,{"fieldLength":1}],[21,{"fieldLength":1}],[22,{"fieldLength":1}],[23,{"fieldLength":2}],[24,{"fieldLength":1}],[25,{"fieldLength":1}],[26,{"fieldLength":1}],[27,{"fieldLength":2}],[28,{"fieldLength":3}],[29,{"fieldLength":1}],[30,{"fieldLength":1}],[31,{"fieldLength":1}],[32,{"fieldLength":1}],[33,{"fieldLength":1}],[34,{"fieldLength":2}],[35,{"fieldLength":1}],[36,{"fieldLength":1}],[37,{"fieldLength":4}],[38,{"fieldLength":1}],[39,{"fieldLength":2}],[40,{"fieldLength":1}],[41,{"fieldLength":2}],[42,{"fieldLength":3}],[43,{"fieldLength":1}],[44,{"fieldLength":1}],[45,{"fieldLength":1}],[46,{"fieldLength":1}],[47,{"fieldLength":1}],[48,{"fieldLength":2}],[49,{"fieldLength":1}],[50,{"fieldLength":1}],[51,{"fieldLength":2}],[52,{"fieldLength":1}],[53,{"fieldLength":2}],[54,{"fieldLength":1}],[55,{"fieldLength":1}],[56,{"fieldLength":1}],[57,{"fieldLength":1}],[58,{"fieldLength":1}],[59,{"fieldLength":1}],[60,{"fieldLength":1}],[61,{"fieldLength":1}],[62,{"fieldLength":1}],[63,{"fieldLength":2}],[64,{"fieldLength":1}],[65,{"fieldLength":1}],[66,{"fieldLength":1}],[67,{"fieldLength":1}],[68,{"fieldLength":4}],[69,{"fieldLength":3}],[70,{"fieldLength":1}],[71,{"fieldLength":1}],[72,{"fieldLength":1}],[73,{"fieldLength":1}],[74,{"fieldLength":1}],[75,{"fieldLength":4}],[76,{"fieldLength":3}],[77,{"fieldLength":2}],[78,{"fieldLength":3}],[79,{"fieldLength":1}],[80,{"fieldLength":2}],[81,{"fieldLength":4}],[82,{"fieldLength":2}],[83,{"fieldLength":2}],[84,{"fieldLength":1}],[85,{"fieldLength":2}],[86,{"fieldLength":1}],[87,{"fieldLength":1}],[88,{"fieldLength":1}],[89,{"fieldLength":2}],[90,{"fieldLength":1}],[91,{"fieldLength":1}],[92,{"fieldLength":1}],[93,{"fieldLength":1}],[94,{"fieldLength":1}],[95,{"fieldLength":1}],[96,{"fieldLength":1}],[97,{"fieldLength":1}],[98,{"fieldLength":1}],[99,{"fieldLength":1}],[100,{"fieldLength":1}],[101,{"fieldLength":1}],[102,{"fieldLength":1}],[103,{"fieldLength":1}],[104,{"fieldLength":1}],[105,{"fieldLength":1}],[106,{"fieldLength":1}],[107,{"fieldLength":1}],[108,{"fieldLength":1}],[109,{"fieldLength":1}],[110,{"fieldLength":1}]],"totalFieldLength":153,"root":{"k":[22242,29256,12298,31508,25805,111,120,20248,26080,26597,22855,109,53,103,56,114,99,112,101,104,107,110,115,117,118,119,102,97,27491,24322,116,100,21152,36328,20013,24605,24120,27599,36801,98,36896,21253,121,36827,21069,105,31163,31185,22312,20687,26700,20803,28151,24320,25163,43,22522,24555,26381,31995,38656,20135,36335,37492,21521,35777,108,35745,23432,37325,25345,20998,39033,38382,26032,23398,20154,22909,25307,20250,26408,20811,36777,24573,34892,32531,25968,21151,20195],"v":[{"k":[38431],"v":[{"k":[39046],"v":[{"k":[34966],"v":[{"k":[35745],"v":[{"k":[21010],"v":[{"d":{"df":1,"dc":[[0,1]]}}]}]}]}]}]},{"k":[26435,26412],"v":[{"d":{"df":1,"dc":[[1,1]]}},{"k":[22238],"v":[{"k":[36864],"v":[{"d":{"df":1,"dc":[[87,1]]}}]}]}]},{"k":[19981],"v":[{"k":[21487],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[39046],"v":[{"k":[34966],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[35745],"v":[{"k":[21010],"v":[{"k":[12299],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35760],"v":[{"k":[26412],"v":[{"k":[12289],"v":[{"k":[21488],"v":[{"k":[24335],"v":[{"k":[26426],"v":[{"k":[12289],"v":[{"k":[24179],"v":[{"k":[26495],"v":[{"k":[20108],"v":[{"k":[21512],"v":[{"k":[19968],"v":[{"k":[65311],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[12289],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[12289],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20316],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]},{"k":[115,104],"v":[{"d":{"df":1,"dc":[[4,1]]}},{"k":[109],"v":[{"k":[121],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[4,1]]},"k":[32534],"v":[{"k":[30721],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]},{"k":[38597,31168],"v":[{"k":[22320],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[24179],"v":[{"k":[26495],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[111],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[24037],"v":[{"k":[31243],"v":[{"k":[24072],"v":[{"k":[40],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[21592],"v":[{"k":[41],"v":[{"k":[30340],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38480],"v":[{"k":[23618],"v":[{"k":[32423],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]},{"k":[25214],"v":[{"k":[21333,25955],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[26434],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]},{"k":[25968],"v":[{"k":[27714],"v":[{"k":[21644],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]},{"k":[121,97,118],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"d":{"df":3,"dc":[[10,1],[12,1],[81,1]]}}]}]}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[29,1]]}}]},{"k":[112],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"d":{"df":1,"dc":[[92,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[10,1]]}},{"k":[114,105],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"d":{"df":3,"dc":[[11,1],[80,1],[81,1]]}}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]},"k":[104,98],"v":[{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[42,1]]},"k":[38745],"v":[{"k":[24577],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[12,1]]}},{"k":[101],"v":[{"k":[100,97],"v":[{"k":[105,117],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[13,1]]}}]},{"k":[120,99],"v":[{"d":{"df":1,"dc":[[23,1]]}},{"k":[101],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]},{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]},{"k":[104,112,101,108,105],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[103],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[35843],"v":[{"k":[24230],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[89,1]]}}]},{"k":[104,97,114,109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]},{"k":[50],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[108,115],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[16,1],[63,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[97,116,101,117],"v":[{"k":[112],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]},{"k":[116],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]},{"k":[120],"v":[{"k":[111],"v":[{"k":[25645],"v":[{"k":[24314],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[21338],"v":[{"k":[23458],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[24320],"v":[{"k":[21457],"v":[{"k":[25351],"v":[{"k":[21335],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"d":{"df":2,"dc":[[18,1],[68,1]]}}]}]},{"k":[97,101,117,111],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[115,120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":3,"dc":[[48,1],[51,1],[78,1]]}}]}]}]}]}]}]},{"k":[111,112],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[65288],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[21333],"v":[{"k":[39029],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]},{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[25,1],[68,1]]}}]}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[112,97],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]},{"k":[101,108],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]},{"k":[112,106,122],"v":[{"k":[105],"v":[{"d":{"df":2,"dc":[[28,1],[69,1]]}}]},{"k":[97],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":4,"dc":[[75,1],[76,1],[77,1],[78,1]]}}]}]}]}]},{"k":[21017],"v":[{"k":[26367],"v":[{"k":[25442],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]},{"k":[24120],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]},{"k":[114,101],"v":[{"k":[105,97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]},{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"k":[111,110,97],"v":[{"k":[99],"v":[{"k":[107,115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]},{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[42,1]]},"k":[30011],"v":[{"k":[22270],"v":[{"k":[24314],"v":[{"k":[27169],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]},{"k":[36895],"v":[{"d":{"df":1,"dc":[[34,1]]}}]},{"k":[24179],"v":[{"k":[21488],"v":[{"k":[30340],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[20013],"v":[{"k":[25991],"v":[{"k":[23383],"v":[{"k":[20307],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37096],"v":[{"k":[32626],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]},{"k":[24819],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[29992],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]},{"k":[26085],"v":[{"k":[26500],"v":[{"k":[24314],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]},{"k":[31227],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[21040],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]},{"k":[97,101,114,108],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]},{"k":[111],"v":[{"k":[98],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[19978],"v":[{"k":[20256],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]},{"k":[36718],"v":[{"k":[23376],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[31687],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]},{"k":[31649],"v":[{"k":[29702],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"k":[38454],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"k":[31471,21518],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]},{"k":[31471],"v":[{"k":[20998],"v":[{"k":[31163],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[100,111],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[116],"v":[{"d":{"df":2,"dc":[[75,1],[76,1]]}}]}]},{"k":[32447],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]},{"k":[23398],"v":[{"k":[19978],"v":[{"k":[32593],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]},{"k":[32447],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]},{"k":[30422],"v":[{"k":[25151],"v":[{"k":[23376],"v":[{"k":[19968],"v":[{"k":[26679],"v":[{"k":[20889],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[32534],"v":[{"k":[31243],"v":[{"k":[26500],"v":[{"k":[36896],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[20248],"v":[{"k":[38597],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21512],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]},{"k":[28304,21457],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[32763],"v":[{"k":[35793],"v":[{"k":[27491],"v":[{"k":[30830],"v":[{"k":[23039],"v":[{"k":[21183],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]},{"k":[25351],"v":[{"k":[21335],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]},{"k":[25226],"v":[{"k":[25163],"v":[{"k":[25945],"v":[{"k":[20320],"v":[{"k":[21457],"v":[{"k":[24067],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[32452],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,1]]}},{"k":[20110],"v":[{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[36895],"v":[{"k":[25645],"v":[{"k":[24314],"v":[{"k":[21069],"v":[{"k":[21518],"v":[{"k":[20998],"v":[{"k":[31163],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[21153],"v":[{"k":[22120],"v":[{"k":[31471,37197],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[32622],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[32479],"v":[{"k":[26550],"v":[{"k":[26500],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[71,1]]},"k":[23454],"v":[{"k":[36341],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]},{"k":[27714],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]},{"k":[21697],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]},{"k":[30001],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[25351],"v":[{"k":[21335],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]},{"k":[26435],"v":[{"d":{"df":1,"dc":[[80,1]]}}]},{"d":{"df":1,"dc":[[81,1]]}},{"k":[20070],"v":[{"d":{"df":1,"dc":[[82,1]]}}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]},{"k":[21010],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]},{"k":[25252],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[21551],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]},{"k":[32493],"v":[{"k":[20132],"v":[{"k":[20184],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]},{"k":[27835],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]},{"k":[30446],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]},{"k":[39064],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]},{"k":[20154],"v":[{"k":[25104],"v":[{"k":[38271],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]},{"k":[20064],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]},{"k":[25165],"v":[{"k":[29702],"v":[{"k":[24565],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]},{"k":[21592],"v":[{"k":[24037],"v":[{"k":[30340],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]},{"k":[32856],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]},{"k":[35758],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]},{"k":[26742],"v":[{"k":[25928],"v":[{"k":[24212],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]},{"k":[26381],"v":[{"k":[24378],"v":[{"k":[36843],"v":[{"k":[30151],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]},{"k":[35777],"v":[{"k":[24605],"v":[{"k":[32500],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]},{"k":[30053],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[23630],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]},{"k":[20026],"v":[{"k":[39537],"v":[{"k":[21160],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]},{"k":[23384],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]},{"k":[25454],"v":[{"k":[24211],"v":[{"k":[34920],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]}]},{"k":[30721],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}},"description":{"_store":true,"_optimizeChanges":true,"docCount":0,"docStore":[[1,{"fieldLength":0}],[2,{"fieldLength":0}],[3,{"fieldLength":0}],[4,{"fieldLength":0}],[5,{"fieldLength":0}],[6,{"fieldLength":0}],[7,{"fieldLength":0}],[8,{"fieldLength":0}],[9,{"fieldLength":0}],[10,{"fieldLength":0}],[11,{"fieldLength":0}],[12,{"fieldLength":0}],[13,{"fieldLength":0}],[14,{"fieldLength":0}],[15,{"fieldLength":0}],[16,{"fieldLength":0}],[17,{"fieldLength":0}],[18,{"fieldLength":0}],[19,{"fieldLength":0}],[20,{"fieldLength":0}],[21,{"fieldLength":0}],[22,{"fieldLength":0}],[23,{"fieldLength":0}],[24,{"fieldLength":0}],[25,{"fieldLength":0}],[26,{"fieldLength":0}],[27,{"fieldLength":0}],[28,{"fieldLength":0}],[29,{"fieldLength":0}],[30,{"fieldLength":0}],[31,{"fieldLength":0}],[32,{"fieldLength":0}],[33,{"fieldLength":0}],[34,{"fieldLength":0}],[35,{"fieldLength":0}],[36,{"fieldLength":0}],[37,{"fieldLength":0}],[38,{"fieldLength":0}],[39,{"fieldLength":0}],[40,{"fieldLength":0}],[41,{"fieldLength":0}],[42,{"fieldLength":0}],[43,{"fieldLength":0}],[44,{"fieldLength":0}],[45,{"fieldLength":0}],[46,{"fieldLength":0}],[47,{"fieldLength":0}],[48,{"fieldLength":0}],[49,{"fieldLength":0}],[50,{"fieldLength":0}],[51,{"fieldLength":0}],[52,{"fieldLength":0}],[53,{"fieldLength":0}],[54,{"fieldLength":0}],[55,{"fieldLength":0}],[56,{"fieldLength":0}],[57,{"fieldLength":0}],[58,{"fieldLength":0}],[59,{"fieldLength":0}],[60,{"fieldLength":0}],[61,{"fieldLength":0}],[62,{"fieldLength":0}],[63,{"fieldLength":0}],[64,{"fieldLength":0}],[65,{"fieldLength":0}],[66,{"fieldLength":0}],[67,{"fieldLength":0}],[68,{"fieldLength":0}],[69,{"fieldLength":0}],[70,{"fieldLength":0}],[71,{"fieldLength":0}],[72,{"fieldLength":0}],[73,{"fieldLength":0}],[74,{"fieldLength":0}],[75,{"fieldLength":0}],[76,{"fieldLength":0}],[77,{"fieldLength":0}],[78,{"fieldLength":0}],[79,{"fieldLength":0}],[80,{"fieldLength":0}],[81,{"fieldLength":0}],[82,{"fieldLength":0}],[83,{"fieldLength":0}],[84,{"fieldLength":0}],[85,{"fieldLength":0}],[86,{"fieldLength":0}],[87,{"fieldLength":0}],[88,{"fieldLength":0}],[89,{"fieldLength":0}],[90,{"fieldLength":0}],[91,{"fieldLength":0}],[92,{"fieldLength":0}],[93,{"fieldLength":0}],[94,{"fieldLength":0}],[95,{"fieldLength":0}],[96,{"fieldLength":0}],[97,{"fieldLength":0}],[98,{"fieldLength":0}],[99,{"fieldLength":0}],[100,{"fieldLength":0}],[101,{"fieldLength":0}],[102,{"fieldLength":0}],[103,{"fieldLength":0}],[104,{"fieldLength":0}],[105,{"fieldLength":0}],[106,{"fieldLength":0}],[107,{"fieldLength":0}],[108,{"fieldLength":0}],[109,{"fieldLength":0}],[110,{"fieldLength":0}]],"totalFieldLength":0,"root":{}},"slug":{"_store":true,"_optimizeChanges":true,"docCount":111,"docStore":[[0,{"fieldLength":1}],[1,{"fieldLength":1}],[2,{"fieldLength":1}],[3,{"fieldLength":1}],[4,{"fieldLength":1}],[5,{"fieldLength":1}],[6,{"fieldLength":1}],[7,{"fieldLength":1}],[8,{"fieldLength":1}],[9,{"fieldLength":1}],[10,{"fieldLength":1}],[11,{"fieldLength":1}],[12,{"fieldLength":1}],[13,{"fieldLength":1}],[14,{"fieldLength":1}],[15,{"fieldLength":1}],[16,{"fieldLength":1}],[17,{"fieldLength":1}],[18,{"fieldLength":1}],[19,{"fieldLength":1}],[20,{"fieldLength":1}],[21,{"fieldLength":1}],[22,{"fieldLength":1}],[23,{"fieldLength":1}],[24,{"fieldLength":1}],[25,{"fieldLength":1}],[26,{"fieldLength":1}],[27,{"fieldLength":1}],[28,{"fieldLength":1}],[29,{"fieldLength":1}],[30,{"fieldLength":1}],[31,{"fieldLength":1}],[32,{"fieldLength":1}],[33,{"fieldLength":1}],[34,{"fieldLength":1}],[35,{"fieldLength":1}],[36,{"fieldLength":1}],[37,{"fieldLength":1}],[38,{"fieldLength":1}],[39,{"fieldLength":1}],[40,{"fieldLength":1}],[41,{"fieldLength":1}],[42,{"fieldLength":1}],[43,{"fieldLength":1}],[44,{"fieldLength":1}],[45,{"fieldLength":1}],[46,{"fieldLength":1}],[47,{"fieldLength":1}],[48,{"fieldLength":1}],[49,{"fieldLength":1}],[50,{"fieldLength":1}],[51,{"fieldLength":1}],[52,{"fieldLength":1}],[53,{"fieldLength":1}],[54,{"fieldLength":1}],[55,{"fieldLength":1}],[56,{"fieldLength":1}],[57,{"fieldLength":1}],[58,{"fieldLength":1}],[59,{"fieldLength":1}],[60,{"fieldLength":1}],[61,{"fieldLength":1}],[62,{"fieldLength":1}],[63,{"fieldLength":1}],[64,{"fieldLength":1}],[65,{"fieldLength":1}],[66,{"fieldLength":1}],[67,{"fieldLength":1}],[68,{"fieldLength":1}],[69,{"fieldLength":1}],[70,{"fieldLength":1}],[71,{"fieldLength":1}],[72,{"fieldLength":1}],[73,{"fieldLength":1}],[74,{"fieldLength":1}],[75,{"fieldLength":1}],[76,{"fieldLength":1}],[77,{"fieldLength":1}],[78,{"fieldLength":1}],[79,{"fieldLength":1}],[80,{"fieldLength":1}],[81,{"fieldLength":1}],[82,{"fieldLength":1}],[83,{"fieldLength":1}],[84,{"fieldLength":1}],[85,{"fieldLength":1}],[86,{"fieldLength":1}],[87,{"fieldLength":1}],[88,{"fieldLength":1}],[89,{"fieldLength":1}],[90,{"fieldLength":1}],[91,{"fieldLength":1}],[92,{"fieldLength":1}],[93,{"fieldLength":1}],[94,{"fieldLength":1}],[95,{"fieldLength":1}],[96,{"fieldLength":1}],[97,{"fieldLength":1}],[98,{"fieldLength":1}],[99,{"fieldLength":1}],[100,{"fieldLength":1}],[101,{"fieldLength":1}],[102,{"fieldLength":1}],[103,{"fieldLength":1}],[104,{"fieldLength":1}],[105,{"fieldLength":1}],[106,{"fieldLength":1}],[107,{"fieldLength":1}],[108,{"fieldLength":1}],[109,{"fieldLength":1}],[110,{"fieldLength":1}]],"totalFieldLength":111,"root":{"k":[115,99,105,100,111,112,102,109,103,114,101,104,107,110,117,118,119,116,98,121,122,97,108],"v":[{"k":[101,117,111,104,115,121,116],"v":[{"k":[116,114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[0,1]]}}]}]}]}]}]},{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[109],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,108],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]},{"k":[118],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]},{"k":[101,105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]},{"d":{"df":1,"dc":[[59,1]]}},{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]},{"k":[111,114,117],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]},{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]}]}]},{"k":[100],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]},{"k":[111,97,104,114,112,101,108],"v":[{"k":[112,100,110],"v":[{"k":[121],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]},{"k":[116,99],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[103],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[119],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]},{"k":[117],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[114],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110,100,111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[116],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[76,1]]},"k":[45],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,111,110,97,105,98],"v":[{"k":[118,115,102],"v":[{"k":[105,101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]},{"k":[107],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[109,110],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[121],"v":[{"k":[101],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[107,115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]},{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]},{"k":[118,97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[108,1]]}}]},{"k":[115,102,110,99],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[4,1]]}}]},{"k":[102],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]},{"k":[97,114,107,109],"v":[{"k":[100,114],"v":[{"d":{"df":1,"dc":[[5,1]]}},{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109,100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]},{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[51,1]]}}]},{"k":[50],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[105,101,111,108,114],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111,115],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]},{"k":[121,97,101,105,118,111],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[10,1],[81,1]]},"k":[56],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[29,1]]}}]},{"k":[116,101],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[64,1]]}}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]},{"k":[120],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[92,1]]}}]},{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]}]},{"k":[114,105],"v":[{"k":[97,111],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[119],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]},"k":[104,98],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[44,1]]},"k":[45],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,111],"v":[{"k":[100,103,113,115],"v":[{"k":[105,117],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[13,1]]}}]},{"k":[120,99],"v":[{"d":{"df":1,"dc":[[23,1]]}},{"k":[101],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[87,1]]}}]}]}]}]}]}]}]},{"k":[108,115],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[97,116,101,105],"v":[{"k":[112],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]},{"k":[116],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]},{"k":[120],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[18,1]]}}]}]},{"k":[97,101,117,112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[120],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]},{"k":[109],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]},{"k":[100],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]},{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[25,1]]},"k":[45],"v":[{"k":[99,119],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101,111],"v":[{"k":[98],"v":[{"k":[112,97,45],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[26,1]]},"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[107],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]},{"k":[114,101],"v":[{"k":[121,105,97],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]},{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]},{"k":[118,110],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"k":[97,101,114,117,100],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]},{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]},{"k":[114,117],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]}]}},"text":{"_store":true,"_optimizeChanges":true,"docCount":110,"docStore":[[1,{"fieldLength":15}],[2,{"fieldLength":106}],[3,{"fieldLength":274}],[4,{"fieldLength":97}],[5,{"fieldLength":137}],[6,{"fieldLength":319}],[7,{"fieldLength":222}],[8,{"fieldLength":119}],[9,{"fieldLength":125}],[10,{"fieldLength":514}],[11,{"fieldLength":445}],[12,{"fieldLength":652}],[13,{"fieldLength":63}],[14,{"fieldLength":88}],[15,{"fieldLength":333}],[16,{"fieldLength":102}],[17,{"fieldLength":142}],[18,{"fieldLength":70}],[19,{"fieldLength":346}],[20,{"fieldLength":722}],[21,{"fieldLength":207}],[22,{"fieldLength":58}],[23,{"fieldLength":306}],[24,{"fieldLength":58}],[25,{"fieldLength":55}],[26,{"fieldLength":507}],[27,{"fieldLength":352}],[28,{"fieldLength":117}],[29,{"fieldLength":90}],[30,{"fieldLength":112}],[31,{"fieldLength":93}],[32,{"fieldLength":327}],[33,{"fieldLength":361}],[34,{"fieldLength":50}],[35,{"fieldLength":212}],[36,{"fieldLength":293}],[37,{"fieldLength":93}],[38,{"fieldLength":43}],[39,{"fieldLength":360}],[40,{"fieldLength":396}],[41,{"fieldLength":123}],[42,{"fieldLength":212}],[43,{"fieldLength":614}],[44,{"fieldLength":224}],[45,{"fieldLength":882}],[46,{"fieldLength":59}],[47,{"fieldLength":130}],[48,{"fieldLength":603}],[49,{"fieldLength":175}],[50,{"fieldLength":82}],[51,{"fieldLength":204}],[52,{"fieldLength":477}],[53,{"fieldLength":305}],[54,{"fieldLength":228}],[55,{"fieldLength":59}],[56,{"fieldLength":40}],[57,{"fieldLength":852}],[58,{"fieldLength":185}],[59,{"fieldLength":190}],[60,{"fieldLength":40}],[61,{"fieldLength":136}],[62,{"fieldLength":398}],[63,{"fieldLength":1737}],[64,{"fieldLength":408}],[65,{"fieldLength":524}],[66,{"fieldLength":178}],[67,{"fieldLength":101}],[68,{"fieldLength":520}],[69,{"fieldLength":588}],[70,{"fieldLength":194}],[71,{"fieldLength":43}],[72,{"fieldLength":97}],[73,{"fieldLength":38}],[74,{"fieldLength":83}],[75,{"fieldLength":247}],[76,{"fieldLength":589}],[77,{"fieldLength":209}],[78,{"fieldLength":90}],[79,{"fieldLength":563}],[80,{"fieldLength":120}],[81,{"fieldLength":424}],[82,{"fieldLength":187}],[83,{"fieldLength":46}],[84,{"fieldLength":106}],[85,{"fieldLength":527}],[86,{"fieldLength":33}],[87,{"fieldLength":3}],[88,{"fieldLength":715}],[89,{"fieldLength":107}],[90,{"fieldLength":42}],[91,{"fieldLength":35}],[92,{"fieldLength":96}],[93,{"fieldLength":118}],[94,{"fieldLength":113}],[95,{"fieldLength":130}],[96,{"fieldLength":50}],[97,{"fieldLength":116}],[98,{"fieldLength":76}],[99,{"fieldLength":184}],[100,{"fieldLength":75}],[101,{"fieldLength":49}],[102,{"fieldLength":51}],[103,{"fieldLength":39}],[104,{"fieldLength":43}],[105,{"fieldLength":53}],[106,{"fieldLength":284}],[107,{"fieldLength":75}],[108,{"fieldLength":198}],[109,{"fieldLength":59}],[110,{"fieldLength":257}]],"totalFieldLength":25819,"root":{"k":[91,60,12298,119,21019,32626,52,22269,35768,26412,33,25903,35,21069,62,23545,8212,30693,20171,111,120,19978,45,118,106,47,114,31561,21518,110,20026,21253,103,107,104,101,25968,109,32463,20174,22823,37096,32780,24605,26410,24635,50,26202,28304,27426,102,25105,40,105,29992,96,23558,38,20320,22914,99,26356,26694,24320,19987,20248,36716,35813,112,26368,30005,26681,31508,22312,24615,25955,32493,23631,49,27604,20197,37325,30340,20854,38190,35302,33394,21488,33529,25512,53,65509,19981,43,100,20004,26174,54,65288,20869,51,19975,21155,26029,38500,32452,22522,20860,108,21487,24425,20160,26041,32570,25509,117,24494,115,31995,121,20043,20108,24179,39034,21435,20307,30446,29256,21326,116,27169,35774,21333,26377,26159,24037,37197,38543,36873,25110,57,21453,21315,24102,26354,33258,25805,20165,24180,38453,23376,29615,98,36719,22270,33050,25991,26381,24456,21457,29616,97,34394,21644,30561,34429,20540,37117,19968,19979,25928,27979,25216,20381,24212,23433,20801,25913,36755,36890,21629,32456,20840,25171,20851,30028,27880,27809,63,27491,20934,48,22320,36335,38745,31471,20027,20195,20998,61,123,125,46,39,20551,31085,20139,26680,124,26597,26641,26399,36882,58,38382,27599,24490,27425,23618,35745,31354,20351,187,39064,31572,37,32473,25152,20363,35201,21407,35299,24322,94,8230,30001,22240,42,64,126,32467,22855,29305,30456,55,56,24403,31532,27714,26411,39033,21363,44,23884,22810,26465,34920,24341,36991,30334,25554,27627,20294,26102,26085,92,36,41,23384,32034,38463,21478,23450,113,25193,20063,21521,36801,24555,20570,36830,95,20013,32534,36828,25366,21442,23448,23553,93,31034,35760,25191,33719,37324,38656,20855,65292,25353,30331,36866,24744,23436,29228,25235,27493,24517,36825,19977,9500,9474,9492,36816,34,38169,28210,21450,20808,28982,36827,21021,26816,26469,20837,23646,23567,20943,21516,20462,26032,26367,29983,26684,35775,21551,33521,23454,38057,22788,27969,20030,22768,20989,23601,36820,24515,26700,26126,29702,36981,26082,24182,24050,27492,20877,20889,38024,30452,33219,38590,21482,20010,20135,21152,23427,36824,20316,21313,38381,21040,27983,36328,20973,35821,25351,35843,20687,25172,25429,20250,40664,20107,35831,36941,24046,23458,25240,40657,122,26576,65289,26999,23435,20223,21035,25552,31227,20116,31359,21033,26631,26080,39029,36164,20102,36148,31649,24120,21464,21508,38142,35841,25628,21024,28155,31867,24213,39640,31105,24207,29976,36807,21028,24378,28040,35828,31661,28608,31526,36134,20179,21046,39318,25424,24314,20572,21047,34987,31383,24418,22797,21338,20445,25645,25480,22909,30830,38468,59,20219,38750,37322,26657,34892,25209,24573,37027,25226,35753,33021,22495,21160,28378,35814,8679,25253,25972,38405,32654,25214,28857,24773,22681,21387,24819,23383,22686,39030,20559,20256,27975,25104,21462,22353,19982,38480,25490,20301,25243,20999,20113,31616,21015,39044,25340,25042,32531,32771,19994,29255,37319,28165,35777,24453,23494,32451,20379,29420,33267,25289,28436,35880,24930,21807,31614,22987,32806,35268,30828,20912,24377,8800,20132,27010,24590,20180,20390,31181,25265,22330,26426,8216,37492,21542,21319,39041,20813,25345,24038,22635,12304,39564,24448,36275,32593,20805,20005,20859,22521,21512,26434,36339,32477,36186,21531,29579,20493,20284,23398,21220,31119,39532,21592,33410,21171,20154,22242,22993,34880,20309,29233,25954,26143,21448,23500,24110,35797,23588,20506,22825,38075,35878,20215,36129,24847,30495,40863,20820,25026,29978,36136,31639,29575,35206,38754,30524,26234,22266,38271,36386,22696,22833,22351,23425,36367,21364,23569,31934,26477,29942,20811,38459,27934,31351,30740,25165,25163,25380,36861,36947,31350,30475,36229,21097,21151,28041,30701,32422,39129,23548,27515,21344,35835],"v":[{"d":{"df":16,"dc":[[12,2],[26,6],[27,2],[33,1],[39,1],[40,2],[43,2],[48,18],[57,5],[63,5],[64,1],[65,2],[68,3],[85,2],[106,3],[107,1]]},"k":[33,119,30693,93,50,49,112,109,39,102,46,99,110,97,108,34,116,98,105,121,29256,25805,111,100,31185,22312,31163,21069,21442,104,101,37197,52,55,57,114,91,117,47,24517],"v":[{"k":[91],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[20849],"v":[{"k":[20139],"v":[{"k":[35768],"v":[{"k":[21487],"v":[{"k":[21327],"v":[{"k":[35758],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[120],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]},{"k":[35782],"v":[{"k":[20849],"v":[{"k":[20139],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]},{"d":{"df":1,"dc":[[21,1]]},"k":[41,59,44],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[120,91],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]},{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":9,"dc":[[12,1],[15,3],[27,3],[39,1],[48,1],[62,1],[63,2],[79,1],[85,1]]}},{"d":{"df":1,"dc":[[85,4]]}}]},{"k":[48,44],"v":[{"k":[44],"v":[{"k":[49],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[51],"v":[{"k":[44],"v":[{"k":[51],"v":[{"k":[44],"v":[{"k":[53],"v":[{"k":[44],"v":[{"k":[53],"v":[{"k":[44],"v":[{"k":[49],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[52],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[44],"v":[{"k":[52],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[53],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[44,55],"v":[{"d":{"df":4,"dc":[[8,1],[30,1],[33,5],[48,6]]},"k":[49],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[53],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[52],"v":[{"k":[44],"v":[{"k":[52],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[53],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]},{"k":[111,97,109],"v":[{"k":[115,114],"v":[{"k":[116],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]},{"k":[116],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[99,115],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[108,93],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[51,3]]},"k":[64],"v":[{"k":[91],"v":[{"k":[118,116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[51,2]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[103],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[51,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[121,100],"v":[{"k":[115],"v":[{"k":[113,101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[11,1]]}}]},{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]},{"k":[53],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]},{"k":[36,101,114,110,46,102,104,116,100,117,112],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[56],"v":[{"k":[51],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[98],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[51],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[57],"v":[{"k":[99],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[57],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[57],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,114],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45,39],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[93,44],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]},{"k":[121,116],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[114,97],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[49,50],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117,111,108],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[58,93],"v":[{"d":{"df":1,"dc":[[12,11]]}},{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]},{"k":[46],"v":[{"k":[46],"v":[{"k":[110,111],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108,114,111],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[116,118],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[45,2]]}}]}]}]}]}]},{"k":[114,100],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]},{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"k":[101,111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"k":[112,44,119,102,115],"v":[{"k":[112],"v":[{"k":[109,99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}},{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[94,1]]}}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,108,116,105,97,100,119,95,111],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[115,116],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[34],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[34],"v":[{"k":[44],"v":[{"k":[34],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[34],"v":[{"k":[44],"v":[{"k":[34],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[34],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97,114,105],"v":[{"k":[114,98],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[27,2]]}}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]},{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[44,114,101],"v":[{"d":{"df":1,"dc":[[27,1]]}},{"k":[101,97],"v":[{"k":[119],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]},{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110,100],"v":[{"k":[105,102],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[45,6]]}}]}]}]},{"k":[101],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[36,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26435],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[121],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20316],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[40],"v":[{"k":[111],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]},{"k":[104],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110,97,105],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]},{"k":[23398],"v":[{"k":[19978],"v":[{"k":[32593],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[78,1]]},"k":[32447],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32447],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31471],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19982],"v":[{"k":[32773],"v":[{"k":[93],"v":[{"k":[91],"v":[{"k":[31661],"v":[{"k":[22836],"v":[{"k":[93],"v":[{"k":[91],"v":[{"k":[21442],"v":[{"k":[19982],"v":[{"k":[32773],"v":[{"k":[93],"v":[{"k":[58],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58,115],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[108,111,119,98,115,109,110,112],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[41],"v":[{"k":[44],"v":[{"k":[36825],"v":[{"k":[26102],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[30475],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[122],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[122],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[105,116,106,115,99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117,112],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[51],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[51],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101,111],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[107],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[106],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[106],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[50],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[50],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[100,99,103,97,112,116],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104,111],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[112,114,98,106,117],"v":[{"k":[97,111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[107],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[103],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[103],"v":[{"k":[106],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[107],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[103],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[103],"v":[{"k":[106],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[106],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[107],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[106],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[107],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[109],"v":[{"k":[107],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[106],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[109],"v":[{"k":[107],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[106],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[98],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[103],"v":[{"k":[106],"v":[{"k":[104],"v":[{"k":[103],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[109],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[104],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[98],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[103],"v":[{"k":[106],"v":[{"k":[104],"v":[{"k":[103],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[109],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[100],"v":[{"k":[107],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[107],"v":[{"k":[106],"v":[{"k":[104],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[102],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[106],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[100],"v":[{"k":[107],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[107],"v":[{"k":[106],"v":[{"k":[104],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[102],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[106],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[107],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[107],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[107],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[107],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[106,99],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[109],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[109],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[102,99,106,114],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[32622],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[66,2]]}}]}]}]}]}]},{"k":[39],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[99,109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39035],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]},{"d":{"df":11,"dc":[[6,1],[10,4],[20,2],[27,3],[33,1],[39,1],[47,4],[54,1],[69,1],[79,1],[110,2]]},"k":[104,97,61,100,115,33,109,116,108,47,98,20179,60,119,117,102],"v":[{"k":[116,101,111],"v":[{"k":[116,109],"v":[{"k":[112],"v":[{"k":[58,115],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99,100,114,104,115,119,116,122,98,97,101,106,50,110],"v":[{"k":[114,97,111],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[35],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[61],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[53],"v":[{"k":[62],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,97],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,117],"v":[{"k":[100,99],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[35],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,104],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[119],"v":[{"k":[51],"v":[{"k":[99],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[105,114,106,115,122,120],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[113],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[47],"v":[{"k":[48],"v":[{"k":[53],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[118],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[47],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[51],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[51],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46,104,111],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[106],"v":[{"k":[120],"v":[{"k":[122],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[107],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[111,108],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,114,105,117],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[121],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110,122],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,116],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[120],"v":[{"k":[95],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103,108,119,100,110,99,118,114,106,107,121,97,115,104],"v":[{"k":[105,114],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119,106,97,109,100,115,101,104,107,110,99,118,116,108,112,98,114,103,102,117],"v":[{"k":[105,117,50],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[108,115,98,101,103,119,118,107],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[103,98],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,114],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,113],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]},{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[104,110],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":2,"dc":[[46,1],[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,97],"v":[{"k":[45],"v":[{"k":[98,99],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[104,117],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[62,47],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112,105,99,108,122],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[100],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[119,110],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[108,115],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[119,115],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[100],"v":[{"k":[107],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[117],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[107],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[35],"v":[{"k":[108],"v":[{"k":[52],"v":[{"k":[52],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121,111],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[62,47],"v":[{"d":{"df":1,"dc":[[12,1]]}},{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[35],"v":[{"k":[108],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[120],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105,97],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[45,120],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47,45],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[106,98,118,103,105],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[107],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[18,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[62,47],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[116,98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[49,50],"v":[{"k":[48,49,50],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[51],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[50],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[114,98],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99,114],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[51],"v":[{"k":[57],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[116,112],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]},{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[108,103,62],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[97,101],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119,101],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[100,99,105,110,106,111],"v":[{"k":[111,97],"v":[{"k":[117],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[53],"v":[{"k":[56],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[35],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,108],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[102,115,100,98,99],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111,115],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[109],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[97,105],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[105,101],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[55],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,101,111,51],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118],"v":[{"k":[46,101],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[100,114,120],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[45],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[101,122],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[95],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[114,112],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[121],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[110,116],"v":[{"k":[101,112],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111,110],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62,103],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[62,55],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[101,99],"v":[{"k":[110],"v":[{"k":[118,99],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[62],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[62],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]},{"k":[117,111],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[102,103,101],"v":[{"k":[97],"v":[{"k":[113],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[121],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[118,114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[35],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[35],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110,114,97,111,104],"v":[{"k":[46,111],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[62,118],"v":[{"d":{"df":1,"dc":[[25,1]]}},{"k":[50],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[51],"v":[{"k":[98],"v":[{"k":[57],"v":[{"k":[50],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[53],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[55],"v":[{"k":[102],"v":[{"k":[100],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46,112],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[107],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101,105],"v":[{"k":[46],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":2,"dc":[[57,1],[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[62,47],"v":[{"d":{"df":1,"dc":[[106,1]]}},{"k":[116,98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[53],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[52],"v":[{"k":[49],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[53],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[50],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[48],"v":[{"k":[53],"v":[{"k":[102],"v":[{"k":[99],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[56],"v":[{"k":[102],"v":[{"k":[57],"v":[{"k":[97],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[104,119],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[106],"v":[{"k":[105],"v":[{"k":[106],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[106],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[121],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[109],"v":[{"k":[104],"v":[{"k":[106],"v":[{"k":[107],"v":[{"k":[112],"v":[{"k":[102],"v":[{"k":[110],"v":[{"k":[98],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[106],"v":[{"k":[102],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[45,102],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[115],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[107],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":2,"dc":[[51,1],[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102,116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":2,"dc":[[57,1],[58,1]]}}]}]}]}]}]}]}]}]},{"k":[104,116,101,117],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[53],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[54],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]},{"k":[97],"v":[{"k":[100],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[6,4]]},"k":[100],"v":[{"k":[115],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[62],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":109,"dc":[[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1],[10,1],[11,1],[12,1],[13,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[26,1],[27,1],[28,1],[29,1],[30,1],[31,1],[32,1],[33,1],[34,1],[35,1],[36,1],[37,1],[38,1],[39,1],[40,1],[41,1],[42,1],[43,1],[44,1],[45,1],[46,1],[47,1],[48,1],[49,1],[50,1],[51,1],[52,1],[53,1],[54,1],[55,1],[56,1],[57,1],[58,1],[59,1],[60,1],[61,1],[62,1],[63,1],[64,1],[65,1],[66,1],[67,1],[68,1],[69,1],[70,2],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[85,1],[86,1],[87,1],[88,1],[89,1],[90,1],[91,1],[92,1],[93,1],[94,1],[95,1],[96,1],[97,1],[98,1],[99,1],[100,1],[101,1],[102,1],[103,1],[104,1],[105,1],[106,1],[107,1],[108,1],[109,1],[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[6,1],[48,2],[106,1]]}},{"k":[105,97],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[42,1]]},"k":[62],"v":[{"k":[123],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[125],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[62],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[37,1],[42,2],[43,1]]}}]}]}]}]}]},{"k":[100,45],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]},{"k":[45],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[42,3]]}}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[62],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[39046],"v":[{"k":[34966],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[35745],"v":[{"k":[21010],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[107],"v":[{"d":{"df":2,"dc":[[42,1],[43,1]]}}]}]}]},{"k":[104,98,115],"v":[{"k":[101,116],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]},{"k":[109],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]},{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]},{"k":[24211],"v":[{"k":[20811],"v":[{"k":[38534],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[47,3],[54,1]]}},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[64],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[62],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19981,20320],"v":[{"k":[21487],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[39046],"v":[{"k":[34966],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[35745],"v":[{"k":[21010],"v":[{"k":[12299],"v":[{"k":[30001],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[33021],"v":[{"k":[29992],"v":[{"k":[19981],"v":[{"k":[19978],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]},{"k":[97,105,101,104,111,114,119,103,54],"v":[{"k":[110,114,105,112,108,57],"v":[{"k":[103,116],"v":[{"d":{"df":2,"dc":[[2,1],[67,1]]},"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[19,1]]}}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[33,1]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[121],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[59,1]]}}]},{"k":[122],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[120],"v":[{"k":[53],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[113],"v":[{"k":[113],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[107],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[56],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[49],"v":[{"k":[103],"v":[{"k":[43],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[43],"v":[{"k":[119],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108,110,116,100],"v":[{"k":[108],"v":[{"d":{"df":4,"dc":[[7,1],[8,1],[30,1],[88,1]]},"k":[105],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[2,1],[88,1]]},"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[111,115],"v":[{"k":[119],"v":[{"k":[115,46,34],"v":[{"d":{"df":1,"dc":[[3,5]]}},{"k":[102,97,36],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[28,2]]}}]}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"d":{"df":2,"dc":[[42,1],[43,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[76,4]]},"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[104],"v":[{"d":{"df":7,"dc":[[11,1],[17,1],[19,7],[44,2],[45,1],[68,1],[88,3]]},"k":[111,95],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]},{"k":[105,103,116,100,99,118,98],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[10,1]]}}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]},{"k":[105,101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[10,2]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[10,2]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[10,4]]}}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[10,4]]}}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"d":{"df":3,"dc":[[11,1],[20,1],[59,1]]},"k":[98,108],"v":[{"d":{"df":5,"dc":[[3,1],[38,1],[71,1],[78,1],[96,1]]},"k":[112,47,30028,115,97],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":7,"dc":[[26,9],[37,1],[63,2],[67,1],[68,3],[70,2],[92,3]]},"k":[46,50,58,45],"v":[{"k":[99,100,111,108],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102,116],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106,112,100],"v":[{"k":[115],"v":[{"d":{"df":3,"dc":[[16,1],[26,1],[93,1]]}}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[16,1],[93,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":3,"dc":[[26,2],[68,1],[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[97,99,109,117],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[26,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]},"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,1]]}},{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[40,1]]}},{"k":[38754],"v":[{"k":[36328],"v":[{"k":[22495],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"d":{"df":2,"dc":[[57,1],[58,1]]},"k":[65292],"v":[{"k":[36827,19968],"v":[{"k":[38454],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[26041],"v":[{"k":[38754],"v":[{"k":[36825],"v":[{"k":[26159],"v":[{"k":[20010],"v":[{"k":[20184],"v":[{"k":[36153],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[105,101,97],"v":[{"k":[99,108],"v":[{"k":[104],"v":[{"d":{"df":4,"dc":[[8,2],[19,2],[29,1],[40,1]]}}]},{"k":[101],"v":[{"d":{"df":2,"dc":[[15,1],[85,1]]}}]}]},{"k":[114,110],"v":[{"k":[101],"v":[{"d":{"df":5,"dc":[[10,10],[65,1],[79,9],[108,1],[110,1]]},"k":[58,93,44],"v":[{"d":{"df":2,"dc":[[11,1],[81,1]]}},{"k":[41],"v":[{"d":{"df":1,"dc":[[79,2]]},"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"d":{"df":1,"dc":[[79,3]]}}]}]},{"d":{"df":2,"dc":[[19,3],[40,1]]}}]},{"k":[116],"v":[{"k":[39],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[108,100,107],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[102,1]]},"k":[39,33,96,34,46],"v":[{"k":[59,41],"v":[{"d":{"df":2,"dc":[[18,1],[22,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[39,96],"v":[{"k":[41],"v":[{"k":[59,41],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[37117],"v":[{"k":[33021],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65292],"v":[{"k":[26356],"v":[{"k":[20309],"v":[{"k":[20917],"v":[{"k":[26159],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[30340],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[21602],"v":[{"k":[65311],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[26377],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[30340],"v":[{"k":[39640],"v":[{"k":[19979],"v":[{"k":[65292],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[30340],"v":[{"k":[32321],"v":[{"k":[31616],"v":[{"k":[31561],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[22240],"v":[{"k":[32032],"v":[{"k":[21435],"v":[{"k":[20915],"v":[{"k":[23450],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[21644],"v":[{"k":[31283],"v":[{"k":[23450],"v":[{"k":[24615],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[26,1],[92,1]]}},{"k":[41],"v":[{"d":{"df":1,"dc":[[29,1]]}}]},{"d":{"df":1,"dc":[[59,1]]}}]}]},{"k":[115],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"d":{"df":1,"dc":[[68,1]]},"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[112,114,99],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[31,1]]},"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[40,44],"v":[{"k":[114,116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[95],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":4,"dc":[[54,2],[59,1],[82,1],[88,5]]}}]}]},{"k":[105],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[122],"v":[{"k":[57],"v":[{"k":[111],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[102],"v":[{"k":[106],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[122],"v":[{"k":[55],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[113],"v":[{"k":[53],"v":[{"k":[112],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[43],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[56],"v":[{"k":[113],"v":[{"k":[50],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[104],"v":[{"k":[104],"v":[{"k":[119],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[99],"v":[{"k":[56],"v":[{"k":[122],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[52],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20316,24314,19994],"v":[{"k":[65292],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]},{"d":{"df":3,"dc":[[20,1],[75,2],[76,2]]},"k":[32034,21807,36830,39033,58,20989,33258,35745,96,21508,19968,20195,36335,35774,25968,29992,37197],"v":[{"k":[24341],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[21518],"v":[{"k":[20250],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[32034],"v":[{"k":[24341],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[25509],"v":[{"k":[27744],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[30446],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[24744],"v":[{"k":[20250],"v":[{"k":[36827],"v":[{"k":[20837],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[35814],"v":[{"k":[24773],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[65292],"v":[{"k":[24744],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[32534],"v":[{"k":[20889],"v":[{"k":[21644],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"k":[12290],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[27573],"v":[{"k":[25991],"v":[{"k":[26412],"v":[{"k":[65292],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[21578],"v":[{"k":[35785],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[26,3]]}},{"k":[25968],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[24049],"v":[{"k":[30340],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]},{"k":[21010],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]},{"k":[98],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]}]}]}]}]}]},{"k":[31867],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[96],"v":[{"k":[21450],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[29305],"v":[{"k":[24615],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[29992],"v":[{"k":[21040],"v":[{"k":[96],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32534],"v":[{"k":[35793],"v":[{"k":[21457],"v":[{"k":[24067],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]},{"k":[29702],"v":[{"d":{"df":1,"dc":[[64,1]]}}]},{"k":[30001],"v":[{"d":{"df":2,"dc":[[75,1],[76,1]]}}]},{"k":[22791],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]},{"k":[25454],"v":[{"k":[24211],"v":[{"d":{"df":1,"dc":[[106,1]]},"k":[27169],"v":[{"k":[22411],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"k":[25143],"v":[{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]},{"k":[20043],"v":[{"k":[21069],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[28165],"v":[{"k":[26970],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[21019],"v":[{"k":[19994],"v":[{"k":[30340],"v":[{"k":[21160],"v":[{"k":[26426],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[24403],"v":[{"k":[39046],"v":[{"k":[23548],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[19981],"v":[{"k":[34987],"v":[{"k":[31649],"v":[{"k":[26463],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[25552],"v":[{"k":[21069],"v":[{"k":[25171],"v":[{"k":[28040],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[24565],"v":[{"k":[22836],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21517],"v":[{"k":[45],"v":[{"k":[38750],"v":[{"k":[21830],"v":[{"k":[19994],"v":[{"k":[24615],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[45],"v":[{"k":[30456],"v":[{"k":[21516],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[20849],"v":[{"k":[20139],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":4,"dc":[[33,1],[39,1],[48,2],[91,1]]},"k":[46,107,55,48,51,44,53,52,58,37,56,99,65306,39,57,59,49,103,41],"v":[{"d":{"df":15,"dc":[[7,1],[15,1],[26,2],[45,1],[62,1],[67,1],[71,1],[74,1],[76,1],[89,1],[90,1],[92,1],[99,1],[106,1],[108,1]]},"k":[48,50,21457,22797,22833,33258],"v":[{"d":{"df":1,"dc":[[1,1]]},"k":[107],"v":[{"d":{"df":1,"dc":[[40,3]]}}]},{"k":[46],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]},{"k":[24067],"v":[{"d":{"df":1,"dc":[[42,1]]}}]},{"k":[21046],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[21040],"v":[{"k":[26032],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]},{"k":[36133],"v":[{"d":{"df":1,"dc":[[62,2]]}}]},{"k":[21160],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[3,2],[97,1]]}},{"k":[51],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[96,41],"v":[{"d":{"df":1,"dc":[[6,2]]}},{"k":[44,59],"v":[{"d":{"df":1,"dc":[[6,1]]}},{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]},{"k":[115,48,52,49,51,54,37],"v":[{"k":[65292],"v":[{"k":[25286],"v":[{"k":[20998],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[65292],"v":[{"k":[116],"v":[{"k":[49],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]},"k":[48,44],"v":[{"d":{"df":1,"dc":[[44,1]]},"k":[44,65292],"v":[{"d":{"df":1,"dc":[[17,1]]}},{"k":[39],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}}]},{"d":{"df":1,"dc":[[37,4]]},"k":[65292,46,59],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[37,2],[69,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[69,1]]}}]},{"d":{"df":2,"dc":[[69,2],[106,1]]},"k":[39,41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]},{"d":{"df":1,"dc":[[106,1]]},"k":[39,41,44],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"k":[53],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[53,1]]}},{"k":[65288],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[10,1]]},"k":[48,37],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":5,"dc":[[31,1],[33,6],[39,1],[48,5],[63,1]]},"k":[55,54],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]},{"k":[53,49],"v":[{"k":[51],"v":[{"k":[44],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]},{"k":[50],"v":[{"k":[44],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[101,1]]},"k":[54],"v":[{"k":[45],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[75,1]]},"k":[51],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]},"k":[12290,58],"v":[{"d":{"df":1,"dc":[[38,1]]}},{"k":[110],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[51],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"d":{"df":1,"dc":[[40,1]]}},{"k":[104,107],"v":[{"d":{"df":1,"dc":[[43,1]]}},{"d":{"df":1,"dc":[[95,1]]}}]},{"k":[112],"v":[{"k":[117],"v":[{"k":[44],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]},{"k":[22312],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"d":{"df":1,"dc":[[71,1]]}},{"d":{"df":1,"dc":[[76,2]]}},{"k":[57],"v":[{"k":[54],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[91,1]]}}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]},{"k":[38469],"v":[{"d":{"df":1,"dc":[[1,1]]},"k":[21270],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[38590],"v":[{"k":[24230],"v":[{"k":[65292],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[30340],"v":[{"k":[32763],"v":[{"k":[35793],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[65288],"v":[{"k":[33521],"v":[{"k":[25991],"v":[{"k":[65289],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[21327],"v":[{"k":[35758],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[41],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[35768],"v":[{"k":[21487],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20154,20070,31456,39064,25991,25945,36136,22320,39033,32844,27425,23454],"v":[{"k":[20445],"v":[{"k":[30041],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[65292],"v":[{"k":[20445],"v":[{"k":[30041],"v":[{"k":[20986],"v":[{"k":[29256],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[65292],"v":[{"k":[26410],"v":[{"k":[32463],"v":[{"k":[26412],"v":[{"k":[20154],"v":[{"k":[20070],"v":[{"k":[38754],"v":[{"k":[35768],"v":[{"k":[21487],"v":[{"k":[20219],"v":[{"k":[20309],"v":[{"k":[20154],"v":[{"k":[19981],"v":[{"k":[24471],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[21830],"v":[{"k":[19994],"v":[{"k":[20986],"v":[{"k":[29256],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30001],"v":[{"k":[27973],"v":[{"k":[21450],"v":[{"k":[28145],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[21253],"v":[{"k":[25324],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33410,20027],"v":[{"k":[23558,31034,20197],"v":[{"k":[22260],"v":[{"k":[32469],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[35805],"v":[{"k":[39064],"v":[{"k":[20381],"v":[{"k":[27425],"v":[{"k":[23637],"v":[{"k":[24320],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[20301],"v":[{"k":[20110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[63,1],[64,1]]}}]},{"k":[35201],"v":[{"k":[35762],"v":[{"k":[35299],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[25277],"v":[{"k":[35937],"v":[{"k":[25104],"v":[{"k":[65306],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20013,31034],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[20363],"v":[{"k":[20197],"v":[{"k":[19968],"v":[{"k":[22871],"v":[{"k":[23436],"v":[{"k":[25972],"v":[{"k":[30340],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[21270],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[20102],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31243],"v":[{"k":[26088],"v":[{"k":[22312],"v":[{"k":[24110],"v":[{"k":[21161],"v":[{"k":[24744],"v":[{"k":[24555],"v":[{"k":[36895],"v":[{"k":[19978],"v":[{"k":[25163],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19978],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[54,1]]},"k":[23433,26032,25991],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[24314],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[20214],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]},{"k":[30446],"v":[{"k":[23454,20013],"v":[{"k":[20363],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]},{"k":[37319],"v":[{"k":[29992],"v":[{"k":[21069],"v":[{"k":[21518],"v":[{"k":[31471],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[20998],"v":[{"k":[31163],"v":[{"k":[30340],"v":[{"k":[20570],"v":[{"k":[27861],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[19981],"v":[{"k":[20165],"v":[{"k":[20165],"v":[{"k":[26159],"v":[{"k":[20889],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[35831],"v":[{"k":[27714],"v":[{"k":[21457,32467],"v":[{"k":[36215],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]},{"k":[26463],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]},{"k":[36341],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[44,1],[69,1]]},"k":[91,62,61,116,114,97],"v":[{"k":[25903,104,50,49,51,52,112,105,111,114,116,103,99,109,93,101,100,26550,98],"v":[{"k":[20184],"v":[{"k":[23453],"v":[{"k":[25424],"v":[{"k":[36192],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[51],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[57],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[99],"v":[{"k":[53],"v":[{"k":[57],"v":[{"k":[100],"v":[{"k":[54],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[99],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[102],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[57],"v":[{"k":[49],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[53],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[54],"v":[{"k":[51],"v":[{"k":[53],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,105],"v":[{"k":[119,114],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[54],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[48],"v":[{"k":[98],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[56],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[52],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[54],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[51],"v":[{"k":[102],"v":[{"k":[49],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[49],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[53],"v":[{"k":[100],"v":[{"k":[56],"v":[{"k":[98],"v":[{"k":[52],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112,109,116,111],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[49],"v":[{"k":[47],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[102],"v":[{"k":[100],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47,104],"v":[{"k":[98,101,109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[100,104],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100,111,112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[116,99,109,115,117,102],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]},{"k":[121,101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]},{"k":[113],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[114,119],"v":[{"k":[101,111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[87,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[49,50,51,52],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]},{"k":[45],"v":[{"k":[49,50,51],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[104,115,102],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[103,116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[98,115],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[48],"v":[{"k":[52,53,54],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[48],"v":[{"k":[48,49,50,51],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[48],"v":[{"k":[48,49],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[101,114],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[53],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[55],"v":[{"k":[102],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[100],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[53],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,99],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[55],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[102],"v":[{"k":[51],"v":[{"k":[102],"v":[{"k":[53],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[100],"v":[{"k":[53],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[97],"v":[{"k":[53],"v":[{"k":[57],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[49],"v":[{"k":[49,50],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[102],"v":[{"k":[52],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[55],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[51],"v":[{"k":[97],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[57],"v":[{"k":[102],"v":[{"k":[100],"v":[{"k":[54],"v":[{"k":[100],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[47],"v":[{"k":[55],"v":[{"k":[51],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[102],"v":[{"k":[49],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[55],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[51],"v":[{"k":[97],"v":[{"k":[48],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114,93],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[54],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[51],"v":[{"k":[53],"v":[{"k":[55],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[101],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[102],"v":[{"k":[50],"v":[{"k":[97],"v":[{"k":[54],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[51],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[55],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[51],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[55],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[54],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[53],"v":[{"k":[55],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[54],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[52],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[52],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[51],"v":[{"k":[57],"v":[{"k":[50],"v":[{"k":[98],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[99],"v":[{"k":[51],"v":[{"k":[102],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[102],"v":[{"k":[51],"v":[{"k":[97],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[100],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[101],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[49,50],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[57],"v":[{"k":[45],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[100],"v":[{"k":[51],"v":[{"k":[98],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[100],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[100],"v":[{"k":[54],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[53],"v":[{"k":[102],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[99],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[57],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[49],"v":[{"k":[102],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[47,104],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[49,50,51,52,53,54,55,56,57],"v":[{"k":[46,48,49],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[54],"v":[{"k":[55],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[55],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[48],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[57],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[99],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[100],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,118,110],"v":[{"k":[22270,114],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[51],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[97],"v":[{"k":[48],"v":[{"k":[52],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[99],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[55],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[57],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[52],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[93,115],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[48],"v":[{"k":[54],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[55],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[102],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[53],"v":[{"k":[56],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[101,107],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[54],"v":[{"k":[100],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[55],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[121],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[102],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[101],"v":[{"k":[56],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[51],"v":[{"k":[100],"v":[{"k":[54],"v":[{"k":[50],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[51],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[98],"v":[{"k":[53],"v":[{"k":[97],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[55],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[100],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26500],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":6,"dc":[[5,1],[11,1],[48,1],[76,1],[78,1],[99,1]]}},{"k":[61],"v":[{"d":{"df":8,"dc":[[10,2],[28,2],[42,2],[62,1],[63,6],[65,1],[69,4],[79,1]]}}]},{"k":[111,105,104],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[91],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[101,99],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[91],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[91],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20184,25345],"v":[{"k":[23453],"v":[{"k":[25424],"v":[{"k":[36192],"v":[{"k":[35831],"v":[{"k":[25195],"v":[{"k":[30721],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[1,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[28,1],[70,1]]},"k":[35302,26816,33258,58,30340,39030,20108,25490],"v":[{"k":[25511],"v":[{"k":[65288],"v":[{"k":[25110],"v":[{"k":[25163],"v":[{"k":[20889],"v":[{"k":[31508],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]},{"k":[26597],"v":[{"d":{"df":1,"dc":[[28,1]]}}]},{"k":[23450],"v":[{"k":[20041],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]},{"d":{"df":1,"dc":[[43,1]]}},{"k":[31661],"v":[{"k":[22836],"v":[{"k":[26377],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]},{"k":[32423],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[32423],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[24207],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"d":{"df":20,"dc":[[2,1],[6,3],[11,7],[20,4],[42,1],[45,8],[49,3],[50,1],[51,5],[53,3],[55,8],[57,1],[66,6],[68,2],[82,12],[84,4],[86,1],[88,23],[89,3],[93,10]]},"k":[35,23558,26412,36827,21021,51,52,47,33,21464,36828,29305,25191,26032,21019,29983,21551,24320,26597,21482,38656,22635,33258,26381,36,35774,114,20801,26368,26029,21516,21333,19979,19978,108,39564,25991,100,21478,101,25152,20063,97,30452,36890,112,37325,21024,32456,27880,117],"v":[{"d":{"df":103,"dc":[[2,4],[3,3],[4,4],[5,6],[6,2],[7,2],[8,3],[9,2],[10,6],[11,1],[12,6],[13,2],[14,3],[15,3],[16,2],[17,2],[18,2],[19,2],[20,8],[21,4],[22,2],[23,3],[24,1],[25,2],[26,4],[27,6],[28,5],[29,2],[30,2],[31,2],[32,1],[33,5],[34,3],[35,4],[36,2],[37,2],[38,1],[39,4],[40,6],[41,3],[42,4],[43,4],[44,2],[45,11],[46,2],[47,3],[48,3],[49,3],[50,3],[51,2],[52,3],[53,3],[54,4],[56,6],[57,4],[58,5],[59,2],[60,3],[61,5],[62,3],[63,4],[64,1],[65,4],[66,4],[67,6],[68,5],[69,4],[70,4],[71,1],[72,2],[73,2],[74,5],[75,3],[76,2],[77,2],[78,3],[79,2],[80,3],[81,4],[84,2],[85,2],[86,2],[88,4],[89,4],[90,2],[92,2],[93,3],[94,2],[95,2],[96,4],[97,2],[98,3],[99,4],[100,7],[101,2],[102,3],[103,2],[105,2],[106,3],[107,4],[108,3],[109,2],[110,5]]},"k":[35,51,52],"v":[{"d":{"df":60,"dc":[[3,9],[4,2],[5,3],[7,2],[10,7],[12,5],[16,2],[19,2],[20,1],[23,3],[26,6],[29,3],[30,3],[32,3],[33,3],[38,5],[40,1],[43,5],[44,5],[45,4],[46,1],[49,8],[50,3],[51,5],[53,2],[54,6],[57,11],[58,3],[59,2],[62,5],[63,13],[64,3],[65,8],[66,4],[67,1],[69,7],[70,3],[71,3],[72,6],[73,4],[74,1],[75,5],[76,9],[77,3],[78,2],[79,5],[85,5],[88,5],[89,3],[94,5],[95,5],[97,4],[98,9],[100,4],[101,5],[103,3],[105,4],[106,5],[109,3],[110,2]]},"k":[35,51],"v":[{"d":{"df":20,"dc":[[3,2],[29,2],[30,2],[33,2],[36,16],[38,1],[43,11],[45,1],[51,5],[53,2],[57,1],[62,4],[63,3],[65,8],[72,5],[76,4],[88,4],[89,2],[95,9],[97,2]]},"k":[35,51],"v":[{"d":{"df":3,"dc":[[43,1],[89,4],[95,7]]}},{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[49,50],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[49,50,51],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"d":{"df":1,"dc":[[45,1]]}},{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[20195,46],"v":[{"k":[30721],"v":[{"k":[25552,112],"v":[{"k":[20132],"v":[{"k":[21040],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[30340],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[19978],"v":[{"k":[38754],"v":[{"k":[40],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[21040],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[19978],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[22320],"v":[{"k":[21019,36890,27809],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]},{"k":[36807],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[30340],"v":[{"k":[33050],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[36339],"v":[{"k":[36807],"v":[{"k":[36825],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20837],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]},{"k":[22987],"v":[{"k":[21270],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[24211],"v":[{"k":[44],"v":[{"k":[21363],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[44],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[23545],"v":[{"k":[35813],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[25511],"v":[{"k":[21046],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[48],"v":[{"k":[56],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[56],"v":[{"k":[35],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[55],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[27599,22312],"v":[{"k":[38548],"v":[{"k":[53,50],"v":[{"k":[31186],"v":[{"k":[26174],"v":[{"k":[24335,31034],"v":[{"k":[25152,36827],"v":[{"k":[26377],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[30340],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[21344],"v":[{"k":[29992],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[31243],"v":[{"k":[30340],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[21344],"v":[{"k":[29992],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[34892],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[40],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[21517],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[26159],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[53],"v":[{"k":[21644],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[26159],"v":[{"k":[54],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[30340],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[30340],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[21344],"v":[{"k":[29992],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31186],"v":[{"k":[26174],"v":[{"k":[24335,31034],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[30340],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[21344],"v":[{"k":[29992],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[26159],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[53],"v":[{"k":[30340],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[30340],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[26174],"v":[{"k":[24335],"v":[{"k":[35813],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[34892],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24403],"v":[{"k":[21069],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[26597],"v":[{"k":[25214],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[98,115],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":2,"dc":[[40,1],[45,1]]}}]}]}]},{"k":[104],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]},{"k":[37327],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"k":[31243],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[44],"v":[{"k":[22914],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"k":[44],"v":[{"k":[20572],"v":[{"k":[27490],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[44],"v":[{"k":[37325],"v":[{"k":[26032],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23450],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[29305],"v":[{"k":[23450],"v":[{"k":[31471,29992],"v":[{"k":[21475],"v":[{"k":[30340],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[25143],"v":[{"k":[21517],"v":[{"k":[30340],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[24314],"v":[{"k":[19968,25991,39029],"v":[{"k":[26412],"v":[{"k":[20070],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[31456],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[38754],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[24314],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]},{"k":[25104],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[38745,21152,30340],"v":[{"k":[24577],"v":[{"k":[39029,25972],"v":[{"k":[38754],"v":[{"k":[33267],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[31449],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[37096,39044],"v":[{"k":[32626],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[35272],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[38745],"v":[{"k":[24577],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[20250],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[22312],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21160],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25991],"v":[{"k":[31456],"v":[{"k":[39044],"v":[{"k":[35272],"v":[{"k":[35843],"v":[{"k":[35797],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21551],"v":[{"k":[39044],"v":[{"k":[35272],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[65288],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30475],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[20986],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[30340],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[30340],"v":[{"k":[20004],"v":[{"k":[32452],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[20837],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[30340],"v":[{"k":[37038,29992],"v":[{"k":[31665],"v":[{"k":[22320],"v":[{"k":[22336],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[25143],"v":[{"k":[21517],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[21160],"v":[{"k":[26500],"v":[{"k":[24314],"v":[{"k":[21518],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[23558],"v":[{"k":[20840],"v":[{"k":[37096],"v":[{"k":[20197],"v":[{"k":[27492],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"d":{"df":1,"dc":[[45,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21153],"v":[{"k":[22120],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]},{"k":[123],"v":[{"k":[119,99,112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"k":[21152],"v":[{"k":[23494],"v":[{"k":[30340],"v":[{"k":[23494],"v":[{"k":[38053],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]},{"k":[112,101],"v":[{"k":[99],"v":[{"k":[45,31471],"v":[{"k":[115,108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21475],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]},{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[61],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]},{"k":[35768],"v":[{"k":[114,25152,22806],"v":[{"k":[112],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]},{"k":[26377],"v":[{"k":[26469],"v":[{"k":[28304],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]},{"k":[37096],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[65292],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[21482],"v":[{"k":[30417],"v":[{"k":[21548],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22823,23567],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[19979],"v":[{"k":[36733],"v":[{"k":[25968],"v":[{"k":[40],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[25968],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[25991],"v":[{"k":[20214],"v":[{"k":[20998],"v":[{"k":[29255],"v":[{"k":[22823],"v":[{"k":[23567],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]},{"k":[28857,24320],"v":[{"k":[32493],"v":[{"k":[20256],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]},{"k":[36895],"v":[{"k":[24230],"v":[{"k":[36807],"v":[{"k":[24930],"v":[{"k":[30340],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]},{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]},{"k":[25991],"v":[{"k":[20214],"v":[{"k":[26368,36895],"v":[{"k":[22823],"v":[{"k":[32447],"v":[{"k":[31243],"v":[{"k":[25968],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[24230],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"d":{"df":1,"dc":[[54,2]]}}]}]}]}]}]}]},{"k":[36733],"v":[{"k":[36895],"v":[{"k":[24230],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[20256],"v":[{"k":[36895],"v":[{"k":[24230],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35777],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[30340],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[20445,32531,39044],"v":[{"k":[23384],"v":[{"k":[36335],"v":[{"k":[24452],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]},{"k":[23384],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]},{"k":[20998],"v":[{"k":[37197],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[31181],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[61],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38656],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]},{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[82,2],[88,2]]}}]}]}]}]}]}]}]}]}]},{"k":[25509],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[20837],"v":[{"k":[21475],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]},{"k":[36807],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[35],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]},{"k":[21551],"v":[{"k":[19968,25152],"v":[{"k":[20010],"v":[{"k":[36827,24212],"v":[{"k":[31243],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[26377],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[38500],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[27490],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[24847],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[22312],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[35328,31471,32622,38656,25552,21518,20004],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"k":[58,24037,21521,35831,24212],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"k":[20855],"v":[{"d":{"df":2,"dc":[[58,1],[60,1]]}}]},{"d":{"df":1,"dc":[[63,1]]}},{"k":[27714],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[29992],"v":[{"k":[28304,36890],"v":[{"k":[30721],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[36807],"v":[{"k":[96],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[96],"v":[{"k":[31561],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[21387],"v":[{"k":[32553],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26465,35201],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[18,1]]},"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[65288],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]},{"k":[27714],"v":[{"k":[65306],"v":[{"k":[96],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[92],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39033],"v":[{"k":[30446],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]},{"k":[31471],"v":[{"k":[20998],"v":[{"k":[31163],"v":[{"d":{"df":1,"dc":[[71,1]]},"k":[44,19981],"v":[{"d":{"df":1,"dc":[[69,1]]}},{"k":[21333],"v":[{"k":[25351],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]},{"k":[24180],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[24212,26356],"v":[{"k":[24403],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[25171],"v":[{"k":[22909],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[30340],"v":[{"k":[32047],"v":[{"k":[31215],"v":[{"k":[65292],"v":[{"k":[35748],"v":[{"k":[28165],"v":[{"k":[32844],"v":[{"k":[19994],"v":[{"k":[29616],"v":[{"k":[29366],"v":[{"k":[21644],"v":[{"k":[31038],"v":[{"k":[20250],"v":[{"k":[32463],"v":[{"k":[27982],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[36235],"v":[{"k":[21183],"v":[{"k":[65292],"v":[{"k":[36866],"v":[{"k":[24212],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[21518],"v":[{"k":[30340],"v":[{"k":[29983],"v":[{"k":[27963],"v":[{"k":[65292],"v":[{"k":[23545],"v":[{"k":[24515],"v":[{"k":[28789],"v":[{"k":[28014],"v":[{"k":[36481],"v":[{"k":[30340],"v":[{"k":[27927],"v":[{"k":[28068],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22810],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[25104],"v":[{"k":[38271],"v":[{"k":[30340],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[30524],"v":[{"k":[21069],"v":[{"k":[30340],"v":[{"k":[21033],"v":[{"k":[30410],"v":[{"k":[65292],"v":[{"k":[25918],"v":[{"k":[38271],"v":[{"k":[32447],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[38035],"v":[{"k":[22823],"v":[{"k":[40060],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":37,"dc":[[2,2],[4,1],[5,1],[6,1],[7,1],[10,1],[20,2],[21,1],[23,1],[29,3],[30,4],[34,1],[40,8],[45,46],[47,4],[48,2],[54,2],[55,2],[59,1],[63,6],[65,1],[68,1],[71,1],[73,3],[78,1],[79,2],[85,1],[90,3],[94,2],[95,6],[96,2],[97,17],[98,10],[100,1],[102,4],[104,7],[107,2]]},"k":[61,62],"v":[{"d":{"df":1,"dc":[[8,1]]}},{"d":{"df":2,"dc":[[44,1],[45,1]]}}]},{"d":{"df":1,"dc":[[26,1]]},"k":[20110,36825,21407,35937,27604,20998,39030,23376,24212,23448,20195,33258,25968],"v":[{"d":{"df":1,"dc":[[97,2]]},"k":[24037,27809,33529,23567,24212,22823,26032],"v":[{"k":[20316],"v":[{"k":[19978],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[20570],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[24819],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[26159],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[21548],"v":[{"k":[20027],"v":[{"k":[31649],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[21361],"v":[{"k":[38505],"v":[{"k":[12290],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[30340],"v":[{"k":[20027],"v":[{"k":[31649],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[22312],"v":[{"k":[20046],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[25104],"v":[{"k":[38271],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[25226],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[30340],"v":[{"k":[21033],"v":[{"k":[30410],"v":[{"k":[25670],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[20301],"v":[{"k":[65292],"v":[{"k":[20182],"v":[{"k":[20204],"v":[{"k":[26368],"v":[{"k":[22312],"v":[{"k":[20046],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[32489],"v":[{"k":[25928],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[20182],"v":[{"k":[20204],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[32489],"v":[{"k":[25928],"v":[{"k":[26159],"v":[{"k":[35201],"v":[{"k":[38752],"v":[{"k":[20320],"v":[{"k":[20204],"v":[{"k":[21435],"v":[{"k":[36798],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[21548],"v":[{"k":[20182],"v":[{"k":[20204],"v":[{"k":[30340],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[24067],"v":[{"k":[32622],"v":[{"k":[21435],"v":[{"k":[20570],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[20027],"v":[{"k":[24352],"v":[{"k":[65292],"v":[{"k":[19996],"v":[{"k":[19968],"v":[{"k":[27028],"v":[{"k":[22836],"v":[{"k":[65292],"v":[{"k":[35199],"v":[{"k":[19968],"v":[{"k":[26834],"v":[{"k":[27084],"v":[{"k":[65292],"v":[{"k":[20960],"v":[{"k":[24180],"v":[{"k":[19979],"v":[{"k":[26469],"v":[{"k":[23601],"v":[{"k":[21464],"v":[{"k":[25171],"v":[{"k":[26434],"v":[{"k":[30340],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[23089,22825],"v":[{"k":[20048],"v":[{"k":[28216],"v":[{"k":[25103],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[30340],"v":[{"k":[25105],"v":[{"k":[32780],"v":[{"k":[35328],"v":[{"k":[65292],"v":[{"k":[39640],"v":[{"k":[20998],"v":[{"k":[36776],"v":[{"k":[29575],"v":[{"k":[20250],"v":[{"k":[27604],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[29575],"v":[{"k":[26356],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[21150],"v":[{"k":[20844],"v":[{"k":[12290],"v":[{"k":[39640],"v":[{"k":[20998],"v":[{"k":[23631],"v":[{"k":[25105],"v":[{"k":[26356],"v":[{"k":[20542],"v":[{"k":[21521],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36171],"v":[{"k":[65292],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[20063],"v":[{"k":[24456],"v":[{"k":[34180],"v":[{"k":[24369],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[23545],"v":[{"k":[36825],"v":[{"k":[19968],"v":[{"k":[39046],"v":[{"k":[22495],"v":[{"k":[21448],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[26377],"v":[{"k":[20852],"v":[{"k":[36259],"v":[{"k":[30340],"v":[{"k":[21516],"v":[{"k":[23398],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[20204],"v":[{"k":[35201],"v":[{"k":[21152],"v":[{"k":[20493],"v":[{"k":[21162],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"k":[19990],"v":[{"k":[19978],"v":[{"k":[26080],"v":[{"k":[38590],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[24597],"v":[{"k":[26377],"v":[{"k":[24515],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[36731],"v":[{"k":[35328],"v":[{"k":[25918],"v":[{"k":[24323],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26524],"v":[{"k":[30340],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[23601],"v":[{"k":[19981],"v":[{"k":[36807],"v":[{"k":[22810],"v":[{"k":[38416],"v":[{"k":[36848],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[27605],"v":[{"k":[31455],"v":[{"k":[21518],"v":[{"k":[32493],"v":[{"k":[25991],"v":[{"k":[31456],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[21644],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25991],"v":[{"k":[20214],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]},{"k":[23626],"v":[{"k":[29983],"v":[{"k":[12289],"v":[{"k":[21018],"v":[{"k":[27605],"v":[{"k":[19994],"v":[{"k":[20004],"v":[{"k":[24180],"v":[{"k":[20869],"v":[{"k":[30340],"v":[{"k":[32844],"v":[{"k":[22330],"v":[{"k":[26032],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[21040],"v":[{"k":[23567],"v":[{"k":[22411],"v":[{"k":[21019],"v":[{"k":[19994],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[21435],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22810],"v":[{"k":[25968],"v":[{"k":[30340,20135],"v":[{"k":[23567],"v":[{"k":[22411],"v":[{"k":[21019],"v":[{"k":[19994],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[65292],"v":[{"k":[24680],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[19968],"v":[{"k":[20154],"v":[{"k":[25269],"v":[{"k":[21313],"v":[{"k":[20154],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[24635],"v":[{"k":[26159],"v":[{"k":[35201],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[37117],"v":[{"k":[25026],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[37117],"v":[{"k":[20570],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[21364],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[28145],"v":[{"k":[20837],"v":[{"k":[38075],"v":[{"k":[30740],"v":[{"k":[30340],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20154],"v":[{"k":[24102],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[38590],"v":[{"k":[26377],"v":[{"k":[25152],"v":[{"k":[25104],"v":[{"k":[38271],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26159],"v":[{"k":[33258],"v":[{"k":[23398],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[24378],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[26126],"v":[{"k":[30830],"v":[{"k":[30340],"v":[{"k":[32844],"v":[{"k":[19994],"v":[{"k":[35268],"v":[{"k":[21010],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21191],"v":[{"k":[25954],"v":[{"k":[35797],"v":[{"k":[19968],"v":[{"k":[35797],"v":[{"k":[12290],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[31038],"v":[{"k":[20250],"v":[{"k":[26356],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[25104],"v":[{"k":[20026],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[19968],"v":[{"k":[19987],"v":[{"k":[22810],"v":[{"k":[33021],"v":[{"k":[22797],"v":[{"k":[21512],"v":[{"k":[22411],"v":[{"k":[20154],"v":[{"k":[25165],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21697],"v":[{"k":[21644],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[20165],"v":[{"k":[20973],"v":[{"k":[19968],"v":[{"k":[24049],"v":[{"k":[20043],"v":[{"k":[21147],"v":[{"k":[25197],"v":[{"k":[36716],"v":[{"k":[26410],"v":[{"k":[26469],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[30340],"v":[{"k":[37197],"v":[{"k":[21512],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20154],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[65292],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[24456],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[20165],"v":[{"k":[35201],"v":[{"k":[21482],"v":[{"k":[20854],"v":[{"k":[28982],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[35201],"v":[{"k":[30693],"v":[{"k":[20854],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[28982],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[20570],"v":[{"k":[20986],"v":[{"k":[21709],"v":[{"k":[24212],"v":[{"d":{"df":1,"dc":[[23,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[30340],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[31,1]]}},{"d":{"df":1,"dc":[[33,1]]}},{"k":[25903],"v":[{"k":[30340],"v":[{"k":[22686],"v":[{"k":[12289],"v":[{"k":[21024],"v":[{"k":[12289],"v":[{"k":[26597],"v":[{"k":[31561],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32423],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25490],"v":[{"k":[24207],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[33756],"v":[{"k":[21333],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25490],"v":[{"k":[24207],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[65,1]]}},{"k":[26041],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[39069],"v":[{"k":[22806],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[30340],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[25972],"v":[{"k":[29702],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30721],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[37325],"v":[{"k":[26500],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[20445],"v":[{"k":[35777],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24049],"v":[{"k":[26410,25152],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[26126],"v":[{"k":[30830],"v":[{"k":[30340],"v":[{"k":[35268],"v":[{"k":[21010],"v":[{"k":[65292],"v":[{"k":[30475],"v":[{"k":[19981],"v":[{"k":[21040],"v":[{"k":[32844],"v":[{"k":[19994],"v":[{"k":[26410],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[21521],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[24405],"v":[{"k":[29992],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20570],"v":[{"k":[30340],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[36827],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[65292],"v":[{"k":[30475],"v":[{"k":[19981],"v":[{"k":[21040],"v":[{"k":[20107],"v":[{"k":[19994],"v":[{"k":[21319],"v":[{"k":[21326],"v":[{"k":[30340],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[29992],"v":[{"k":[29992],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25454],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[30340],"v":[{"k":[25913],"v":[{"k":[21160],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[8212],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[34081,22696,12298],"v":[{"k":[23398],"v":[{"k":[38235],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]},{"k":[23376],"v":[{"d":{"df":1,"dc":[[97,1]]}}]},{"k":[20247],"v":[{"k":[20154],"v":[{"k":[21010],"v":[{"k":[26728],"v":[{"k":[24320],"v":[{"k":[22823],"v":[{"k":[33337],"v":[{"k":[12299],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[35782,20854],"v":[{"d":{"df":1,"dc":[[2,1]]},"k":[31687,22312],"v":[{"d":{"df":1,"dc":[[42,1]]}},{"k":[22823],"v":[{"k":[33041],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[23384],"v":[{"k":[30041],"v":[{"k":[29575],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[39640],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[24536],"v":[{"k":[35760],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[32463],"v":[{"k":[24120],"v":[{"k":[22797],"v":[{"k":[20064],"v":[{"k":[20250],"v":[{"k":[21152],"v":[{"k":[28145],"v":[{"k":[35760],"v":[{"k":[24518],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[28982],"v":[{"k":[30693],"v":[{"k":[20854],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[28982],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]},{"k":[32461],"v":[{"d":{"df":3,"dc":[[2,1],[29,1],[30,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]},{"k":[115,105,114,112,100,102,110,98,116,117,107,109,104,101,119],"v":[{"d":{"df":9,"dc":[[2,1],[3,2],[4,1],[5,1],[15,2],[48,1],[51,1],[55,1],[63,2]]},"k":[46,45],"v":[{"k":[99,104,110],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[108,114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[48],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]},{"k":[100],"v":[{"d":{"df":3,"dc":[[6,3],[62,7],[79,1]]},"k":[44,65292,41,65289,65288,58],"v":[{"d":{"df":1,"dc":[[6,1]]}},{"k":[29992,26597],"v":[{"k":[25143],"v":[{"k":[30340],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]},{"k":[35810],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[62,2]]}}]},{"d":{"df":1,"dc":[[62,1]]},"k":[65288],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]},{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]},{"d":{"df":1,"dc":[[79,1]]}}]}]},{"d":{"df":5,"dc":[[40,1],[57,1],[63,1],[79,1],[88,8]]},"k":[103,100,105],"v":[{"k":[115,105],"v":[{"d":{"df":1,"dc":[[6,2]]}},{"k":[110],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]},{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":3,"dc":[[31,1],[79,2],[88,1]]},"k":[46,58,44],"v":[{"d":{"df":1,"dc":[[30,1]]}},{"d":{"df":1,"dc":[[63,8]]}},{"d":{"df":1,"dc":[[79,2]]}}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":4,"dc":[[36,8],[41,3],[44,2],[66,3]]},"k":[44,39],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[23558],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23601],"v":[{"k":[20250,23558],"v":[{"k":[23558],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[21040],"v":[{"k":[21517],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]},{"k":[47,101,116],"v":[{"k":[115],"v":[{"d":{"df":4,"dc":[[6,2],[10,18],[33,4],[47,6]]}}]},{"k":[114,110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105,111],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"d":{"df":2,"dc":[[27,1],[65,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[69,1]]},"k":[97,45,115,40],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[14,1]]}}]},{"k":[97,105,114],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[40,46],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[64],"v":[{"k":[53],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,115],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[88,5]]},"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115,44,46],"v":[{"d":{"df":4,"dc":[[19,5],[20,2],[40,1],[70,2]]},"k":[46,41,58,59],"v":[{"d":{"df":1,"dc":[[19,5]]},"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[64,2]]}}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":2,"dc":[[20,2],[64,1]]}}]},{"d":{"df":2,"dc":[[41,1],[68,3]]}},{"d":{"df":1,"dc":[[70,2]]}}]},{"d":{"df":1,"dc":[[88,2]]}},{"d":{"df":1,"dc":[[88,3]]}}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[100],"v":[{"d":{"df":2,"dc":[[7,2],[9,1]]},"k":[45],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":9,"dc":[[7,3],[8,2],[9,2],[19,1],[20,1],[30,2],[31,3],[33,2],[88,1]]},"k":[39,96,102],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]},{"d":{"df":1,"dc":[[33,1]]}},{"k":[115,59],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[76,1],[79,1]]}}]}]},{"d":{"df":2,"dc":[[82,1],[88,2]]}}]}]},{"d":{"df":12,"dc":[[10,1],[11,1],[19,1],[40,2],[44,1],[64,1],[79,2],[81,1],[88,2],[102,1],[104,1],[108,1]]},"k":[108,101,40,58,99,59],"v":[{"k":[121],"v":[{"d":{"df":3,"dc":[[7,1],[45,1],[80,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"d":{"df":3,"dc":[[7,1],[8,1],[30,1]]},"k":[46],"v":[{"d":{"df":1,"dc":[[7,2]]}}]},{"k":[40],"v":[{"k":[96],"v":[{"k":[116],"v":[{"k":[49,52],"v":[{"k":[96],"v":[{"k":[46],"v":[{"k":[96],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,3]]}}]}]}]}]}]}]}]},{"k":[96],"v":[{"k":[46],"v":[{"k":[96],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,2]]}},{"k":[101,104,111],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[29,1]]}}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[33,1]]},"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[82,1],[88,3]]}}]},{"k":[106],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[101,49,50,40,46,58],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46,12290,105,39],"v":[{"k":[99,97,107,103,101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[125],"v":[{"k":[44],"v":[{"d":{"df":5,"dc":[[23,1],[26,2],[33,1],[64,1],[68,2]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114,116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[115],"v":[{"k":[41,91],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[91],"v":[{"k":[48],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[23,1]]}},{"k":[118],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[33,1]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"d":{"df":1,"dc":[[33,2]]},"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[19,1],[88,1]]},"k":[119,115],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[23,1]]},"k":[40],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[19,1],[26,1],[40,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[26,3],[68,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[37,1]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[58,1],[72,1]]}}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[121],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,3]]}}]}]}]}]}]},{"k":[47],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[54],"v":[{"k":[102],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[118],"v":[{"k":[119],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[121],"v":[{"k":[43],"v":[{"k":[100],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[106],"v":[{"k":[107],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[122],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[54],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[51],"v":[{"k":[106],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[52],"v":[{"k":[107],"v":[{"k":[52],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[122],"v":[{"k":[49],"v":[{"k":[104],"v":[{"k":[100],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]},{"d":{"df":10,"dc":[[2,1],[3,1],[4,1],[5,1],[7,1],[15,2],[33,1],[49,1],[55,1],[63,2]]},"k":[100,112,65289,99,46,59,49,50,110,114,41,120,40,63,109,116,45],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"d":{"df":2,"dc":[[4,1],[51,1]]}},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[4,1]]},"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[111,112,99,100,102,103,114,105],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[6,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[41,59],"v":[{"d":{"df":1,"dc":[[6,1]]}},{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]},{"k":[101,97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[119,97,103],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102,117],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110,100],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41,112],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,21]]}}]}]},{"d":{"df":1,"dc":[[6,1]]}},{"k":[44,94],"v":[{"d":{"df":1,"dc":[[7,1]]}},{"k":[120],"v":[{"k":[49],"v":[{"k":[94],"v":[{"k":[120],"v":[{"k":[50],"v":[{"k":[94],"v":[{"k":[120],"v":[{"k":[50],"v":[{"k":[94],"v":[{"k":[8230],"v":[{"k":[94],"v":[{"k":[120],"v":[{"k":[110],"v":[{"k":[94],"v":[{"k":[120],"v":[{"k":[110],"v":[{"k":[94],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[7,1]]}},{"k":[65288],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]},{"k":[101,114],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]},{"k":[102],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[106],"v":[{"k":[102],"v":[{"k":[109],"v":[{"k":[49],"v":[{"k":[106],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[109],"v":[{"k":[122],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[54],"v":[{"k":[122],"v":[{"k":[98],"v":[{"k":[118],"v":[{"k":[104],"v":[{"k":[48],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[120],"v":[{"k":[54],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[48],"v":[{"k":[107],"v":[{"k":[119],"v":[{"k":[53],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[53],"v":[{"k":[52],"v":[{"k":[105],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[122],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[112],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[57,1],[69,1]]},"k":[59,93],"v":[{"d":{"df":2,"dc":[[32,5],[33,1]]}},{"k":[40],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"d":{"df":7,"dc":[[66,1],[79,4],[88,1],[94,1],[96,1],[104,1],[110,3]]},"k":[46,45,40,41,120,49,50,39,107],"v":[{"k":[103,106],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":2,"dc":[[46,1],[85,1]]},"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[116,115],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[50,2]]}}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]}},{"d":{"df":1,"dc":[[110,2]]}},{"k":[46],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]},{"k":[101],"v":[{"k":[121],"v":[{"k":[19981],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[65292],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[20540],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24322],"v":[{"k":[27493],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]},{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[101,114],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]},{"k":[99,102,114,110],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,111],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[2,1],[45,1]]},"k":[20010,12290,32593,32423,32447,38754,19968,30340,65292,25991,25253,31227,26597,21457,36827,24320,22270,20256,23433,29677],"v":[{"k":[20154],"v":[{"k":[24120],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[12289],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12289],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[21450],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[25216],"v":[{"k":[24039],"v":[{"k":[12290],"v":[{"k":[20174],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[24120],"v":[{"k":[35782],"v":[{"k":[35762],"v":[{"k":[36215],"v":[{"k":[65292],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[12289],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[21450],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[21270],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[12289],"v":[{"k":[25345],"v":[{"k":[32493],"v":[{"k":[38598],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[27010],"v":[{"k":[24565],"v":[{"k":[20837],"v":[{"k":[38376],"v":[{"k":[12290],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[26632],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[20026],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377,33509],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[20889],"v":[{"k":[30340],"v":[{"k":[20020],"v":[{"k":[26102],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]},{"k":[20179],"v":[{"k":[24211],"v":[{"k":[21517],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[26222],"v":[{"k":[36890],"v":[{"k":[30340],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[23558],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35774],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]},{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]},{"k":[27719],"v":[{"k":[25253],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]},{"k":[20195,20004,30340],"v":[{"k":[30721],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[96],"v":[{"k":[21644],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[26159],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[29420],"v":[{"k":[31435],"v":[{"k":[30340],"v":[{"k":[24322],"v":[{"k":[27493],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[65288],"v":[{"k":[21363],"v":[{"k":[20114],"v":[{"k":[19981],"v":[{"k":[20381],"v":[{"k":[36182],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[34987],"v":[{"k":[20889],"v":[{"k":[25104],"v":[{"k":[32487],"v":[{"k":[21457],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[12290],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[32791],"v":[{"k":[26102],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[96],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[20197],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[25165],"v":[{"k":[20250],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35753],"v":[{"k":[23427],"v":[{"k":[20204],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31181],"v":[{"k":[20889],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[96],"v":[{"k":[21644],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[32553],"v":[{"k":[30701],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[30340],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20004,21629],"v":[{"k":[23478],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[26159],"v":[{"k":[20813],"v":[{"k":[36153],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]},{"k":[20196],"v":[{"k":[23601],"v":[{"k":[26159,20250],"v":[{"k":[23558],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22686],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]},{"k":[27425],"v":[{"k":[35843],"v":[{"k":[29992],"v":[{"k":[22238],"v":[{"k":[35843],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[30340],"v":[{"k":[20540],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[26159],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[30340],"v":[{"k":[21021],"v":[{"k":[22987],"v":[{"k":[20540],"v":[{"k":[65288],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[12290,23494],"v":[{"d":{"df":1,"dc":[[37,1]]}},{"k":[30721],"v":[{"k":[35299],"v":[{"k":[38145],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[24320],"v":[{"k":[21551],"v":[{"k":[25110],"v":[{"k":[20851],"v":[{"k":[38381],"v":[{"k":[65292],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[24320],"v":[{"k":[21551],"v":[{"k":[65292],"v":[{"k":[30001],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21435],"v":[{"k":[25511],"v":[{"k":[21046],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[26041],"v":[{"k":[20415],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[23558],"v":[{"k":[20854],"v":[{"k":[20851],"v":[{"k":[38381],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[30001],"v":[{"k":[20110],"v":[{"k":[36825],"v":[{"k":[31181],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[33258],"v":[{"k":[21457],"v":[{"k":[34892],"v":[{"k":[20026],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[30340],"v":[{"k":[23433],"v":[{"k":[20840],"v":[{"k":[38544],"v":[{"k":[24739],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[24471],"v":[{"k":[20132],"v":[{"k":[30001],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[33258],"v":[{"k":[34892],"v":[{"k":[25215],"v":[{"k":[25285],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[38543],"v":[{"k":[20415],"v":[{"k":[20889],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[29983],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[103,38543],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[26426],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[21040],"v":[{"k":[20844],"v":[{"k":[20849],"v":[{"k":[21306],"v":[{"k":[22495],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}},{"k":[30475],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[29616],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[22909],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26032],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[38145],"v":[{"k":[36824],"v":[{"k":[35201],"v":[{"k":[25171],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[24456],"v":[{"k":[40635],"v":[{"k":[28902],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[22914],"v":[{"k":[21435],"v":[{"k":[25481],"v":[{"k":[36825],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"k":[30340],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[26657],"v":[{"k":[39564],"v":[{"k":[65292],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[25209],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"d":{"df":2,"dc":[[74,1],[93,1]]}}]},{"k":[31034],"v":[{"k":[20363],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]},{"k":[35013],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[112],"v":[{"k":[121],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[23601],"v":[{"k":[20687],"v":[{"k":[26159],"v":[{"k":[28151],"v":[{"k":[26085],"v":[{"k":[23376],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":64,"dc":[[2,8],[3,26],[4,6],[5,3],[6,3],[7,2],[8,3],[10,17],[11,2],[12,8],[13,3],[14,8],[17,7],[18,2],[19,9],[20,10],[21,5],[24,1],[25,11],[26,8],[28,2],[30,1],[31,1],[35,5],[37,4],[40,1],[41,13],[42,12],[43,3],[44,5],[45,7],[48,25],[51,2],[52,2],[54,13],[56,5],[57,13],[58,38],[60,12],[62,33],[63,25],[65,3],[66,2],[67,3],[69,15],[70,4],[71,2],[72,10],[73,2],[75,5],[76,8],[79,2],[84,2],[85,2],[88,2],[94,5],[95,6],[97,7],[99,21],[101,9],[103,6],[106,6],[109,12],[110,2]]},"k":[45,62,97,117,116,49,61,118,103,100,109,104,98,47,99,112,110,120,111,115,108,114,101,102,119,121,105],"v":[{"d":{"df":1,"dc":[[79,1]]},"k":[45,109,105,120,99,97,111,112,118,119,100,101,114,107,106,115,62,104,103,117,113,102,116,110],"v":[{"d":{"df":9,"dc":[[2,2],[4,1],[37,2],[57,1],[68,1],[70,1],[74,1],[95,1],[102,1]]},"k":[45],"v":[{"k":[45],"v":[{"k":[45,98,101],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"d":{"df":1,"dc":[[6,2]]},"k":[45],"v":[{"k":[45],"v":[{"d":{"df":1,"dc":[[6,2]]},"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[115,120],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[110,103],"v":[{"k":[115,105],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]},{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[61,45],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[16,2],[51,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[20,3],[53,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,1]]},"k":[120],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[10,2]]},"k":[59],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]},{"k":[111,97],"v":[{"k":[110],"v":[{"k":[102,110],"v":[{"k":[105,45],"v":[{"k":[103],"v":[{"d":{"df":2,"dc":[[16,2],[81,1]]}}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[61],"v":[{"k":[126],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,109],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[36],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"k":[115,114,108,103],"v":[{"k":[97],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[16,3],[51,3]]}}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[61],"v":[{"k":[105,120],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[50],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]},{"k":[54],"v":[{"k":[52],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[45,2]]},"k":[34],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]},{"k":[118,117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[16,3],[51,3]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[61,45,112],"v":[{"k":[111,100],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[16,2],[51,2]]}}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]}]},{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[46,1],[50,1]]}}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"k":[108,114,97,111],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[61],"v":[{"k":[119,100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[51],"v":[{"k":[50],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117,101,111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]},"k":[61],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[16,2],[51,2]]}}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[105],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[54,1]]},"k":[41],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[47],"v":[{"d":{"df":1,"dc":[[54,1]]},"k":[100],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]},{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[115,98],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]},{"k":[97,105],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":2,"dc":[[19,1],[20,1]]}}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[45,111],"v":[{"k":[112,104,111,122],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[61],"v":[{"k":[60,47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[88,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[115,118],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,4]]}}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[61],"v":[{"k":[60,47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[88,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[61],"v":[{"k":[60,47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[114,103],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[122],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,105,97,114],"v":[{"k":[118],"v":[{"d":{"df":4,"dc":[[26,4],[49,2],[63,1],[65,1]]},"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]},{"k":[115,97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[61],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]},{"k":[121],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]},{"k":[109,110],"v":[{"k":[117,97],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[61],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108,103,112],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[19,5]]}}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[61],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[61],"v":[{"k":[116,104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]},{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[42,112,97],"v":[{"d":{"df":1,"dc":[[19,9]]}},{"k":[97],"v":[{"k":[116,115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[19,1]]},"k":[46],"v":[{"d":{"df":1,"dc":[[19,2]]}}]}]},{"k":[115],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[19,1]]},"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[19,1]]},"k":[46],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97,99,107],"v":[{"k":[118],"v":[{"k":[101],"v":[{"d":{"df":4,"dc":[[20,1],[45,1],[46,1],[106,1]]},"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"d":{"df":4,"dc":[[20,1],[51,1],[63,1],[106,2]]}}]}]}]}]}]}]},{"k":[111,104],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[60],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[30,1],[43,8],[44,1]]},"k":[62],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[97,117,105,111,112],"v":[{"k":[114],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]},{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[36,1],[45,3]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[61],"v":[{"k":[36],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[34],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[111,97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[45],"v":[{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[103,98],"v":[{"d":{"df":1,"dc":[[50,1]]}},{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"k":[111,103],"v":[{"k":[45],"v":[{"k":[99,119],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]},{"d":{"df":9,"dc":[[4,5],[5,2],[43,1],[57,6],[61,3],[78,2],[81,1],[90,4],[105,3]]},"k":[62],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"d":{"df":2,"dc":[[5,2],[41,2]]},"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":6,"dc":[[5,1],[44,1],[66,1],[81,1],[82,1],[88,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]},{"d":{"df":3,"dc":[[5,1],[40,3],[81,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[81,2]]}}]},{"d":{"df":3,"dc":[[7,1],[63,1],[65,2]]},"k":[41,44],"v":[{"d":{"df":2,"dc":[[63,23],[69,5]]},"k":[41,91],"v":[{"d":{"df":1,"dc":[[63,4]]},"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]},{"k":[48],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}}]},{"d":{"df":3,"dc":[[6,1],[23,1],[63,4]]}},{"d":{"df":5,"dc":[[19,1],[54,2],[82,1],[88,2],[106,1]]}},{"d":{"df":6,"dc":[[20,1],[42,1],[44,1],[45,6],[46,1],[51,1]]},"k":[96],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[30340],"v":[{"k":[96],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[96],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65292],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":9,"dc":[[34,1],[36,1],[40,2],[49,1],[51,1],[54,1],[81,1],[82,1],[89,1]]},"k":[101,44],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[40,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[81,1]]}}]},{"d":{"df":5,"dc":[[36,1],[40,1],[41,1],[44,1],[45,3]]}},{"d":{"df":2,"dc":[[40,1],[81,1]]},"k":[44],"v":[{"d":{"df":2,"dc":[[40,1],[81,1]]}}]},{"d":{"df":2,"dc":[[45,1],[66,1]]},"k":[44],"v":[{"k":[45],"v":[{"k":[107],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[44],"v":[{"k":[45],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]},{"k":[43],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":6,"dc":[[40,2],[54,1],[55,1],[61,2],[81,2],[88,7]]},"k":[48,44],"v":[{"d":{"df":1,"dc":[[67,1]]}},{"d":{"df":1,"dc":[[81,2]]}}]},{"d":{"df":3,"dc":[[40,5],[55,2],[81,1]]},"k":[118,44],"v":[{"d":{"df":1,"dc":[[54,1]]}},{"d":{"df":1,"dc":[[81,1]]}}]},{"k":[97,44],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[40,3]]}}]}]},{"d":{"df":1,"dc":[[81,1]]}}]},{"d":{"df":2,"dc":[[43,1],[81,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]},{"d":{"df":3,"dc":[[51,1],[59,1],[81,1]]},"k":[45,44],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"d":{"df":1,"dc":[[81,1]]}}]},{"d":{"df":3,"dc":[[45,1],[51,1],[57,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]},{"d":{"df":1,"dc":[[53,2]]},"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[61,1]]},"k":[102],"v":[{"d":{"df":2,"dc":[[45,2],[53,1]]}}]},{"d":{"df":2,"dc":[[54,1],[88,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]},{"d":{"df":2,"dc":[[86,2],[88,1]]},"k":[115,118],"v":[{"k":[115],"v":[{"k":[108],"v":[{"d":{"df":3,"dc":[[54,1],[61,2],[88,1]]}}]}]},{"d":{"df":1,"dc":[[55,1]]}}]},{"d":{"df":1,"dc":[[54,1]]}},{"d":{"df":1,"dc":[[67,1]]}},{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[97,117,115,55,105,101,54,109,45,49,114,52,50,51],"v":[{"k":[110,108,114,51],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]},{"k":[105,117,41,97],"v":[{"k":[100],"v":[{"d":{"df":2,"dc":[[19,1],[45,1]]},"k":[33,97],"v":[{"d":{"df":1,"dc":[[8,1]]}},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":4,"dc":[[13,1],[45,1],[88,1],[106,1]]},"k":[115,58,41,59,44,65306],"v":[{"d":{"df":3,"dc":[[10,2],[30,1],[65,1]]}},{"d":{"df":2,"dc":[[12,2],[107,1]]}},{"d":{"df":1,"dc":[[33,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]},{"d":{"df":2,"dc":[[33,1],[49,2]]}},{"d":{"df":1,"dc":[[64,2]]}},{"d":{"df":1,"dc":[[107,3]]}}]}]},{"d":{"df":1,"dc":[[12,2]]},"k":[59],"v":[{"d":{"df":1,"dc":[[39,4]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"d":{"df":7,"dc":[[15,3],[27,4],[28,2],[33,9],[43,4],[64,2],[80,3]]},"k":[99,105],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[10,3]]}}]}]}]},{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[65289],"v":[{"k":[65288],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[51],"v":[{"k":[119],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[43],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[107],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[61],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":2,"dc":[[2,1],[63,4]]},"k":[120,45,12289,50,46,106,36,58],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[25,1]]}}]},{"k":[114,99,109],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[12289],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[65292],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[21333],"v":[{"k":[39029],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[29702],"v":[{"k":[35770],"v":[{"k":[19978],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21033],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}},{"k":[117,112],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[36],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]},{"d":{"df":1,"dc":[[68,1]]}}]}]},{"d":{"df":3,"dc":[[3,1],[10,3],[57,6]]},"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[68,2]]}}]}]}]}]},{"k":[46],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[88,4]]},"k":[101,115,97,114,109],"v":[{"k":[119],"v":[{"d":{"df":3,"dc":[[11,1],[23,3],[93,3]]},"k":[115,44,46,34],"v":[{"d":{"df":2,"dc":[[17,1],[93,1]]},"k":[58,99,40],"v":[{"d":{"df":1,"dc":[[11,2]]}},{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[11,1]]}},{"k":[102,118],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[105,117],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[72,1]]},"k":[110],"v":[{"d":{"df":1,"dc":[[17,1]]},"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[49,1],[57,1]]},"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[20,1],[68,1]]}},{"k":[116],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[110,114],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[115,121],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[115,58],"v":[{"k":[34,58],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[30,1],[40,1]]}}]}]},{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[43,2]]}}]},{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]},{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49,48],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[47,1]]}}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[56,1]]}},{"d":{"df":1,"dc":[[79,1]]}},{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[93,1]]}}]},{"d":{"df":1,"dc":[[110,1]]},"k":[115,105,111,117,113,101,97,112,46,59,108,107,43],"v":[{"d":{"df":6,"dc":[[2,1],[5,1],[37,1],[49,1],[57,1],[96,1]]},"k":[111,41,58,45,120,104,65292],"v":[{"k":[110],"v":[{"d":{"df":3,"dc":[[13,1],[20,2],[85,1]]},"k":[46,58,118,65306],"v":[{"k":[115,112],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[100,112,116,123,119,35,120],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,104],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[76,2]]}},{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"k":[23545],"v":[{"k":[35937],"v":[{"k":[35],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]},{"k":[120],"v":[{"k":[120],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[110,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[106,101,100,114,99,120,97],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[106],"v":[{"k":[49],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[118],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[41,91],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,2]]}}]},{"k":[48],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[120],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[41],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[22312],"v":[{"k":[29992],"v":[{"k":[31532],"v":[{"k":[19977],"v":[{"k":[26041],"v":[{"k":[24211],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[23545],"v":[{"k":[35937],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[24322],"v":[{"k":[24120],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[26159],"v":[{"k":[96],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[96],"v":[{"k":[20986],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20570],"v":[{"k":[96],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[96],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,2]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"d":{"df":3,"dc":[[43,1],[57,1],[68,1]]}},{"k":[104],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[24037],"v":[{"k":[20316],"v":[{"k":[37327],"v":[{"k":[28608],"v":[{"k":[22686],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[20063],"v":[{"k":[34987],"v":[{"k":[35748],"v":[{"k":[21487],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[37492],"v":[{"k":[20110],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[30340],"v":[{"k":[34218],"v":[{"k":[37228],"v":[{"k":[20307],"v":[{"k":[31995],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[65292],"v":[{"k":[24180],"v":[{"k":[21518],"v":[{"k":[31163],"v":[{"k":[32844],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[24456],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[65292],"v":[{"k":[30001],"v":[{"k":[20110],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[30456],"v":[{"k":[36739],"v":[{"k":[36731],"v":[{"k":[26494],"v":[{"k":[65292],"v":[{"k":[22905],"v":[{"k":[30340],"v":[{"k":[36215],"v":[{"k":[34218],"v":[{"k":[36739],"v":[{"k":[20302],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110,115],"v":[{"k":[103,100],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[65289],"v":[{"k":[36824],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[36807],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[20250],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[24778],"v":[{"k":[33395],"v":[{"k":[30340],"v":[{"k":[20307],"v":[{"k":[39564],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[63,2]]},"k":[41],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"k":[105,104],"v":[{"k":[110,46],"v":[{"d":{"df":3,"dc":[[10,6],[79,2],[108,1]]}},{"k":[97,115,110],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101,109,114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[51,54],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[23494],"v":[{"k":[25991],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"k":[21807],"v":[{"k":[19968],"v":[{"k":[35782],"v":[{"k":[21035],"v":[{"k":[30721],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[44,45],"v":[{"d":{"df":1,"dc":[[43,3]]}},{"k":[45],"v":[{"k":[62],"v":[{"k":[62],"v":[{"k":[97,45],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,109],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[11,1],[88,1]]}}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":3,"dc":[[33,1],[96,2],[104,1]]},"k":[46,12299,8221],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]},{"k":[65306],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[106],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[12289],"v":[{"k":[8220],"v":[{"k":[31934],"v":[{"k":[36890],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[35,3]]}}]}]}]}]}]}]}]}]},{"k":[118,100],"v":[{"k":[97],"v":[{"k":[115,58],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[104,1]]},"k":[65288],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[65289],"v":[{"k":[20026],"v":[{"k":[20027],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[60,1]]}}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[63,2]]}},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[109],"v":[{"k":[100],"v":[{"k":[54],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[119],"v":[{"k":[120],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[43],"v":[{"k":[117],"v":[{"k":[47],"v":[{"k":[43],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[56],"v":[{"k":[114],"v":[{"k":[98],"v":[{"k":[107],"v":[{"k":[119],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[108],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[118],"v":[{"k":[54],"v":[{"k":[103],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[51],"v":[{"k":[120],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[102],"v":[{"k":[119],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[47],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[43],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]},{"d":{"df":19,"dc":[[2,7],[9,3],[10,3],[12,4],[15,1],[21,1],[26,1],[40,1],[48,4],[51,2],[52,1],[57,2],[64,1],[65,2],[79,1],[84,7],[85,2],[88,1],[92,1]]},"k":[47,42,112,115,92,110,101,104,97,116,100,114,98,118,117,62,108],"v":[{"d":{"df":44,"dc":[[6,9],[9,2],[11,8],[12,26],[13,4],[15,2],[17,7],[18,2],[20,21],[21,9],[22,3],[23,15],[24,2],[26,17],[27,16],[28,3],[31,1],[32,14],[33,6],[43,7],[48,23],[49,6],[52,6],[53,1],[57,2],[62,42],[63,29],[64,29],[65,6],[68,5],[69,19],[70,6],[75,2],[76,5],[77,7],[78,2],[79,10],[80,1],[81,4],[83,6],[85,10],[106,3],[107,1],[110,15]]},"k":[40,61,103,23545,50,19981,25253,118,101,91,49,99,97],"v":[{"k":[27492],"v":[{"k":[22788],"v":[{"k":[94],"v":[{"k":[19981],"v":[{"k":[34920],"v":[{"k":[31034],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[20301],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[65292],"v":[{"k":[34920],"v":[{"k":[31034],"v":[{"k":[24130],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[62],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[65292],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26597,102,114],"v":[{"k":[35810],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[21644],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[53],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[25253],"v":[{"k":[38169],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"k":[38169],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[52,49],"v":[{"d":{"df":1,"dc":[[39,1]]}},{"k":[54],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"k":[49],"v":[{"k":[44],"v":[{"k":[52],"v":[{"k":[44],"v":[{"k":[57],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[39,1]]}},{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":11,"dc":[[15,3],[26,1],[39,4],[48,1],[52,2],[63,3],[69,1],[70,1],[79,1],[81,1],[85,1]]},"k":[42],"v":[{"d":{"df":4,"dc":[[7,1],[12,1],[39,1],[79,1]]}}]},{"k":[108,114],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[116,121],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[116,105],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[106,108,118,40],"v":[{"k":[115],"v":[{"k":[120,36],"v":[{"k":[63],"v":[{"k":[36],"v":[{"k":[47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[36],"v":[{"k":[47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[36],"v":[{"k":[47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[124],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[124],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[124],"v":[{"k":[115],"v":[{"k":[118],"v":[{"k":[103],"v":[{"k":[41],"v":[{"k":[36],"v":[{"k":[47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[102,114,105,115,108,97],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[51],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[54,1],[55,1]]},"k":[47],"v":[{"k":[99,100],"v":[{"k":[120],"v":[{"k":[108],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112,114,103,108],"v":[{"k":[121],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[59,1]]}},{"k":[111],"v":[{"d":{"df":1,"dc":[[59,1]]}}]},{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104,107,117],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112,114,103,108],"v":[{"k":[121],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[61,1]]},"k":[47],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]},{"k":[100],"v":[{"k":[111],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[102,112],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[116],"v":[{"k":[47],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[37,1],[40,1]]},"k":[47],"v":[{"k":[120,117],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[49,50,47],"v":[{"k":[47],"v":[{"k":[108,97],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[42],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[108,97],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[42],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47,110],"v":[{"k":[110,112,108],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[47],"v":[{"k":[112,111,122],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[47,105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[47],"v":[{"k":[100,115],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[99,107],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[101],"v":[{"k":[121],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98,112],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[92],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[37,1]]},"k":[47],"v":[{"k":[114,120],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]},{"k":[120],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101,47,111],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[47],"v":[{"k":[115,110],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[52,50,53,54,55,49],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,3]]}}]}]}]}]}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[45,2]]}}]}]}]}]},{"k":[99],"v":[{"d":{"df":1,"dc":[[52,2]]}}]}]},{"k":[117],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[47],"v":[{"k":[108,115,117],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"k":[104],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[47],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[47],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[95],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[126],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[114,101],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[47],"v":[{"k":[98,108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[114,108,110],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[101,111,98,108],"v":[{"k":[116],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[55,1]]},"k":[47],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[47],"v":[{"k":[100,42],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[47,49],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[57,2]]}}]}]}]}]},{"k":[50],"v":[{"k":[51],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[121],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[42,4],[43,1]]}},{"k":[111,105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[52,4]]}}]}]}]},{"k":[98],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[54,1],[55,1]]},"k":[47],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[54,1],[55,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[30,1]]},"k":[101,103,106,111,117,100,109,120,121,105,97,112,99,115],"v":[{"k":[97,100,99,113,115,116,109,110,112,102,108,103,106,118,98,119,111],"v":[{"k":[99,100,108],"v":[{"k":[116,104],"v":[{"d":{"df":3,"dc":[[2,1],[26,1],[33,1]]},"k":[44,46,65289,47,45,8221],"v":[{"d":{"df":1,"dc":[[23,1]]}},{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[23,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65306],"v":[{"d":{"df":1,"dc":[[25,1]]}}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[26,2]]}}]}]}]}]},{"k":[100,114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[12289],"v":[{"k":[8220],"v":[{"k":[29087],"v":[{"k":[32451],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[59,1]]}}]},{"d":{"df":1,"dc":[[45,1]]},"k":[111,97,100,109,102],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[20,6]]}}]}]}]},{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[40],"v":[{"k":[112,96,114,95],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]},{"k":[36],"v":[{"k":[123],"v":[{"k":[112],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]},{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"d":{"df":3,"dc":[[44,1],[53,2],[106,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":2,"dc":[[63,1],[65,1]]},"k":[40],"v":[{"k":[116,112],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[95],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[95],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[84,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,117],"v":[{"k":[115,114],"v":[{"d":{"df":10,"dc":[[2,1],[13,3],[48,1],[54,1],[88,1],[94,1],[106,4],[107,1],[108,1],[110,3]]},"k":[40,12289,44,46,99],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[13,1]]}}]},{"k":[109,111],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[12289],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[65,2]]}},{"k":[103,115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[97,120],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[120],"v":[{"k":[120],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59,41],"v":[{"d":{"df":1,"dc":[[110,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[40,101],"v":[{"k":[39],"v":[{"k":[97,120],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"k":[120],"v":[{"k":[120],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[110,2]]},"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[110,2]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[21,1]]},"k":[40],"v":[{"k":[39],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,120],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[30,3]]},"k":[114],"v":[{"d":{"df":1,"dc":[[23,2]]},"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]},{"d":{"df":1,"dc":[[23,1]]},"k":[65289],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]},{"k":[111,104,101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114,100],"v":[{"d":{"df":1,"dc":[[75,2]]},"k":[41,46,40,58],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[101,109],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[75,1],[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[75,1],[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[123],"v":[{"d":{"df":1,"dc":[[75,2]]}}]},{"d":{"df":1,"dc":[[76,2]]}}]},{"k":[112,58],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[46,41],"v":[{"k":[97,103,100,107,112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[76,3]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[28,2]]},"k":[117],"v":[{"k":[105,101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[40,100,115],"v":[{"k":[39,96],"v":[{"k":[104,99,46,101,103,98,107,64,110,112,114,115,119,102,111,117,108,97,100],"v":[{"k":[116,97],"v":[{"k":[116,109],"v":[{"k":[112],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[45],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[104,108],"v":[{"k":[105,101],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[5,1],[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,3]]}}]}]}]}]}]}]}]}]}]},{"k":[47,64,46],"v":[{"k":[116,115,99,95,97,119,112,100,98,101,109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,101],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[11,2],[81,1]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,108,114,101],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[109,119],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[98],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[110,122],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,98],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,2]]}}]}]}]}]}]}]},{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[108,99,109,46],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[47,39],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[112,116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[39,45],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[11,1],[81,1]]}}]}]},{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,98],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45,39],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114,113],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[101,107],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]},{"k":[107],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]},{"k":[111,97],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[39,45],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[11,1],[18,1]]}}]}]},{"k":[114,98,115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109,100,97],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[114,109,99],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[13,1],[110,1]]}}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[65,1],[110,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[77,1],[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[107],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[69,1],[77,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104,97,111],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":5,"dc":[[26,1],[42,1],[65,1],[68,1],[77,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111,116,101],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,117],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[26,2],[68,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":3,"dc":[[42,1],[65,1],[77,2]]}}]}]}]}]},{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46,59],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]},{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101,105,115],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[75,1],[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[116],"v":[{"k":[104,45],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45,39],"v":[{"k":[109],"v":[{"k":[113],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[47],"v":[{"k":[36,117,115,95],"v":[{"k":[123],"v":[{"k":[108,99,109],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[125],"v":[{"k":[46],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36],"v":[{"k":[123],"v":[{"k":[101,112],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[12,2]]}}]},{"d":{"df":1,"dc":[[88,2]]}}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[15,4],[53,1],[64,1]]},"k":[40,46,96],"v":[{"d":{"df":1,"dc":[[15,1]]},"k":[97,39,116,115,123],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46,41],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[52,4]]}}]}]}]},{"k":[47],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[28,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[44],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[64,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[114,103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39,96],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24182],"v":[{"k":[19988],"v":[{"k":[21435],"v":[{"k":[31561],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[40,1]]},"k":[41,46,116,91,111,117,112,101],"v":[{"d":{"df":3,"dc":[[5,1],[52,4],[76,5]]},"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]},{"k":[119,101,106,115],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[123],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[49,48],"v":[{"k":[125],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]},{"k":[125],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41,59],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"d":{"df":1,"dc":[[28,2]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[50,52],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,3]]}}]}]}]},{"k":[48],"v":[{"k":[51],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[11,1]]},"k":[102,45,99,97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[11,1],[80,1]]}}]}]},{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[59,4],[85,4]]}}]}]}]},{"k":[48],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[114,58,59,40],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[115],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]},{"d":{"df":4,"dc":[[20,1],[26,1],[68,1],[80,2]]}},{"d":{"df":2,"dc":[[20,1],[39,1]]}},{"k":[114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[116],"v":[{"d":{"df":15,"dc":[[12,2],[15,1],[17,1],[27,2],[30,1],[32,2],[39,2],[42,1],[63,1],[65,2],[69,3],[77,2],[79,1],[85,1],[110,5]]},"k":[46,44,41,59,91,65306],"v":[{"k":[102,112,97,104,115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[117,97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[91],"v":[{"k":[51],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[115],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[110,1]]},"k":[59],"v":[{"d":{"df":2,"dc":[[65,2],[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[15,1],[69,1]]}},{"d":{"df":1,"dc":[[15,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[32,2]]}}]},{"d":{"df":3,"dc":[[15,1],[63,1],[69,1]]}},{"k":[49,50,96,48,93],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"k":[93],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]},{"k":[36],"v":[{"k":[123],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[12290,59],"v":[{"d":{"df":1,"dc":[[110,1]]}},{"d":{"df":1,"dc":[[110,1]]}}]}]},{"d":{"df":1,"dc":[[110,2]]}}]},{"d":{"df":1,"dc":[[106,1]]}}]}]}]},{"k":[111],"v":[{"k":[110,115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":3,"dc":[[17,2],[18,1],[52,8]]},"k":[46],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[36,2]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":33,"dc":[[6,3],[11,6],[12,7],[15,1],[17,2],[20,7],[21,2],[22,1],[23,10],[27,4],[28,2],[29,1],[30,1],[32,10],[33,1],[39,6],[43,2],[49,5],[52,2],[62,6],[63,71],[64,10],[65,3],[69,3],[75,1],[76,2],[77,1],[79,5],[80,4],[81,3],[82,1],[88,2],[110,2]]},"k":[115,101,59],"v":[{"d":{"df":2,"dc":[[8,1],[31,2]]}},{"k":[100],"v":[{"d":{"df":1,"dc":[[31,1]]}}]},{"d":{"df":1,"dc":[[69,4]]}}]}]}]}]},{"k":[111,97],"v":[{"k":[118,116],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[20,2],[51,1]]},"k":[40,99,97],"v":[{"k":[105,115],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":6,"dc":[[36,3],[40,1],[41,2],[44,1],[45,1],[66,9]]},"k":[65306,95],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"k":[99],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[99],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[48,4]]}}]}]}]}]}]}]},{"k":[100,97,101],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[17,1]]},"k":[40,101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[23,1]]}}]},{"k":[114],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]},{"k":[108,101,111],"v":[{"k":[121],"v":[{"k":[41,46],"v":[{"d":{"df":1,"dc":[[17,1]]}},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]},{"k":[65306,58,115],"v":[{"d":{"df":1,"dc":[[41,1]]}},{"d":{"df":1,"dc":[[42,1]]}},{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[121,105],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[58,65306,46,102,40],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"k":[24517],"v":[{"k":[39035],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101,108,65306,115],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110,114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[38,1]]}}]}]}]},{"k":[111,101],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[115,103,100,104],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[41,1]]}},{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101,61,111],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[19,5]]}}]}]}]},{"k":[34],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":2,"dc":[[42,1],[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[89,1]]},"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[117,101,105,58],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]},{"k":[120],"v":[{"k":[112],"v":[{"d":{"df":2,"dc":[[31,2],[58,1]]},"k":[40],"v":[{"k":[96],"v":[{"k":[123,94],"v":[{"k":[123],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[125],"v":[{"k":[125],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[47],"v":[{"k":[40],"v":[{"k":[36,108],"v":[{"k":[123],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[124],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[41],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[42],"v":[{"k":[36],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[98],"v":[{"k":[124],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[124],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[124],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[41],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[42],"v":[{"k":[36],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,115],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[76,1]]},"k":[46],"v":[{"k":[100,99,103],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21807],"v":[{"k":[19968],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[25110],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[35],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[32,1]]},"k":[41,40,59],"v":[{"d":{"df":2,"dc":[[32,6],[39,1]]}},{"k":[120],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[32,4]]}}]}]}]}]},{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]},{"k":[101,105],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]},"k":[65306,95],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[36,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[19978],"v":[{"k":[26469],"v":[{"k":[35828],"v":[{"k":[65292],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[21333],"v":[{"k":[39029],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[21518],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[25253],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105,40],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41,111],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,5]]}}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[52],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]},{"k":[111,119,117,109],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[42,1],[59,1],[88,1]]},"k":[111,114,58,118,46],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[23,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[68,3],[69,2]]}},{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[80,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]}]},{"d":{"df":1,"dc":[[9,2]]},"k":[115,46],"v":[{"k":[117,44,91,49,50,46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[9,1]]},"k":[40],"v":[{"k":[49,50],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[39,1]]}},{"k":[48],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[117,99],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114,115,65306],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[46,58],"v":[{"k":[97,103],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113,105],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]},{"k":[113],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[47],"v":[{"k":[39,40],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[46],"v":[{"k":[42],"v":[{"k":[41],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,3]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[17,1]]}}]},{"d":{"df":4,"dc":[[16,1],[17,1],[70,1],[93,2]]},"k":[46],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]}}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[35,2]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]},{"k":[110,98,108,115],"v":[{"d":{"df":10,"dc":[[19,3],[41,1],[45,1],[48,2],[49,2],[50,1],[51,5],[67,1],[88,1],[94,1]]},"k":[116,110,115,59,40,108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":3,"dc":[[11,1],[20,2],[45,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[19,1]]}},{"d":{"df":1,"dc":[[48,1]]}},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[121],"v":[{"d":{"df":2,"dc":[[19,1],[104,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,2]]}}]}]}]},{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[10,2]]}}]},{"d":{"df":4,"dc":[[36,1],[41,1],[45,2],[86,2]]},"k":[65306,12289],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[43,5]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[43,5]]}}]},{"k":[103,111],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[115,101],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"k":[100],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[119,110,105],"v":[{"d":{"df":1,"dc":[[45,3]]},"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[100],"v":[{"k":[111,115],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[54],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]},{"k":[99],"v":[{"k":[45],"v":[{"k":[97,108],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[61],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[61],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[51,46],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[48],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[98],"v":[{"k":[57],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[120],"v":[{"k":[104],"v":[{"k":[103],"v":[{"k":[118],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[122],"v":[{"k":[113],"v":[{"k":[110],"v":[{"k":[122],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[113],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[102],"v":[{"k":[120],"v":[{"k":[115],"v":[{"k":[52],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[51],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[108],"v":[{"k":[43],"v":[{"k":[118],"v":[{"k":[52],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[56],"v":[{"k":[118],"v":[{"k":[54],"v":[{"k":[106],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":4,"dc":[[2,3],[26,1],[54,1],[70,1]]},"k":[65289,31561,20854,24320,24211,23433,21516,21453,46,25991,20449,24453,25152,24037,27493,28304,32531],"v":[{"d":{"df":1,"dc":[[94,1]]},"k":[23569],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"d":{"df":1,"dc":[[39,1]]},"k":[65289,20854,44],"v":[{"k":[65292],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[36215],"v":[{"k":[26469],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[19981],"v":[{"k":[21451],"v":[{"k":[22909],"v":[{"k":[12290],"v":[{"k":[24182],"v":[{"k":[19988],"v":[{"k":[22312],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[19979],"v":[{"k":[22797],"v":[{"k":[21046],"v":[{"k":[12289],"v":[{"k":[31896],"v":[{"k":[36148],"v":[{"k":[24555],"v":[{"k":[25463],"v":[{"k":[38190],"v":[{"k":[65292],"v":[{"k":[36873],"v":[{"k":[20013],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[31561],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[35753],"v":[{"k":[25105],"v":[{"k":[22836],"v":[{"k":[30171],"v":[{"k":[12290],"v":[{"k":[36825],"v":[{"k":[23601],"v":[{"k":[26497],"v":[{"k":[22823],"v":[{"k":[31243],"v":[{"k":[24230],"v":[{"k":[19978],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"k":[20102],"v":[{"k":[25105],"v":[{"k":[30340],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20182],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[20063],"v":[{"k":[39035],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[20182],"v":[{"k":[22320,30456],"v":[{"k":[26041],"v":[{"k":[20869],"v":[{"k":[23618],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[22343],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[22806],"v":[{"k":[23618],"v":[{"k":[35843],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[24102],"v":[{"k":[19978],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20851],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]},{"k":[44],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]},{"k":[35013],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]},{"k":[20110],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[21521],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[23558],"v":[{"k":[22806],"v":[{"k":[37096],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[24320],"v":[{"k":[25918],"v":[{"k":[21040],"v":[{"k":[96],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[96],"v":[{"k":[25110],"v":[{"k":[96],"v":[{"k":[52],"v":[{"k":[52],"v":[{"k":[51],"v":[{"k":[96],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[65292],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[31105],"v":[{"k":[27490],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[42,1]]}},{"k":[20214],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[24687],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"d":{"df":1,"dc":[[48,1]]}},{"k":[26377],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[20855],"v":[{"k":[65292],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]},{"k":[39588],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[30456],"v":[{"k":[21516],"v":[{"k":[12290],"v":[{"k":[20855],"v":[{"k":[20307],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[23448],"v":[{"k":[26041],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30721],"v":[{"k":[38142],"v":[{"k":[25509],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]},{"k":[23384],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[12290],"v":[{"k":[32508],"v":[{"k":[21512],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[12289],"v":[{"k":[25104],"v":[{"k":[26412],"v":[{"k":[21450],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[20915],"v":[{"k":[23450],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31471,25554,36793,26469,38754,65292,19981,32493,21488],"v":[{"k":[58,28210,23558,25509,39033],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"k":[26579],"v":[{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[30452],"v":[{"k":[25509],"v":[{"k":[36879],"v":[{"k":[20256],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[30340],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21475],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[64],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[107],"v":[{"k":[96],"v":[{"k":[26469],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[20013],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[20837],"v":[{"k":[24615,19968],"v":[{"k":[33021],"v":[{"k":[25439],"v":[{"k":[32791],"v":[{"k":[26159],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[21602],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[25345],"v":[{"k":[20037],"v":[{"k":[21270],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[44],"v":[{"k":[29978],"v":[{"k":[33267],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[29616],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[26159],"v":[{"k":[25105],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[21152],"v":[{"k":[36733],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65292],"v":[{"k":[21518],"v":[{"k":[26469],"v":[{"k":[21457],"v":[{"k":[29616],"v":[{"k":[26159],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105,30340],"v":[{"k":[20250],"v":[{"k":[20877],"v":[{"k":[25277],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[20998],"v":[{"k":[20139],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[19996],"v":[{"k":[35199],"v":[{"k":[65292],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[36827],"v":[{"k":[38454],"v":[{"k":[29609],"v":[{"k":[23478],"v":[{"k":[20889],"v":[{"k":[20986],"v":[{"k":[26356],"v":[{"k":[26497],"v":[{"k":[33268],"v":[{"k":[31616],"v":[{"k":[27905],"v":[{"k":[21644],"v":[{"k":[39640],"v":[{"k":[25928],"v":[{"k":[20860],"v":[{"k":[39038],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20960],"v":[{"k":[20010],"v":[{"k":[31456],"v":[{"k":[33410],"v":[{"k":[23558],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"k":[35762],"v":[{"k":[35299],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[20309],"v":[{"k":[25645],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[36134],"v":[{"k":[21495],"v":[{"k":[20307],"v":[{"k":[31995],"v":[{"k":[30340],"v":[{"k":[23436],"v":[{"k":[25972],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487,116],"v":[{"k":[20197],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[25214],"v":[{"k":[22238],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[37325],"v":[{"k":[26032],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[27969],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[26159],"v":[{"k":[27599],"v":[{"k":[19968],"v":[{"k":[21488],"v":[{"k":[21333],"v":[{"k":[29420],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[25110],"v":[{"k":[26159],"v":[{"k":[27599],"v":[{"k":[20960],"v":[{"k":[21488],"v":[{"k":[30456],"v":[{"k":[21516],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[30340],"v":[{"k":[36127],"v":[{"k":[36733],"v":[{"k":[22343],"v":[{"k":[34913],"v":[{"k":[26426],"v":[{"k":[22120],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35831],"v":[{"k":[27714],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[65288],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":6,"dc":[[9,5],[15,3],[45,1],[48,6],[49,1],[71,1]]},"k":[111,117,97,94,43,65306,101,112,46,105,115,118,59,121,103],"v":[{"d":{"df":5,"dc":[[40,1],[57,1],[98,2],[101,1],[102,1]]},"k":[100,116,119,45,57,110,105,98],"v":[{"k":[101],"v":[{"d":{"df":9,"dc":[[27,1],[41,1],[45,2],[46,1],[54,1],[77,1],[78,1],[79,3],[88,2]]},"k":[46,95,58,47,45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":15,"dc":[[2,1],[11,2],[20,1],[44,1],[45,2],[46,1],[53,2],[54,1],[58,1],[69,1],[70,1],[78,1],[81,1],[88,1],[104,1]]},"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[101,106,109],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]},{"k":[115],"v":[{"d":{"df":2,"dc":[[41,1],[45,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[41,1],[45,1]]}}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":3,"dc":[[41,1],[53,3],[106,1]]},"k":[12290,47],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"d":{"df":1,"dc":[[50,1]]},"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,1]]}},{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]},{"k":[118],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46,47],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":11,"dc":[[12,2],[19,1],[27,1],[30,1],[45,2],[52,2],[65,4],[76,2],[79,1],[88,1],[108,12]]},"k":[101,104,105],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[33,3]]},"k":[46],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[102],"v":[{"k":[121],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[11,1]]}},{"k":[112,101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[21,1]]},"k":[58],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[58],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[35,1]]}},{"k":[101,99],"v":[{"d":{"df":2,"dc":[[40,4],[54,1]]}},{"k":[101],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,2]]}}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[120,108,109],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[2,1]]}}]},{"k":[108],"v":[{"d":{"df":7,"dc":[[15,1],[21,1],[52,1],[65,4],[85,1],[108,12],[110,1]]},"k":[44,59,41],"v":[{"d":{"df":5,"dc":[[6,2],[12,1],[20,1],[63,2],[76,1]]}},{"d":{"df":2,"dc":[[33,1],[80,1]]}},{"d":{"df":1,"dc":[[110,1]]}}]}]},{"k":[98,115,99,101],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":4,"dc":[[7,2],[11,1],[39,3],[49,1]]},"k":[46,115,44,41],"v":[{"d":{"df":2,"dc":[[8,2],[31,1]]}},{"d":{"df":1,"dc":[[31,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[9,1]]}}]},{"d":{"df":1,"dc":[[11,1]]}},{"d":{"df":1,"dc":[[49,2]]}}]}]}]},{"d":{"df":1,"dc":[[7,1]]},"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120,97],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[117],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[48,3]]},"k":[41,59],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,2]]}}]},{"d":{"df":1,"dc":[[48,5]]}}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[40],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109,116],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[6,2],[64,1]]},"k":[58,61,110,44,59,41],"v":[{"d":{"df":8,"dc":[[21,1],[26,1],[42,1],[63,7],[68,1],[79,1],[80,2],[81,2]]}},{"k":[34],"v":[{"k":[100,118],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[63,3],[64,2]]}},{"d":{"df":1,"dc":[[63,2]]}},{"d":{"df":1,"dc":[[64,3]]},"k":[59],"v":[{"d":{"df":1,"dc":[[64,6]]}}]}]}]},{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]},{"k":[110,51],"v":[{"d":{"df":1,"dc":[[6,1]]}},{"d":{"df":1,"dc":[[9,1]]}}]},{"k":[49],"v":[{"d":{"df":1,"dc":[[9,1]]}}]},{"d":{"df":1,"dc":[[9,1]]}},{"k":[120,119,101,115,117,99],"v":[{"k":[116],"v":[{"k":[41,112,40,46,63],"v":[{"d":{"df":3,"dc":[[18,1],[21,1],[69,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[10,4]]}}]},{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[44,40],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":4,"dc":[[18,1],[21,1],[52,4],[69,1]]}}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[65288],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[65289],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[28176],"v":[{"k":[36827],"v":[{"k":[24335],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[12290],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[39,1]]}}]}]},{"d":{"df":26,"dc":[[10,1],[11,3],[12,3],[14,1],[17,1],[18,3],[20,7],[24,1],[26,9],[27,4],[28,2],[32,12],[33,1],[35,3],[39,1],[45,15],[63,2],[64,3],[68,5],[69,2],[70,5],[76,3],[77,1],[79,4],[80,2],[81,5]]},"k":[95,39,114],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[36,4]]},"k":[39],"v":[{"k":[20250,23601],"v":[{"k":[20174],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21483],"v":[{"k":[20570],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20250],"v":[{"k":[24378,20999],"v":[{"k":[21046],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[21483],"v":[{"k":[20570],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]},{"k":[25442],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[19,4]]},"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[102,106],"v":[{"k":[97],"v":[{"k":[99,115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[20,3]]},"k":[46],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40,60,41],"v":[{"k":[97,109],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[62],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[20,4]]},"k":[44,59],"v":[{"d":{"df":1,"dc":[[20,2]]}},{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[109],"v":[{"d":{"df":17,"dc":[[12,1],[18,1],[20,4],[26,1],[42,1],[45,3],[46,2],[47,1],[50,8],[51,13],[53,2],[63,3],[67,3],[78,1],[88,1],[89,3],[106,2]]}}]},{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[40],"v":[{"k":[92],"v":[{"k":[100],"v":[{"k":[123],"v":[{"k":[51],"v":[{"k":[125],"v":[{"k":[41],"v":[{"k":[40],"v":[{"k":[92],"v":[{"k":[100],"v":[{"k":[123],"v":[{"k":[51],"v":[{"k":[125],"v":[{"k":[41],"v":[{"k":[40],"v":[{"k":[92],"v":[{"k":[100],"v":[{"k":[123],"v":[{"k":[51],"v":[{"k":[125],"v":[{"k":[41],"v":[{"k":[47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[40,1]]},"k":[109],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]},{"k":[109],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[42,58],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[58,1]]}}]}]},{"d":{"df":1,"dc":[[49,1]]}},{"k":[99],"v":[{"d":{"df":2,"dc":[[52,1],[106,1]]}}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"d":{"df":3,"dc":[[82,1],[84,2],[88,10]]},"k":[45,95],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46,47],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[88,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[8,1],[57,1]]},"k":[20027,20363,25152,58,20160,20102],"v":[{"k":[44,38190],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"k":[65292],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[33258],"v":[{"k":[22686],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]},"k":[44,12290],"v":[{"k":[20551],"v":[{"k":[35774],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[63,1],[64,1]]}}]},{"k":[26377],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[61,3]]}},{"k":[20040],"v":[{"k":[36825,21035],"v":[{"k":[37324],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"k":[31561],"v":[{"k":[20110],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"k":[65306],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[31561],"v":[{"k":[20110],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[24403],"v":[{"k":[26102],"v":[{"k":[23601],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[20986],"v":[{"k":[21435],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[35813],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20154],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]},{"k":[25552],"v":[{"k":[39640],"v":[{"k":[38405],"v":[{"k":[35835],"v":[{"k":[24615],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[67,1]]},"k":[25324,65306,35065,44,36873,20026,20316,24182,12290,20301],"v":[{"k":[58,38382],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"k":[39064],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[21644],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[35268],"v":[{"k":[36991],"v":[{"k":[20004],"v":[{"k":[22823],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"k":[64],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[12290,22312],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[20013],"v":[{"d":{"df":1,"dc":[[110,2]]}}]}]}]}]}]}]}]},{"k":[32467],"v":[{"k":[26500],"v":[{"k":[28151],"v":[{"k":[20081],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]},{"k":[21462],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[96],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[96],"v":[{"k":[26102],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]},{"k":[32773],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]},{"k":[20351],"v":[{"k":[29992],"v":[{"k":[26032],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}},{"k":[20110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]},{"d":{"df":2,"dc":[[36,1],[45,2]]},"k":[114,105,57,117,101,108,98,111,65292,97,104,122,110,116],"v":[{"k":[97,111,101],"v":[{"k":[112],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[43,8]]},"k":[113,105,104],"v":[{"k":[108],"v":[{"d":{"df":7,"dc":[[2,2],[11,3],[20,3],[66,1],[79,1],[80,2],[81,3]]},"k":[45,101,95,115,107,46,111,108,105],"v":[{"k":[116,115],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[11,2]]}}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[120],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[101,116,99],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[46],"v":[{"k":[117,108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113,105],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]},{"k":[113],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[81,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[80,2]]}}]}]}]}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[81,1]]}},{"k":[123],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[40,44],"v":[{"k":[123],"v":[{"d":{"df":2,"dc":[[80,2],[81,2]]}}]},{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[81,1]]}},{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"k":[113],"v":[{"k":[108],"v":[{"k":[101,107,58],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"d":{"df":1,"dc":[[30,1]]}}]},{"k":[97],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[59,1],[102,1]]},"k":[33],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]},{"k":[116,118],"v":[{"d":{"df":9,"dc":[[3,2],[36,44],[41,9],[44,5],[45,21],[66,10],[88,1],[89,3],[106,1]]},"k":[104,58,65292,98,64,45],"v":[{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":8,"dc":[[2,1],[37,2],[41,2],[44,2],[45,7],[66,1],[79,1],[100,1]]},"k":[34,47,46,42,65292,107],"v":[{"d":{"df":1,"dc":[[41,1]]}},{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]},{"k":[40],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]},{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[22312],"v":[{"k":[21491],"v":[{"k":[19978],"v":[{"k":[35282],"v":[{"k":[22836],"v":[{"k":[20687],"v":[{"k":[22788],"v":[{"k":[36827],"v":[{"k":[20837],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[115,97],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"k":[20320],"v":[{"k":[25171],"v":[{"k":[36896],"v":[{"k":[29420],"v":[{"k":[19968],"v":[{"k":[26080],"v":[{"k":[20108],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":2,"dc":[[42,1],[44,9]]},"k":[44,45],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[44,2]]}}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[58],"v":[{"k":[120,122,119,103,118],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[66,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[66,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108,116],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[53],"v":[{"k":[46],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":5,"dc":[[7,2],[8,1],[9,1],[29,1],[30,1]]}}]}]}]},{"d":{"df":1,"dc":[[3,1]]}},{"k":[105],"v":[{"d":{"df":3,"dc":[[3,3],[4,1],[54,1]]},"k":[100],"v":[{"d":{"df":2,"dc":[[10,2],[69,8]]},"k":[58,59],"v":[{"d":{"df":2,"dc":[[69,1],[106,1]]}},{"d":{"df":1,"dc":[[69,3]]}}]}]}]},{"k":[116,110,99,109,111],"v":[{"d":{"df":3,"dc":[[11,1],[45,1],[64,3]]},"k":[102,111,119,97,103,116,115,40,104,98,58,100,47,112],"v":[{"k":[111],"v":[{"k":[114,111],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[58,40],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,2]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[97,111],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[58,93,99],"v":[{"d":{"df":1,"dc":[[12,2]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[58,93],"v":[{"d":{"df":1,"dc":[[12,2]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102,117],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105,114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[58,93],"v":[{"d":{"df":1,"dc":[[12,2]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[58,93],"v":[{"d":{"df":1,"dc":[[12,2]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[58,93],"v":[{"d":{"df":1,"dc":[[12,2]]}},{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,101,121],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[40],"v":[{"k":[41],"v":[{"d":{"df":2,"dc":[[12,2],[69,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[40,50],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[40],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,119],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]},{"k":[95,116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59,93],"v":[{"d":{"df":1,"dc":[[27,2]]}},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[27,2],[64,1]]}},{"k":[101],"v":[{"k":[102,118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[39,1],[77,1]]},"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[39,1],[77,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[62,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[40],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116,108],"v":[{"k":[101,105],"v":[{"d":{"df":1,"dc":[[45,7]]},"k":[100],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[107],"v":[{"k":[111],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]},{"d":{"df":1,"dc":[[19,1]]}},{"k":[114],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,2]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":4,"dc":[[15,1],[20,1],[42,1],[51,1]]},"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[58,44],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[40,1]]},"k":[107,39],"v":[{"d":{"df":1,"dc":[[15,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[35,3]]}}]}]},{"k":[111],"v":[{"k":[100,103],"v":[{"d":{"df":2,"dc":[[29,1],[30,1]]}},{"k":[108],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[36825],"v":[{"k":[26679],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[20063],"v":[{"k":[23601],"v":[{"k":[20855],"v":[{"k":[26377],"v":[{"k":[20102],"v":[{"k":[20174],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[43,6]]}}]}]}]},{"k":[45,101],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[45,1],[66,1]]},"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]},{"k":[117],"v":[{"k":[112],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]},{"k":[111,101,110,97,98,105],"v":[{"k":[97,99,121],"v":[{"d":{"df":5,"dc":[[2,1],[11,2],[18,3],[68,2],[70,1]]},"k":[114,98,40],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[11,2]]}}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[11,1],[18,1]]}}]}]}]},{"k":[109],"v":[{"k":[55],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[118],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[113],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[107],"v":[{"k":[117],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[52],"v":[{"k":[120],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[113],"v":[{"k":[54],"v":[{"k":[121],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[49],"v":[{"k":[108],"v":[{"k":[49],"v":[{"k":[117],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[120],"v":[{"k":[106],"v":[{"k":[118],"v":[{"k":[114],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[56],"v":[{"k":[120],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[116],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[120],"v":[{"k":[119],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[106],"v":[{"k":[108],"v":[{"k":[120],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[54],"v":[{"k":[106],"v":[{"k":[118],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[113],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[117],"v":[{"k":[122],"v":[{"k":[118],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[57],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[48],"v":[{"k":[122],"v":[{"k":[122],"v":[{"k":[43],"v":[{"k":[52],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[120],"v":[{"k":[56],"v":[{"k":[43],"v":[{"k":[50],"v":[{"k":[118],"v":[{"k":[106],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121,101],"v":[{"d":{"df":3,"dc":[[65,2],[88,2],[108,4]]},"k":[58,115,49,50,51,52,109,65306],"v":[{"d":{"df":3,"dc":[[12,1],[21,1],[76,1]]}},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[19,3]]}}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[33,1]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[33,1]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[33,2]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[33,2]]}}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[107,3]]},"k":[39],"v":[{"k":[35],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[65288],"v":[{"k":[24635],"v":[{"k":[35745],"v":[{"k":[65289],"v":[{"k":[47],"v":[{"k":[26469],"v":[{"k":[28304],"v":[{"k":[65288],"v":[{"k":[22914],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[65289],"v":[{"k":[47],"v":[{"k":[36335],"v":[{"k":[24452],"v":[{"k":[65288],"v":[{"k":[22914],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[49],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[50],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[65289],"v":[{"k":[35],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[45,95,97],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]},{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109,44,95],"v":[{"d":{"df":1,"dc":[[35,1]]}},{"d":{"df":1,"dc":[[35,1]]}},{"k":[103],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":3,"dc":[[40,1],[85,1],[86,1]]}}]}]}]},{"k":[97,116,114,104,111,101,107,121,117,108,105],"v":[{"k":[112,118,110,115,114,119,98],"v":[{"k":[105],"v":[{"d":{"df":2,"dc":[[2,1],[17,1]]},"k":[46],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":4,"dc":[[7,1],[29,1],[45,1],[88,1]]}}]},{"d":{"df":1,"dc":[[35,2]]},"k":[100],"v":[{"k":[108,121],"v":[{"k":[101],"v":[{"k":[114,98,99],"v":[{"d":{"df":1,"dc":[[17,1]]},"k":[115],"v":[{"d":{"df":1,"dc":[[93,1]]}}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[17,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[33,1]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[30,1]]}}]}]},{"d":{"df":1,"dc":[[40,1]]},"k":[40],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[107],"v":[{"d":{"df":1,"dc":[[53,1]]}}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[116,109],"v":[{"k":[112],"v":[{"d":{"df":6,"dc":[[5,2],[17,1],[38,1],[44,2],[64,2],[88,3]]},"k":[58,115,114,45,47,50],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119,108,104,105,36828,49,110,122],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[47],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[36,51,52],"v":[{"k":[123],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[44,1]]},"k":[47,65292],"v":[{"k":[46,65292],"v":[{"d":{"df":1,"dc":[[45,2]]}},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21457],"v":[{"k":[29616],"v":[{"k":[24050],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[31687],"v":[{"k":[26032],"v":[{"k":[25991],"v":[{"k":[31456],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26597],"v":[{"k":[30475],"v":[{"k":[25645],"v":[{"k":[24314],"v":[{"k":[25928],"v":[{"k":[26524],"v":[{"k":[12290],"v":[{"k":[27492],"v":[{"k":[21518],"v":[{"k":[30340],"v":[{"k":[27599],"v":[{"k":[27425],"v":[{"k":[21464],"v":[{"k":[26356],"v":[{"k":[92],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31471],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[63],"v":[{"k":[95],"v":[{"k":[61],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[58],"v":[{"k":[54,56],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[56],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[100,112],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[47],"v":[{"d":{"df":1,"dc":[[88,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[45,1],[82,1]]},"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99,103,36,116,114,123,119,118,115,100,101,110],"v":[{"k":[104,118],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[103],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"d":{"df":1,"dc":[[14,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[113],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[50],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[63],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[122,119,103,121,108,107],"v":[{"k":[101,104],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[57],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[54,48,53],"v":[{"k":[57],"v":[{"k":[98],"v":[{"k":[51],"v":[{"k":[101],"v":[{"k":[57],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[50],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[52],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[98],"v":[{"k":[51],"v":[{"k":[48],"v":[{"k":[52],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[55],"v":[{"k":[100],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[102],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[48],"v":[{"k":[51],"v":[{"k":[101],"v":[{"k":[50],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[101],"v":[{"k":[48],"v":[{"k":[98],"v":[{"k":[55],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[100],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[56],"v":[{"k":[98],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[50],"v":[{"k":[102],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[102],"v":[{"k":[55],"v":[{"k":[102],"v":[{"k":[53],"v":[{"k":[101],"v":[{"k":[48],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[97],"v":[{"k":[55],"v":[{"k":[49],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[99],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[102],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[122],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[35],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[123],"v":[{"k":[103],"v":[{"k":[104,105],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[125],"v":[{"k":[64],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[125],"v":[{"k":[64],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[47],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[21517],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117,46],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[99,104,116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[41],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[41],"v":[{"k":[34],"v":[{"d":{"df":2,"dc":[[61,2],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26381],"v":[{"k":[21153],"v":[{"k":[21517],"v":[{"k":[125],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[113],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[50],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[110,111],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[47],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[36],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[118],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[105,101],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]},{"k":[50,115],"v":[{"d":{"df":2,"dc":[[58,1],[88,1]]}},{"d":{"df":1,"dc":[[64,1]]}}]},{"k":[59],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]},{"k":[108],"v":[{"d":{"df":5,"dc":[[43,6],[44,1],[45,2],[65,4],[69,1]]},"k":[58,12289,45,119,62,65292,46,59,53],"v":[{"d":{"df":2,"dc":[[17,1],[57,1]]}},{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[12289],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]},{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]},"k":[40],"v":[{"k":[123],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[42,1]]}},{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[65,1]]}},{"d":{"df":1,"dc":[[96,1]]}}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[47],"v":[{"k":[95,47],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[101,114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]},{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[101],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]},{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[107],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[100,109],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58,107],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[58],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[85,3]]},"k":[39],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[41],"v":[{"k":[125],"v":[{"k":[39],"v":[{"k":[41,96],"v":[{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[115,111,119,101,109],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[38,1],[64,1],[88,1]]},"k":[58,110,115],"v":[{"d":{"df":6,"dc":[[11,1],[12,2],[13,1],[17,1],[69,1],[81,1]]}},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]},{"d":{"df":1,"dc":[[63,1]]},"k":[97,46],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[46],"v":[{"k":[105,101,100],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]},{"k":[107],"v":[{"k":[115,46],"v":[{"d":{"df":1,"dc":[[19,1]]}},{"k":[114,100],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[43,2],[102,1]]}},{"k":[107],"v":[{"d":{"df":1,"dc":[[53,1]]}}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[102,1]]},"k":[97,108,114,105,120],"v":[{"k":[100,114],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[38,1]]},"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[43,2]]}}]},{"k":[112,108,118],"v":[{"d":{"df":2,"dc":[[19,1],[45,2]]}},{"d":{"df":1,"dc":[[39,2]]},"k":[111],"v":[{"d":{"df":1,"dc":[[43,2]]},"k":[33,45],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[99],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[35,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":3,"dc":[[22,1],[33,1],[77,3]]}}]},{"d":{"df":1,"dc":[[35,1]]},"k":[39,116,103],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,2]]}}]},{"k":[105],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]},{"k":[104],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[111],"v":[{"d":{"df":1,"dc":[[45,51]]},"k":[33,46,45],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[65292,12290],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[65292],"v":[{"k":[21462],"v":[{"k":[21517],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,2]]}}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[61,1]]},"k":[97,99],"v":[{"k":[112],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[37,2]]}}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,98],"v":[{"k":[97],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"d":{"df":2,"dc":[[75,3],[76,7]]},"k":[115,41,40],"v":[{"d":{"df":2,"dc":[[75,1],[76,4]]},"k":[41],"v":[{"d":{"df":1,"dc":[[76,1]]},"k":[58,28040],"v":[{"d":{"df":1,"dc":[[75,1]]}},{"k":[24687],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[75,2]]}}]},{"k":[22522],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[43,4]]}},{"d":{"df":1,"dc":[[43,1]]},"k":[103,115,110],"v":[{"k":[104],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[102,1]]},"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[99,97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]},{"k":[112],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"d":{"df":2,"dc":[[3,1],[43,2]]},"k":[120,115,118,108,46,109,110,114,50,97,40,99,116,100,106,102,105,112],"v":[{"k":[112,101,97,99,116,105],"v":[{"k":[114,111,101,105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":6,"dc":[[2,1],[11,2],[20,1],[68,2],[80,1],[81,1]]},"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[11,1],[81,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":6,"dc":[[20,3],[21,8],[23,4],[51,1],[61,2],[82,2]]},"k":[115],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[46,91],"v":[{"k":[99,117,105,101,100,116,95,102],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[111,98],"v":[{"k":[98],"v":[{"k":[106],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[106],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[111,115],"v":[{"d":{"df":1,"dc":[[22,1]]}},{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[100],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,97],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[97,117],"v":[{"k":[100],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]},{"k":[99],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[115,117,40],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":2,"dc":[[5,1],[53,1]]},"k":[40],"v":[{"k":[39,96],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101,105],"v":[{"d":{"df":2,"dc":[[40,1],[88,1]]},"k":[115,100],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[110,111],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[79,1]]}}]},{"k":[110],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[39,96],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[112],"v":[{"k":[109],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115,39,58,46],"v":[{"d":{"df":1,"dc":[[53,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[7,1],[8,1]]}}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[20,2]]}}]},{"d":{"df":2,"dc":[[30,1],[31,1]]}},{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[59],"v":[{"d":{"df":2,"dc":[[82,2],[88,2]]}}]}]}]}]}]}]}]}]}]},{"k":[101,108],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[7,1],[8,1]]}}]}]},{"k":[117,97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[40,59],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]},{"k":[114,101],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[7,1]]},"k":[99],"v":[{"k":[116],"v":[{"k":[45,116,99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[45],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,3]]},"k":[96,64],"v":[{"d":{"df":1,"dc":[[26,1]]}},{"k":[50],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]},"k":[46,40],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[91,115],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100,115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]},"k":[58],"v":[{"d":{"df":3,"dc":[[26,1],[49,1],[68,1]]}}]}]},{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]}]}]},{"k":[115,116],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46,115],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[45,1],[88,1]]}}]}]},{"d":{"df":4,"dc":[[7,1],[8,2],[27,1],[96,1]]},"k":[55,108,54,53,97],"v":[{"d":{"df":3,"dc":[[11,1],[39,1],[64,1]]}},{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":10,"dc":[[26,2],[48,1],[49,1],[57,2],[63,3],[65,1],[68,1],[69,1],[85,1],[106,2]]},"k":[45,12289,44],"v":[{"k":[100,101,99,112],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":3,"dc":[[15,1],[26,1],[70,1]]},"k":[45],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":3,"dc":[[15,2],[21,1],[70,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[45],"v":[{"k":[100,97],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[98],"v":[{"k":[110],"v":[{"k":[98],"v":[{"d":{"df":3,"dc":[[26,1],[65,1],[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[114,106,105],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[26,1],[65,1],[106,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[121],"v":[{"d":{"df":2,"dc":[[26,1],[65,1]]}}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[65,1],[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]},{"d":{"df":3,"dc":[[27,2],[52,1],[58,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[52,1],[68,1]]}}]},{"d":{"df":4,"dc":[[32,1],[46,1],[58,1],[64,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"k":[99],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[101,97],"v":[{"k":[114,110],"v":[{"k":[121],"v":[{"d":{"df":3,"dc":[[7,1],[59,1],[76,2]]}}]},{"d":{"df":1,"dc":[[40,1]]},"k":[116],"v":[{"d":{"df":3,"dc":[[33,1],[75,1],[76,6]]},"k":[40,104,115],"v":[{"k":[39],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[75,2]]},"k":[115,46,99],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[46],"v":[{"d":{"df":1,"dc":[[75,1]]}}]},{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[75,1],[76,2]]},"k":[46],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[115,101],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]},{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]},{"k":[101,97,115],"v":[{"k":[109,59,41,99],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[7,1]]},"k":[46],"v":[{"k":[118,100,102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[15,1]]}},{"d":{"df":1,"dc":[[15,1]]}},{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,6]]},"k":[45,59],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":10,"dc":[[33,1],[39,1],[40,2],[48,1],[63,9],[65,1],[69,1],[75,1],[76,2],[79,2]]}}]}]},{"k":[103,116],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,117,112],"v":[{"k":[105],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[10,2]]},"k":[44,58],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":1,"dc":[[81,3]]}}]}]}]},{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111,101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[19,2]]}}]},{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]},{"k":[100,97,99,103,118,116,113,117],"v":[{"d":{"df":2,"dc":[[43,1],[88,1]]},"k":[112,95],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[76,1]]},"k":[117,61],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,2]]}}]}]}]},{"k":[115],"v":[{"k":[98],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[59],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[59],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[61],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[59],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[61],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[95],"v":[{"k":[110,99],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,2]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,2]]},"k":[100,45],"v":[{"k":[58,109],"v":[{"d":{"df":3,"dc":[[12,2],[57,1],[63,6]]}},{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[61],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,114],"v":[{"k":[100],"v":[{"k":[105,101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[15,1],[20,1]]}}]}]}]},{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115,61],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[17,1]]}}]},{"k":[109],"v":[{"k":[121],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":2,"dc":[[65,1],[108,2]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":4,"dc":[[34,2],[48,1],[65,2],[70,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]},{"k":[114],"v":[{"k":[121],"v":[{"k":[58,44],"v":[{"d":{"df":2,"dc":[[26,2],[68,1]]}},{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[109,112],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"k":[39],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"k":[39],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[74,1],[108,1]]},"k":[114,98],"v":[{"d":{"df":1,"dc":[[17,1]]},"k":[111,41,59,49,50,46,110,95],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[17,1]]},"k":[58,40,112,104,95,46,39],"v":[{"d":{"df":5,"dc":[[12,1],[32,1],[76,2],[88,3],[94,2]]}},{"k":[39,41,96],"v":[{"k":[117,102],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[32,5]]}}]}]}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[32,1]]}}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[44,40],"v":[{"d":{"df":1,"dc":[[75,1]]}},{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108,109],"v":[{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]},{"k":[115],"v":[{"k":[103],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}},{"d":{"df":1,"dc":[[106,1]]}}]}]},{"k":[59,61],"v":[{"d":{"df":2,"dc":[[32,6],[52,1]]}},{"k":[62],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]},{"d":{"df":3,"dc":[[39,2],[52,4],[94,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":3,"dc":[[29,1],[79,1],[88,1]]}}]}]},{"k":[32467],"v":[{"k":[26463],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]},{"k":[104,109,115,100,111],"v":[{"k":[111,97],"v":[{"d":{"df":3,"dc":[[45,1],[54,1],[55,1]]}},{"k":[114],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[82,1]]}},{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101,114],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50,49],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[103,115],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49,50],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[103,115],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[43],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[58],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[58],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[53],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[107],"v":[{"k":[114],"v":[{"k":[98],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[33],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[103,115],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[110],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[48,2]]},"k":[46],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,103,104],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[99,58],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[79,3]]}}]}]},{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[34],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[102],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[93,44],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,2]]}}]},{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[88,3]]}}]}]}]}]},{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[25454,32452],"v":[{"k":[24211,23384,20013,21487,37319,21517],"v":[{"d":{"df":2,"dc":[[11,1],[43,1]]},"k":[58,29615,65306,12289,37319,36716,24341,32467,36830,26597],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"k":[22659],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[20110],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]},{"k":[32531],"v":[{"k":[23384],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]},{"k":[29992],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21464],"v":[{"k":[25104],"v":[{"k":[27169],"v":[{"k":[22411],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"k":[25806],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]},{"k":[26500],"v":[{"d":{"df":1,"dc":[[81,1]]}}]},{"k":[25509],"v":[{"k":[65292],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[27744],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[22312],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[21518],"v":[{"k":[37322],"v":[{"k":[25918],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35810],"v":[{"k":[31105],"v":[{"k":[27490],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[20043],"v":[{"k":[21069],"v":[{"k":[35201],"v":[{"k":[96],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[21462],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[35201],"v":[{"k":[96],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27491,24515],"v":[{"k":[22312],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[30340],"v":[{"k":[20803],"v":[{"k":[32032],"v":[{"k":[32034],"v":[{"k":[24341],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21482,23558],"v":[{"k":[25215],"v":[{"k":[25285],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[30340],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[65307],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[37117],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[38750],"v":[{"k":[36890],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65292],"v":[{"k":[25215],"v":[{"k":[25285],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[30340],"v":[{"k":[35745],"v":[{"k":[31639],"v":[{"k":[21450],"v":[{"k":[36127],"v":[{"k":[36733],"v":[{"k":[21387],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"k":[19979],"v":[{"k":[32423],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[12289],"v":[{"k":[26234],"v":[{"k":[33021],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"k":[12289],"v":[{"k":[26234],"v":[{"k":[33021],"v":[{"k":[31227],"v":[{"k":[21160],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"k":[31561],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20998],"v":[{"k":[25674],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[30340],"v":[{"k":[21387],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20250],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[22823],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[21644],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35270],"v":[{"k":[21270],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]},{"k":[38598],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"d":{"df":1,"dc":[[81,1]]}}]},{"k":[36807,37324,20013,65288],"v":[{"k":[28388],"v":[{"k":[65292],"v":[{"k":[21333,25955],"v":[{"k":[25968],"v":[{"k":[30340],"v":[{"k":[29305],"v":[{"k":[24449],"v":[{"k":[26159],"v":[{"k":[39318],"v":[{"k":[27425],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[19979],"v":[{"k":[26631],"v":[{"k":[21644],"v":[{"k":[26368],"v":[{"k":[21518],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[19979],"v":[{"k":[26631],"v":[{"k":[24046],"v":[{"k":[20540],"v":[{"k":[20026],"v":[{"k":[22855],"v":[{"k":[25968],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26434],"v":[{"k":[25968],"v":[{"k":[30340],"v":[{"k":[29305],"v":[{"k":[24449],"v":[{"k":[26159],"v":[{"k":[39318],"v":[{"k":[27425],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[19979],"v":[{"k":[26631],"v":[{"k":[21644],"v":[{"k":[26368],"v":[{"k":[21518],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[19979],"v":[{"k":[26631],"v":[{"k":[24212],"v":[{"k":[20445],"v":[{"k":[25345],"v":[{"k":[19968],"v":[{"k":[33268],"v":[{"k":[65288],"v":[{"k":[20165],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[27491],"v":[{"k":[22312],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[30340],"v":[{"k":[20803],"v":[{"k":[32032],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]},{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]},{"k":[121,111,105,97,101,115,117,98,107,100,113,103],"v":[{"d":{"df":2,"dc":[[45,1],[58,1]]},"k":[115,105,109,46,95],"v":[{"k":[113,101],"v":[{"k":[108],"v":[{"d":{"df":10,"dc":[[2,1],[11,1],[12,2],[54,1],[65,3],[79,2],[81,2],[106,1],[108,1],[110,1]]},"k":[120,46,44,58,111,119,26377],"v":[{"d":{"df":1,"dc":[[12,3]]},"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99,115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46,59],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[12,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[113,114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[39,115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]},{"k":[113],"v":[{"k":[108],"v":[{"k":[49,50,41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[65,1],[81,1]]}},{"d":{"df":1,"dc":[[65,1]]}},{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[65292],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[58,44],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[44,3]]}}]}]}]}]}]},{"k":[110,99,100,98,117,111,118,114,122],"v":[{"k":[103,97,111],"v":[{"k":[111],"v":[{"k":[100,111],"v":[{"k":[98],"v":[{"d":{"df":2,"dc":[[2,1],[11,2]]},"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99,115,109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[107,104],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[117],"v":[{"k":[112],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]},{"k":[97],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]},{"k":[117,101,105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[20,1],[88,4]]},"k":[46,102,58,115],"v":[{"k":[101,106,114],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":15,"dc":[[11,1],[12,3],[17,1],[21,1],[26,3],[46,1],[48,3],[49,1],[63,3],[65,3],[68,5],[69,2],[70,2],[75,1],[81,3]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[58],"v":[{"k":[52],"v":[{"k":[55],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[58,46],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[26,1],[68,1]]}},{"d":{"df":1,"dc":[[88,1]]},"k":[58,44],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}},{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]},"k":[108,58],"v":[{"d":{"df":3,"dc":[[12,3],[65,2],[93,4]]},"k":[46,115,40,12289,39],"v":[{"k":[106,99],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[12,1],[93,1]]},"k":[91],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]}},{"k":[65292],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[24517],"v":[{"k":[39035],"v":[{"k":[29992],"v":[{"k":[45],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]}}]},{"k":[102],"v":[{"k":[121,105],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[120,105],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[109],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[101],"v":[{"k":[117,100],"v":[{"k":[112],"v":[{"k":[105,40],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[91],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[105,40],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":2,"dc":[[68,1],[99,3]]}}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[110,100,115,99,120,109],"v":[{"k":[105,103,45,100,58],"v":[{"d":{"df":1,"dc":[[3,1]]},"k":[47,109,102],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]},{"k":[105,117,97],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]},{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[64,45,58],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[103,104,112],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[64],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[64],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[117],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[106,109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[58,1],[72,1]]}}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[58,1],[72,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[107,1]]}}]},{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[58,119],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115,47,58],"v":[{"d":{"df":1,"dc":[[21,1]]}},{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[35,1]]},"k":[115],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[68,1]]},"k":[46],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]},{"k":[99,116,110,112,120,105,107,115,114],"v":[{"d":{"df":5,"dc":[[3,3],[5,1],[15,2],[34,1],[63,1]]},"k":[111,98,44,104,100],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[3,4],[19,1]]},"k":[65292],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[25509],"v":[{"k":[36817],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[24615],"v":[{"k":[20215],"v":[{"k":[27604],"v":[{"k":[26497],"v":[{"k":[39640],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[3,2]]}}]}]}]},{"k":[25353],"v":[{"k":[20303],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[54,1],[58,1]]}}]}]}]}]},{"k":[101,104,99,116],"v":[{"k":[98,118,114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[65289],"v":[{"k":[30340],"v":[{"k":[27604],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[36864],"v":[{"k":[32780],"v":[{"k":[27714],"v":[{"k":[20854],"v":[{"k":[27425],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[24102],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[45],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[112,99,102,114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[48,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105,97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[65306],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]},{"k":[106,97],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[103],"v":[{"k":[101],"v":[{"k":[114,100],"v":[{"d":{"df":1,"dc":[[57,1]]}},{"d":{"df":1,"dc":[[82,8]]}}]}]}]}]},{"d":{"df":2,"dc":[[29,2],[33,3]]},"k":[47,115,100,116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[40,41],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,115,45,61,95,58],"v":[{"k":[100,109],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]},{"k":[97,99,111,100,117],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[53,49],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[38,1]]}}]},{"k":[53],"v":[{"k":[55],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[99,110],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[61],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[61],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[100,117],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]},{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[107,1]]}}]},{"k":[110,108],"v":[{"d":{"df":1,"dc":[[36,1]]},"k":[40,46],"v":[{"k":[41],"v":[{"k":[58,59],"v":[{"d":{"df":1,"dc":[[12,1]]}},{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[106,116],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[16,2],[93,1]]},"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[64],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":3,"dc":[[20,1],[45,1],[88,5]]}}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":6,"dc":[[36,2],[41,3],[44,1],[45,5],[48,2],[66,1]]},"k":[39],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[23558],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]},{"k":[107],"v":[{"k":[100,111],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"d":{"df":3,"dc":[[43,1],[44,3],[45,3]]},"k":[58,45],"v":[{"d":{"df":1,"dc":[[43,2]]}},{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[64],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[109,116,115,110,114,63,101],"v":[{"k":[111,58],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[63],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]},{"d":{"df":1,"dc":[[40,2]]}}]},{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"d":{"df":3,"dc":[[8,1],[30,1],[69,3]]},"k":[58,40,50],"v":[{"d":{"df":5,"dc":[[15,1],[20,1],[28,2],[52,8],[69,1]]}},{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[63],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":3,"dc":[[20,1],[76,7],[79,1]]},"k":[104,46,40,58,91],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[75,2]]},"k":[41,58],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]},{"d":{"df":1,"dc":[[75,2]]}}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[75,1],[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[76,2]]}},{"k":[120],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]},{"k":[117,108],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[115],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[111],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[109,103],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[43,7]]},"k":[46,44],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105,40],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[66,1]]},"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,1]]}},{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]},{"d":{"df":2,"dc":[[18,1],[33,1]]}},{"k":[115,116,108],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[19,1],[31,1]]},"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[21,2]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[112,95,117],"v":[{"k":[108],"v":[{"k":[121,101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]},{"d":{"df":2,"dc":[[40,1],[68,1]]}}]}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]},{"k":[101,44],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,2]]}}]}]},{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"d":{"df":7,"dc":[[36,1],[50,1],[53,2],[54,2],[55,2],[57,1],[88,1]]},"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[53],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[55],"v":[{"k":[99],"v":[{"k":[56],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[102],"v":[{"k":[100],"v":[{"k":[50],"v":[{"k":[102],"v":[{"k":[51],"v":[{"k":[101],"v":[{"k":[53],"v":[{"k":[100],"v":[{"k":[57],"v":[{"k":[101],"v":[{"k":[55],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[98],"v":[{"k":[55],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[53],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[43],"v":[{"k":[102],"v":[{"k":[112],"v":[{"k":[121],"v":[{"k":[107],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[102],"v":[{"k":[55],"v":[{"k":[110],"v":[{"k":[113],"v":[{"k":[119],"v":[{"k":[107],"v":[{"k":[102],"v":[{"k":[119],"v":[{"k":[99],"v":[{"k":[56],"v":[{"k":[51],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[118],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[103],"v":[{"k":[118],"v":[{"k":[119],"v":[{"k":[113],"v":[{"k":[109],"v":[{"k":[122],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[102],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[43],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[103],"v":[{"k":[120],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[119],"v":[{"k":[56],"v":[{"k":[104],"v":[{"k":[122],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[115],"v":[{"k":[122],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[113],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[98],"v":[{"k":[113],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[107],"v":[{"k":[122],"v":[{"k":[112],"v":[{"k":[49],"v":[{"k":[98],"v":[{"k":[102],"v":[{"k":[54],"v":[{"k":[50],"v":[{"k":[122],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[55],"v":[{"k":[57],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[120],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39564,27979,24120,36807],"v":[{"d":{"df":1,"dc":[[2,1]]},"k":[35777,20016],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[23500],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[20248],"v":[{"k":[21183],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[23681],"v":[{"k":[25968],"v":[{"k":[22823],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[21155],"v":[{"k":[21183],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[24180],"v":[{"k":[36731],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[22810],"v":[{"k":[23398],"v":[{"k":[28857],"v":[{"k":[19996],"v":[{"k":[35199],"v":[{"k":[21543],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[20320],"v":[{"k":[20250],"v":[{"k":[26356],"v":[{"k":[26377],"v":[{"k":[31454],"v":[{"k":[20105],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35797],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[20986],"v":[{"k":[38376],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[24576],"v":[{"k":[30097],"v":[{"k":[38376],"v":[{"k":[27809],"v":[{"k":[38145],"v":[{"k":[22909],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[27573],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[33258],"v":[{"k":[25105],"v":[{"k":[35843],"v":[{"k":[33410],"v":[{"k":[65292],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[36798],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[11,1],[46,1]]},"k":[20135,25105,32780,20854,24403,19978,28304,36828,20107,36825,39033,25163],"v":[{"k":[21697],"v":[{"k":[26550],"v":[{"k":[26500],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[21040],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"k":[65292],"v":[{"k":[20877],"v":[{"k":[21040],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[36816],"v":[{"k":[32500],"v":[{"k":[30340],"v":[{"k":[21508],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[12289],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[12289],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[23567],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[35266],"v":[{"k":[24863],"v":[{"k":[26469],"v":[{"k":[30475],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26469],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]},{"k":[20182],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[24211],"v":[{"k":[65288],"v":[{"k":[26082],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[26159],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[30340],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[26159],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[30340],"v":[{"k":[65289],"v":[{"k":[23558],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[21040],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21069],"v":[{"k":[30340,30446],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[20013],"v":[{"k":[21644],"v":[{"k":[32034],"v":[{"k":[24341],"v":[{"k":[20013],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24405],"v":[{"k":[19979],"v":[{"k":[23547],"v":[{"k":[25214],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]},{"k":[25991],"v":[{"k":[35745],"v":[{"k":[21010],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[20013],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[30475],"v":[{"k":[20986],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[38543],"v":[{"k":[26426],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[30001],"v":[{"k":[20110],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[26159],"v":[{"k":[20889],"v":[{"k":[22312],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[22266],"v":[{"k":[23450],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[19968],"v":[{"k":[26086],"v":[{"k":[24819],"v":[{"k":[35201],"v":[{"k":[25913],"v":[{"k":[20026],"v":[{"k":[21160],"v":[{"k":[24577],"v":[{"k":[30340],"v":[{"k":[65288],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[24320],"v":[{"k":[25918],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[22871],"v":[{"k":[20307],"v":[{"k":[31995],"v":[{"k":[23601],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31449],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"d":{"df":1,"dc":[[66,2]]}}]}]}]}]}]},{"k":[31243],"v":[{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[20214],"v":[{"k":[20013],"v":[{"k":[24515],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[23454],"v":[{"k":[20307],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[32593],"v":[{"k":[22336],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]},{"k":[30446],"v":[{"k":[36733],"v":[{"k":[20837],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26426],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[24403],"v":[{"k":[36935],"v":[{"k":[21040],"v":[{"k":[22403],"v":[{"k":[22334],"v":[{"k":[30701],"v":[{"k":[20449],"v":[{"k":[65292],"v":[{"k":[24191],"v":[{"k":[21578],"v":[{"k":[25512],"v":[{"k":[36865],"v":[{"k":[65292],"v":[{"k":[20811],"v":[{"k":[21046],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[19981],"v":[{"k":[21435],"v":[{"k":[28857],"v":[{"k":[12290],"v":[{"k":[22823],"v":[{"k":[32422],"v":[{"k":[29992],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[21608],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[20877],"v":[{"k":[30475],"v":[{"k":[21040],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[19978],"v":[{"k":[26410],"v":[{"k":[35835],"v":[{"k":[30340],"v":[{"k":[32418],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[23601],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[30340],"v":[{"k":[24863],"v":[{"k":[35273],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37096,22810,23567,22242,23478],"v":[{"k":[20998],"v":[{"k":[28041,32416],"v":[{"k":[21450],"v":[{"k":[21040],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[26469],"v":[{"k":[33258],"v":[{"k":[20110],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[20013],"v":[{"k":[36393],"v":[{"k":[30340],"v":[{"k":[22353],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32467],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[23454],"v":[{"k":[21482],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[39044],"v":[{"k":[31639],"v":[{"k":[23601],"v":[{"k":[22909],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25968],"v":[{"k":[38750,24320,20027,33021],"v":[{"d":{"df":1,"dc":[[4,1]]}},{"k":[21457],"v":[{"k":[36719],"v":[{"k":[20214],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[20381],"v":[{"k":[36182],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39064],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[20197],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[36935],"v":[{"k":[35265],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[37117],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[38590],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"k":[21363],"v":[{"k":[20415],"v":[{"k":[35273],"v":[{"k":[24471],"v":[{"k":[26159],"v":[{"k":[38590],"v":[{"k":[39064],"v":[{"k":[20063],"v":[{"k":[26080],"v":[{"k":[38750],"v":[{"k":[26159],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[30340],"v":[{"k":[19981],"v":[{"k":[36275],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[65292],"v":[{"k":[35201],"v":[{"k":[21892],"v":[{"k":[20110],"v":[{"k":[21033],"v":[{"k":[29992],"v":[{"k":[25628],"v":[{"k":[32034],"v":[{"k":[24341],"v":[{"k":[25806],"v":[{"k":[65292],"v":[{"k":[22810],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[65292],"v":[{"k":[22810],"v":[{"k":[25972],"v":[{"k":[29702],"v":[{"k":[65292],"v":[{"k":[22810],"v":[{"k":[24635],"v":[{"k":[32467],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[12290],"v":[{"d":{"df":1,"dc":[[37,1]]}}]},{"k":[38431],"v":[{"k":[30340],"v":[{"k":[20248,21155],"v":[{"k":[21183],"v":[{"d":{"df":1,"dc":[[95,1]]}}]},{"k":[21183],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]},{"k":[37117],"v":[{"k":[25343],"v":[{"k":[30528],"v":[{"k":[24046],"v":[{"k":[19981],"v":[{"k":[20102],"v":[{"k":[22826],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[34218],"v":[{"k":[27700],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20998,32626],"v":[{"k":[25552,25903,20248,20449],"v":[{"k":[20379],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]},{"k":[25345],"v":[{"k":[65292],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]},{"k":[21270],"v":[{"k":[24314],"v":[{"k":[35758],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]},{"k":[24687],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23384],"v":[{"k":[20837],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[65,1]]},"k":[21040,21518,36335,21629],"v":[{"d":{"df":2,"dc":[[37,1],[45,2]]}},{"k":[20256],"v":[{"k":[20837],"v":[{"k":[32465],"v":[{"k":[23450],"v":[{"k":[30340],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24452],"v":[{"d":{"df":1,"dc":[[89,1]]}}]},{"k":[20196],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]},{"k":[26356,20027,26159,19988,23454,25105,30446,19968,20320],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[24076],"v":[{"k":[26395],"v":[{"k":[20320],"v":[{"k":[20204],"v":[{"k":[22312],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[21435],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"k":[36935],"v":[{"k":[21040],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[26102],"v":[{"k":[30340],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[19982],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[21306],"v":[{"k":[21035],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]},{"k":[24819,31867,21151,30701],"v":[{"k":[35201],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"k":[23436],"v":[{"k":[25972],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20284],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[20837],"v":[{"k":[21475],"v":[{"k":[36335],"v":[{"k":[24452],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[26495],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]},{"k":[39029,20320,35821,20687],"v":[{"k":[38754],"v":[{"k":[38388],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[20256],"v":[{"k":[32479],"v":[{"k":[34920],"v":[{"k":[21333],"v":[{"k":[24418],"v":[{"k":[24335],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[36339],"v":[{"k":[36716],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20180],"v":[{"k":[32454],"v":[{"k":[30740],"v":[{"k":[31350],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[44],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[96],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27861],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[44],"v":[{"k":[20540],"v":[{"k":[24471],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[38469],"v":[{"k":[19978],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]},{"k":[20204],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[47],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[21069],"v":[{"k":[30340],"v":[{"k":[26234],"v":[{"k":[33021],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[40],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[26234],"v":[{"k":[33021],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19978],"v":[{"k":[25163],"v":[{"k":[23601],"v":[{"k":[35201],"v":[{"k":[20570],"v":[{"k":[39640],"v":[{"k":[22823],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[35201],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"k":[8220],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[8221],"v":[{"k":[65288],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[43],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[43],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[43],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[65289],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[26632],"v":[{"k":[20043],"v":[{"k":[31867],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[29616],"v":[{"k":[23454],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21482],"v":[{"k":[29992],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[24819,36335,32500],"v":[{"d":{"df":1,"dc":[[2,1]]},"k":[36825,19981],"v":[{"k":[20010],"v":[{"k":[19996],"v":[{"k":[35199],"v":[{"k":[65292],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[26377],"v":[{"k":[21518],"v":[{"k":[22825],"v":[{"k":[24357],"v":[{"k":[34917],"v":[{"k":[30340],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[19982],"v":[{"k":[29983],"v":[{"k":[20465],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[35270],"v":[{"k":[20026],"v":[{"k":[20808],"v":[{"k":[22825],"v":[{"k":[20248],"v":[{"k":[21183],"v":[{"k":[12290],"v":[{"k":[32780],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[21644],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"k":[30456],"v":[{"k":[32467],"v":[{"k":[21512],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[35270],"v":[{"k":[20026],"v":[{"k":[21518],"v":[{"k":[22825],"v":[{"k":[23500],"v":[{"k":[36275],"v":[{"k":[12290],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[32773],"v":[{"k":[37117],"v":[{"k":[28385],"v":[{"k":[36275],"v":[{"k":[65292],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[25104],"v":[{"k":[20026],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[32773],"v":[{"k":[12290],"v":[{"k":[24456],"v":[{"k":[33499],"v":[{"k":[21051],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[36825],"v":[{"k":[26159],"v":[{"k":[20107],"v":[{"k":[23454],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[7,1]]},"k":[19968,20108,24456],"v":[{"d":{"df":2,"dc":[[8,1],[62,1]]}},{"d":{"df":2,"dc":[[8,1],[62,1]]}},{"k":[31616],"v":[{"k":[21333],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"k":[23548],"v":[{"k":[22270],"v":[{"d":{"df":1,"dc":[[72,1]]},"k":[65288],"v":[{"k":[33041],"v":[{"k":[22270],"v":[{"k":[65289],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]},{"k":[26469,20998,24517],"v":[{"k":[30340],"v":[{"k":[19990],"v":[{"k":[30028],"v":[{"k":[19981],"v":[{"k":[23646],"v":[{"k":[20110],"v":[{"k":[23500],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[26356],"v":[{"k":[19981],"v":[{"k":[23646],"v":[{"k":[20110],"v":[{"k":[31351],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[20250],"v":[{"k":[23646],"v":[{"k":[20110],"v":[{"k":[26377],"v":[{"k":[24605],"v":[{"k":[24819],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37197],"v":[{"k":[30340],"v":[{"k":[20313],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[48,2]]}}]}]}]}]},{"k":[22825],"v":[{"k":[22825],"v":[{"k":[32047],"v":[{"k":[27515],"v":[{"k":[32047],"v":[{"k":[27963],"v":[{"k":[30340],"v":[{"k":[36830],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[29983],"v":[{"k":[27963],"v":[{"k":[37117],"v":[{"k":[20002],"v":[{"k":[20102],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[65292],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[20415],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[24456],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[20063],"v":[{"k":[27809],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[36319],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[36807],"v":[{"k":[19981],"v":[{"k":[21435],"v":[{"k":[12290],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[30340],"v":[{"k":[21019],"v":[{"k":[36896],"v":[{"k":[24448],"v":[{"k":[24448],"v":[{"k":[26469],"v":[{"k":[33258],"v":[{"k":[20110],"v":[{"k":[28789],"v":[{"k":[24863],"v":[{"k":[30340],"v":[{"k":[36856],"v":[{"k":[21457],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[26426],"v":[{"k":[26800],"v":[{"k":[37325],"v":[{"k":[22797],"v":[{"k":[30340],"v":[{"k":[30732],"v":[{"k":[22418],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32467,35760,26377],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[20010,65306,26469],"v":[{"k":[20154],"v":[{"k":[22312],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20013],"v":[{"k":[31215],"v":[{"k":[32047],"v":[{"k":[30340],"v":[{"k":[24605],"v":[{"k":[24819],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[65292],"v":[{"k":[21644],"v":[{"k":[30475],"v":[{"k":[37325],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[21450],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37096,26412],"v":[{"k":[32626],"v":[{"k":[27493],"v":[{"k":[39588],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[22320],"v":[{"k":[35843],"v":[{"k":[35797],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[35828],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[32463],"v":[{"k":[24120],"v":[{"k":[21051],"v":[{"k":[24847],"v":[{"k":[22320],"v":[{"k":[21435],"v":[{"k":[20570],"v":[{"k":[26576],"v":[{"k":[20123],"v":[{"k":[20107],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24405],"v":[{"k":[25968],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[32047],"v":[{"k":[27963],"v":[{"k":[38590],"v":[{"k":[27963],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[19981],"v":[{"k":[24895],"v":[{"k":[24847],"v":[{"k":[25509],"v":[{"k":[30340],"v":[{"k":[27963],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[27963],"v":[{"k":[24635],"v":[{"k":[35201],"v":[{"k":[26377],"v":[{"k":[20154],"v":[{"k":[24178],"v":[{"k":[21543],"v":[{"k":[12290],"v":[{"k":[20320],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[20250],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[37325],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[21738],"v":[{"k":[24597],"v":[{"k":[29616],"v":[{"k":[22312],"v":[{"k":[30340],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[24403],"v":[{"k":[19968],"v":[{"k":[39063],"v":[{"k":[34746],"v":[{"k":[19997],"v":[{"k":[38025],"v":[{"k":[12290],"v":[{"k":[21507],"v":[{"k":[24471],"v":[{"k":[33510],"v":[{"k":[20013],"v":[{"k":[33510],"v":[{"k":[65292],"v":[{"k":[26041],"v":[{"k":[20026],"v":[{"k":[20154],"v":[{"k":[19978],"v":[{"k":[20154],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":21,"dc":[[6,2],[7,4],[8,1],[9,4],[10,2],[15,1],[26,1],[27,3],[40,2],[45,3],[48,2],[57,4],[62,1],[63,2],[65,1],[79,2],[81,1],[94,1],[97,1],[99,1],[106,1]]},"k":[48,107,41,39,44,46,93,49,51,53,55,57,65306,110,125,59,58,103,56,54,50,52,100,65289,62,65288,92,12289,99,97,45,65292],"v":[{"d":{"df":2,"dc":[[45,1],[48,1]]},"k":[49,50,46,44,41,104,48,37],"v":[{"k":[54,56,55,57,52],"v":[{"d":{"df":1,"dc":[[72,1]]},"k":[46],"v":[{"k":[56,48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]},{"k":[56],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[51],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]},{"k":[46,45],"v":[{"k":[48],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[54,48],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[2,1]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]},{"k":[48],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[116],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[58],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[58],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[53,55],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[76,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]},{"k":[56],"v":[{"k":[54],"v":[{"k":[122],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[3,1]]}},{"k":[45],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[45],"v":[{"k":[48],"v":[{"k":[54,57],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[48,52],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[45],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[45],"v":[{"k":[48],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]},{"k":[48,50],"v":[{"k":[46,47],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]},{"k":[48],"v":[{"k":[55],"v":[{"k":[47],"v":[{"k":[48],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]},{"k":[65292],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]},{"d":{"df":1,"dc":[[15,1]]}},{"d":{"df":2,"dc":[[33,1],[48,2]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"d":{"df":1,"dc":[[43,1]]}},{"d":{"df":1,"dc":[[106,1]]},"k":[39,41,59,44],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,2]]}}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[52,2]]}}]},{"d":{"df":1,"dc":[[69,4]]}},{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[26368,27604],"v":[{"k":[26377],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[19978],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[31639],"v":[{"k":[41],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[36798],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[3,1]]}},{"k":[41,44],"v":[{"k":[59],"v":[{"d":{"df":4,"dc":[[6,2],[27,1],[63,2],[76,1]]}}]},{"d":{"df":1,"dc":[[20,1]]}}]},{"k":[44],"v":[{"d":{"df":2,"dc":[[6,1],[63,1]]}}]},{"d":{"df":9,"dc":[[30,1],[31,1],[33,6],[42,1],[48,6],[57,1],[63,2],[68,1],[79,2]]},"k":[54,51,53,52],"v":[{"k":[50],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]},{"d":{"df":2,"dc":[[26,1],[92,1]]}},{"k":[54],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]},{"k":[55,53],"v":[{"k":[51],"v":[{"k":[44],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]},{"k":[56],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]},{"d":{"df":29,"dc":[[7,1],[15,2],[26,4],[36,1],[37,1],[39,1],[41,1],[42,1],[45,3],[52,2],[62,2],[63,4],[64,1],[65,1],[66,2],[67,1],[71,1],[74,2],[75,1],[76,3],[78,1],[89,2],[90,1],[92,2],[99,1],[100,2],[105,4],[106,2],[108,2]]},"k":[48,50,120,119,54,49,56,26816,21516,20462,24403,25104,52,29992,37325,36830,55,27809,20195,20030,20307,34218,25928,29468,27599,99],"v":[{"d":{"df":1,"dc":[[18,2]]},"k":[46,103],"v":[{"k":[48],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20381],"v":[{"k":[36182],"v":[{"k":[39033],"v":[{"k":[30340],"v":[{"k":[26368],"v":[{"k":[26032],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[122],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]},"k":[46],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]},{"d":{"df":1,"dc":[[26,1]]},"k":[46],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[109],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[103],"v":[{"k":[104],"v":[{"k":[122],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]},{"k":[26597],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[96],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[21495],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26102],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[96],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[21644],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25913],"v":[{"k":[96],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21069],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[26410],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[21151],"v":[{"k":[65288],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[32452,24403],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[21069],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]},{"k":[25143],"v":[{"k":[21453],"v":[{"k":[39304],"v":[{"k":[30340],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[32435],"v":[{"k":[20837],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35270],"v":[{"k":[26377],"v":[{"k":[27934],"v":[{"k":[35265],"v":[{"k":[32773],"v":[{"k":[30340],"v":[{"k":[27599],"v":[{"k":[19968],"v":[{"k":[21477],"v":[{"k":[35805],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[25509],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[82,1]]}}]},{"k":[35013],"v":[{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[30721],"v":[{"k":[26816],"v":[{"k":[20986],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]},{"k":[19968],"v":[{"k":[21453],"v":[{"k":[19977],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]},{"k":[21046],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[65292],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[35268],"v":[{"k":[33539],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]},{"k":[36164],"v":[{"k":[12289,24453],"v":[{"k":[32844],"v":[{"k":[20301],"v":[{"k":[30340],"v":[{"k":[26187],"v":[{"k":[21319],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[19981],"v":[{"k":[22823],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]},{"k":[36935],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]},{"k":[29575],"v":[{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[30097],"v":[{"d":{"df":1,"dc":[[100,1]]}}]},{"k":[27425],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25511],"v":[{"k":[21046],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[117],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]},{"d":{"df":1,"dc":[[8,1]]},"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[9,1]]},"k":[48,49,44,107],"v":[{"d":{"df":2,"dc":[[10,1],[40,1]]}},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[48,3]]}},{"d":{"df":1,"dc":[[95,1]]}}]},{"d":{"df":1,"dc":[[9,1]]},"k":[52,44],"v":[{"k":[109,103],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[48,3]]}}]},{"d":{"df":3,"dc":[[9,1],[12,1],[39,1]]},"k":[44],"v":[{"d":{"df":2,"dc":[[12,1],[48,3]]}}]},{"d":{"df":1,"dc":[[9,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[48,3]]}}]},{"d":{"df":2,"dc":[[9,1],[48,1]]},"k":[56,44,59],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":1,"dc":[[48,2]]}},{"d":{"df":1,"dc":[[84,1]]}}]},{"d":{"df":1,"dc":[[9,1]]},"k":[20256,98],"v":[{"k":[20837],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[19981],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[62,4]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[43],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[9,2]]}}]}]},{"d":{"df":1,"dc":[[23,1]]},"k":[36820],"v":[{"k":[22238],"v":[{"k":[32473],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}},{"d":{"df":1,"dc":[[39,2]]},"k":[39,48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[48],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[48,1]]},"k":[103,44,48,55],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[48,2]]}},{"k":[51],"v":[{"k":[65306],"v":[{"k":[102],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]},{"k":[48],"v":[{"k":[49],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[48,1]]},"k":[103,44,48],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[48,2]]}},{"k":[54],"v":[{"k":[65306],"v":[{"k":[52],"v":[{"k":[55],"v":[{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[48,1],[95,1]]},"k":[49,51,57,44,34],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[40,1]]}},{"k":[50],"v":[{"k":[48],"v":[{"k":[52],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[48,2]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"d":{"df":2,"dc":[[44,1],[48,1]]},"k":[104,44,48,125,107],"v":[{"d":{"df":1,"dc":[[41,1]]}},{"d":{"df":2,"dc":[[48,2],[85,1]]}},{"k":[48,53],"v":[{"k":[65306],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]},{"k":[65306],"v":[{"k":[98,56],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]},{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]},{"k":[26102],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[91],"v":[{"k":[49],"v":[{"k":[93],"v":[{"k":[125],"v":[{"k":[20998],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[91],"v":[{"k":[50],"v":[{"k":[93],"v":[{"k":[125],"v":[{"k":[31186],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[95,1]]}}]},{"d":{"df":1,"dc":[[43,1]]}},{"d":{"df":1,"dc":[[62,1]]},"k":[26469,65289],"v":[{"k":[32534],"v":[{"k":[36753],"v":[{"k":[35813],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[38],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]},{"k":[19978,26410],"v":[{"k":[32423],"v":[{"k":[26576],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[21592],"v":[{"k":[65289],"v":[{"k":[65288],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"k":[20837],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]},{"k":[42],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[51,24515],"v":[{"d":{"df":1,"dc":[[82,1]]}},{"k":[65292],"v":[{"k":[22996],"v":[{"k":[23624],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]},{"k":[48],"v":[{"k":[102],"v":[{"k":[65306],"v":[{"k":[102],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[54],"v":[{"k":[65306],"v":[{"k":[57],"v":[{"k":[56],"v":[{"k":[99],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]},{"k":[53],"v":[{"d":{"df":1,"dc":[[97,1]]}}]},{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]},{"k":[20889],"v":[{"k":[19979],"v":[{"k":[20102],"v":[{"k":[26412],"v":[{"k":[20070],"v":[{"k":[30340],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[34892],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[24403],"v":[{"k":[26102],"v":[{"k":[24819],"v":[{"k":[30340],"v":[{"k":[21517],"v":[{"k":[23383],"v":[{"k":[20026],"v":[{"k":[12298],"v":[{"k":[21487],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[39046],"v":[{"k":[34966],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[35745],"v":[{"k":[21010],"v":[{"k":[12299],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[23507],"v":[{"k":[24847],"v":[{"k":[26159],"v":[{"k":[24076],"v":[{"k":[26395],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[22312],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20869],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[20139],"v":[{"k":[65292],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[20986],"v":[{"k":[26356],"v":[{"k":[20248],"v":[{"k":[31168],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[25165],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"k":[25105],"v":[{"k":[20570],"v":[{"k":[24471],"v":[{"k":[26356],"v":[{"k":[22909],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[22240],"v":[{"k":[27492],"v":[{"k":[26377],"v":[{"k":[25152],"v":[{"k":[24314],"v":[{"k":[26641],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[23558],"v":[{"k":[20250],"v":[{"k":[25104],"v":[{"k":[20026],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[39046],"v":[{"k":[34966],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30721,30446],"v":[{"k":[65306,33258,20301,32534,65292],"v":[{"d":{"df":2,"dc":[[2,1],[79,1]]}},{"k":[24102],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[20110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]},{"k":[35793],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[24182],"v":[{"k":[35299],"v":[{"k":[21387],"v":[{"d":{"df":1,"dc":[[88,3]]}}]}]}]}]},{"k":[24405],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[96],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36814],"v":[{"k":[36827,25552],"v":[{"k":[34892],"v":[{"k":[21453],"v":[{"k":[39304],"v":[{"k":[20132],"v":[{"k":[27969],"v":[{"k":[12290],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[26399],"v":[{"k":[24453],"v":[{"k":[24744],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[111,97,117,105,114,101,108,110,115,116,100,43],"v":[{"k":[108,114,111,110,117],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[2,1]]},"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"d":{"df":15,"dc":[[6,2],[7,1],[8,1],[10,2],[11,1],[19,4],[27,4],[30,1],[33,6],[40,1],[43,2],[45,1],[48,2],[57,3],[110,2]]},"k":[99,116,109,103,101,107],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[40,2]]},"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]},{"k":[117,114],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[11,2]]},"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[31,1]]},"k":[58,97,45],"v":[{"d":{"df":1,"dc":[[15,1]]}},{"k":[116],"v":[{"d":{"df":4,"dc":[[31,1],[40,1],[65,1],[79,1]]},"k":[117,40],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]},{"k":[39,96],"v":[{"k":[105,117,115],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]},{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[79,3]]}}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[31,1],[45,1]]}}]}]},{"k":[97,118],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[66,1]]}}]},{"d":{"df":1,"dc":[[27,2]]},"k":[112,40],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[27,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]},{"k":[123],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[35,1]]},"k":[115,45,102],"v":[{"k":[46,105],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]},{"k":[122],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[102],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[35,4]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,2]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[44,2]]},"k":[39,58],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"k":[108,115,99,105,110,116],"v":[{"k":[115,108],"v":[{"k":[101],"v":[{"d":{"df":12,"dc":[[17,1],[20,1],[21,2],[26,2],[43,2],[49,1],[57,4],[63,1],[66,1],[68,4],[79,2],[81,2]]},"k":[41,44,59],"v":[{"d":{"df":1,"dc":[[63,6]]},"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]},{"d":{"df":5,"dc":[[26,4],[57,2],[63,2],[81,12],[85,6]]}},{"d":{"df":1,"dc":[[63,40]]}}]}]},{"k":[98,111],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[35,3]]}}]}]}]},{"k":[99],"v":[{"d":{"df":1,"dc":[[54,1]]},"k":[21644],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[21644],"v":[{"k":[20869],"v":[{"k":[26680],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[20,2]]},"k":[97,45],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[20,4]]}},{"k":[41],"v":[{"k":[44,41,59],"v":[{"d":{"df":1,"dc":[[20,2]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[41,64],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[94],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":2,"dc":[[25,1],[79,1]]}}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[32,6]]},"k":[65292,58,101],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[35813],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[30340],"v":[{"k":[20889],"v":[{"k":[27861],"v":[{"k":[20026],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[32,4]]}},{"k":[100],"v":[{"d":{"df":1,"dc":[[94,1]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[59,2]]},"k":[103],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[44,95],"v":[{"d":{"df":1,"dc":[[35,1]]}},{"k":[103],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[110,116],"v":[{"k":[99],"v":[{"k":[116,115,40,46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":18,"dc":[[6,3],[12,1],[15,2],[20,4],[23,4],[27,7],[31,1],[32,6],[33,11],[39,6],[42,1],[43,3],[47,8],[49,5],[52,11],[64,1],[76,11],[81,1]]},"k":[40,97,46],"v":[{"k":[39,99],"v":[{"k":[102,46],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]},{"k":[46],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]},{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[95],"v":[{"k":[114,108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,3]]},"k":[46],"v":[{"k":[112,102],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[102,40],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]},{"k":[102,41],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40,102],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[27,2]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,3]]}}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[43,3]]}}]}]}]}]},{"d":{"df":1,"dc":[[40,2]]},"k":[110,114,101,98,108,120],"v":[{"k":[100,105],"v":[{"d":{"df":2,"dc":[[7,2],[40,3]]},"k":[111,101],"v":[{"k":[100,110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[101],"v":[{"k":[40],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[115],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]},{"k":[115,101],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[20,2],[27,1],[63,1]]},"k":[110,39],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,3]]}}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]},{"k":[102,98],"v":[{"k":[111],"v":[{"k":[120],"v":[{"d":{"df":2,"dc":[[58,1],[59,1]]}}]}]},{"k":[117],"v":[{"k":[103],"v":[{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[100],"v":[{"k":[115,58,49,50],"v":[{"k":[58,41],"v":[{"d":{"df":3,"dc":[[12,2],[80,2],[81,2]]}},{"d":{"df":1,"dc":[[39,1]]}}]},{"d":{"df":1,"dc":[[12,2]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[15,1]]},"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]},{"k":[101,108],"v":[{"d":{"df":5,"dc":[[17,1],[19,4],[45,1],[57,1],[63,3]]},"k":[110,41,115,46,122,45,34,59,109,58],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58,44,41],"v":[{"d":{"df":2,"dc":[[26,2],[68,2]]}},{"d":{"df":1,"dc":[[77,1]]}},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[39,1]]}},{"d":{"df":3,"dc":[[44,1],[53,2],[106,1]]},"k":[121,42],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[46,95],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]},{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]},{"k":[97,105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[61],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"d":{"df":1,"dc":[[63,3]]}},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]},{"d":{"df":1,"dc":[[77,1]]}}]},{"k":[58],"v":[{"k":[35],"v":[{"k":[102,99],"v":[{"k":[57],"v":[{"k":[102],"v":[{"k":[44],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[35],"v":[{"k":[51],"v":[{"k":[51],"v":[{"k":[51],"v":[{"k":[44],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[58],"v":[{"k":[52],"v":[{"k":[112],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[102],"v":[{"k":[44],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[35],"v":[{"k":[102],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[44],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[58],"v":[{"k":[50],"v":[{"k":[112],"v":[{"k":[120],"v":[{"k":[44],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,45],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,97,101],"v":[{"k":[109],"v":[{"d":{"df":18,"dc":[[9,1],[10,8],[12,2],[17,3],[20,21],[22,1],[23,8],[24,1],[45,1],[52,1],[63,9],[64,2],[79,9],[82,1],[83,1],[85,2],[88,3],[108,1]]},"k":[117,44],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]},{"d":{"df":1,"dc":[[21,1]]}}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[40,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[40,2]]}}]}]}]},{"k":[116,101],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":3,"dc":[[28,2],[66,2],[89,1]]},"k":[40],"v":[{"k":[39,114],"v":[{"k":[104,97],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[49],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[28,2]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[117,111],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[25,1]]},"k":[65288],"v":[{"k":[22522],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]},{"k":[119],"v":[{"d":{"df":1,"dc":[[49,4]]},"k":[45],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[62,1]]},"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[27,2]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[42,1],[77,2]]},"k":[46],"v":[{"k":[114,115,99],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[102,100],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[40],"v":[{"k":[96],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[112],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[112,39],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[95],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[112],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[43],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[49],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[114],"v":[{"k":[52],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[57],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[102],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[49],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[52],"v":[{"k":[53],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[50],"v":[{"k":[104],"v":[{"k":[115],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[49],"v":[{"k":[116],"v":[{"k":[55],"v":[{"k":[121],"v":[{"k":[107],"v":[{"k":[50],"v":[{"k":[103],"v":[{"k":[112],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[120],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[100],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[121],"v":[{"k":[108],"v":[{"k":[113],"v":[{"k":[53],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[52],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[107],"v":[{"k":[108],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[112],"v":[{"k":[52],"v":[{"k":[113],"v":[{"k":[121],"v":[{"k":[49],"v":[{"k":[119],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[2,1]]},"k":[20351,20063,20010,26159,20204,22312,38656,26366],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[26377,23581],"v":[{"k":[36807],"v":[{"k":[19968],"v":[{"k":[27573],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25874],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[21488],"v":[{"k":[21488],"v":[{"k":[24335],"v":[{"k":[26426],"v":[{"k":[65292],"v":[{"k":[37197],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24102],"v":[{"k":[40060],"v":[{"k":[26354],"v":[{"k":[38754],"v":[{"k":[23631],"v":[{"k":[12290],"v":[{"k":[28216],"v":[{"k":[25103],"v":[{"k":[20307],"v":[{"k":[39564],"v":[{"k":[36824],"v":[{"k":[19981],"v":[{"k":[38169],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[24895],"v":[{"k":[24847],"v":[{"k":[25240],"v":[{"k":[33150],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[24597],"v":[{"k":[40635],"v":[{"k":[28902],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[12289],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[12289],"v":[{"k":[40657],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[19977],"v":[{"k":[31181],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[21507],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35797],"v":[{"k":[36807],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]},{"k":[20154],"v":[{"k":[30340,24863],"v":[{"k":[29702,24863],"v":[{"k":[35299],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[35768],"v":[{"k":[26159],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[20559],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[22763],"v":[{"k":[12290],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[25105],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[21488],"v":[{"k":[30005],"v":[{"k":[30340],"v":[{"k":[20108],"v":[{"k":[21512],"v":[{"k":[19968],"v":[{"k":[65292],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[20302],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[26159],"v":[{"k":[29609],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35273],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[35273],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[20174,23436],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"k":[20840],"v":[{"k":[27809],"v":[{"k":[27861],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"k":[36825],"v":[{"k":[31181],"v":[{"k":[20154],"v":[{"k":[33041],"v":[{"k":[23376],"v":[{"k":[38271],"v":[{"k":[20102],"v":[{"k":[26159],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[29992],"v":[{"k":[22788],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[29420],"v":[{"k":[31435],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[12289],"v":[{"k":[29420],"v":[{"k":[31435],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[20381],"v":[{"k":[36182],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[12290],"v":[{"k":[35201],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[29420],"v":[{"k":[31435],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[24110],"v":[{"k":[20320],"v":[{"k":[26159],"v":[{"k":[24773],"v":[{"k":[20998],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[24110],"v":[{"k":[20320],"v":[{"k":[26159],"v":[{"k":[26412],"v":[{"k":[20998],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[39318],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[65306],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[38752],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[65292],"v":[{"k":[23569],"v":[{"k":[28902],"v":[{"k":[20154],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20808,38656,24819,23558,20197,20250,23601],"v":[{"k":[26469],"v":[{"k":[38024],"v":[{"k":[23545],"v":[{"k":[19978],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[25913],"v":[{"k":[20889],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[65292],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[23450],"v":[{"k":[26102],"v":[{"k":[22120],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[20026,20998],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[37325],"v":[{"k":[23450],"v":[{"k":[21521],"v":[{"k":[96],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27169],"v":[{"k":[22359],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[29992],"v":[{"k":[26368],"v":[{"k":[26032],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[44],"v":[{"k":[20294],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[35201],"v":[{"k":[19968],"v":[{"k":[32423],"v":[{"k":[32423],"v":[{"k":[21521],"v":[{"k":[19978],"v":[{"k":[21435],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25913],"v":[{"k":[29992],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[30340],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"k":[26469],"v":[{"k":[21306],"v":[{"k":[21035],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21069],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]},{"k":[21333],"v":[{"k":[29420],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[23558],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[23545],"v":[{"k":[35937],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[21040],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[23618],"v":[{"k":[40],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[23618],"v":[{"k":[41],"v":[{"k":[21435],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[37492],"v":[{"k":[26435],"v":[{"k":[30340],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20570,39033],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[21457],"v":[{"k":[29616],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[22855],"v":[{"k":[24618],"v":[{"k":[30340],"v":[{"k":[29616],"v":[{"k":[35937],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[20013],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[21738],"v":[{"k":[20123],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]},{"k":[32463],"v":[{"k":[26159],"v":[{"k":[26377],"v":[{"k":[30528],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[20005],"v":[{"k":[37325],"v":[{"k":[30340],"v":[{"k":[24378],"v":[{"k":[36843],"v":[{"k":[30151],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[24930],"v":[{"k":[24930],"v":[{"k":[22320],"v":[{"k":[21457],"v":[{"k":[29616],"v":[{"k":[65292],"v":[{"k":[24378],"v":[{"k":[36843],"v":[{"k":[30151],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[65,1],[108,2]]},"k":[91,101,108,105,120,41,97,98,110,111,115,39318,40,29256,47,99,116,123,33,109,107,100,114,26356,112,36,103,117,25110,29992,118,39,24120,19981,104,102,119,96,20572,24038,52,29366,35843,28982,25991,24605,21407,63,27880,32452,49,37325,23376,25509,30495,25353,57],"v":[{"k":[64,39],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[41,114,50,115,46,108,110],"v":[{"d":{"df":7,"dc":[[5,1],[32,3],[33,1],[63,1],[68,2],[85,1],[110,1]]}},{"k":[114],"v":[{"k":[44,51,52,41,49,50,46],"v":[{"d":{"df":5,"dc":[[15,2],[39,2],[52,2],[76,2],[85,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"d":{"df":9,"dc":[[24,1],[32,1],[39,5],[48,1],[52,7],[69,1],[75,2],[76,9],[77,1]]}},{"k":[44,41],"v":[{"d":{"df":1,"dc":[[39,1]]}},{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[44,41],"v":[{"d":{"df":2,"dc":[[39,1],[85,1]]}},{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[41],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[27,2]]},"k":[53,54],"v":[{"d":{"df":1,"dc":[[58,1]]}},{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[116,103],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"k":[118],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]},{"k":[105,101,97,111],"v":[{"k":[115,107],"v":[{"k":[116],"v":[{"k":[44,41],"v":[{"d":{"df":1,"dc":[[6,1]]}},{"d":{"df":1,"dc":[[6,1]]}}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]},{"k":[116],"v":[{"d":{"df":6,"dc":[[6,2],[10,2],[27,1],[33,2],[48,2],[110,2]]}}]},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[99,103],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[10,2],[48,2]]},"k":[115,116,110,46,100],"v":[{"k":[114,101],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[103,97,114],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]}]},{"k":[112,117],"v":[{"k":[112],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[110,1]]},"k":[41],"v":[{"d":{"df":1,"dc":[[110,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[115,41,91,46],"v":[{"k":[91],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]},{"d":{"df":1,"dc":[[65,1]]}},{"k":[48,49],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[93],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[117],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116,112,102,100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[95],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[58],"v":[{"k":[53],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]},{"k":[111],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[63,23]]},"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[63,6]]}}]},{"k":[46,41],"v":[{"k":[100,111],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,4]]}}]}]}]}]}]},{"d":{"df":3,"dc":[[30,1],[49,1],[65,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]},{"d":{"df":27,"dc":[[6,3],[11,2],[13,1],[15,4],[17,1],[20,3],[21,2],[22,1],[23,2],[24,1],[27,2],[32,2],[33,8],[39,6],[43,4],[47,8],[48,4],[52,16],[62,1],[63,3],[64,1],[65,1],[69,3],[75,1],[77,3],[81,2],[110,3]]}},{"d":{"df":1,"dc":[[7,1]]},"k":[114,115,119,112,99,102,116],"v":[{"k":[114,103],"v":[{"k":[41,46,44,111],"v":[{"d":{"df":3,"dc":[[7,1],[8,1],[63,1]]}},{"k":[108],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,2]]}},{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":9,"dc":[[13,1],[32,2],[39,2],[48,1],[64,1],[69,1],[75,1],[77,2],[110,2]]}}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[112,100],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[47,1]]},"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]},{"d":{"df":1,"dc":[[7,1]]},"k":[101,97,111],"v":[{"k":[116,102],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[52,49],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[58],"v":[{"k":[55],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]},{"k":[51],"v":[{"k":[57],"v":[{"k":[58],"v":[{"k":[57],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117,45,43,41,101],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":2,"dc":[[7,1],[8,1]]}}]}]}]},{"k":[49],"v":[{"k":[41],"v":[{"k":[42],"v":[{"k":[110],"v":[{"k":[43],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]},{"k":[49],"v":[{"k":[41],"v":[{"k":[42],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[9,1]]},"k":[41],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[9,1],[31,1]]}},{"k":[120,116],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":2,"dc":[[10,4],[52,4]]}}]}]},{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100,98,105,112],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]},{"k":[106],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[62,2]]}}]},{"k":[116,101],"v":[{"k":[105,115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]},{"k":[116,101,111,117],"v":[{"k":[97,114,100],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[29,1]]}}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[108,114,113],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[10,2],[106,1]]}}]}]}]},{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]},{"k":[99,109],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[39033],"v":[{"d":{"df":1,"dc":[[9,1]]}}]},{"k":[110,40,101,41],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[41],"v":[{"k":[42],"v":[{"k":[110],"v":[{"k":[43],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]}]},{"k":[63],"v":[{"k":[63],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]},{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]},{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[26412],"v":[{"k":[22823],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]},{"k":[120,94],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[110,100],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[64],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[55],"v":[{"k":[58],"v":[{"k":[51],"v":[{"k":[57],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[47],"v":[{"k":[117,105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[58],"v":[{"k":[56],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[58],"v":[{"k":[51],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[92],"v":[{"k":[91],"v":[{"k":[46],"v":[{"k":[42],"v":[{"k":[92],"v":[{"k":[93],"v":[{"k":[36],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,117,116,97,108],"v":[{"k":[110,100],"v":[{"k":[115,102,116],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]},{"k":[97,101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]},{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[80,1]]},"k":[46],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[44,46],"v":[{"d":{"df":1,"dc":[[43,1]]}},{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[94],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"k":[120],"v":[{"k":[44,41,46],"v":[{"d":{"df":2,"dc":[[18,1],[69,1]]}},{"d":{"df":3,"dc":[[62,3],[68,4],[69,2]]}},{"k":[117,112],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[69,3]]}}]}]}]}]}]}]},{"k":[115,108],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"k":[117,105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[48,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[12,1]]},"k":[121,97,101,114,116,105,41],"v":[{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,4]]},"k":[41,111],"v":[{"d":{"df":2,"dc":[[23,1],[68,1]]}},{"k":[102],"v":[{"d":{"df":2,"dc":[[28,2],[63,2]]}}]}]}]}]},{"k":[114,115],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[27,2],[64,2]]}}]}]}]}]},{"k":[107],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[115,114],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[47,4]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,4]]}}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]}}]},{"d":{"df":3,"dc":[[12,2],[21,3],[75,1]]},"k":[125],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]},{"k":[109,114,105,99,101],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[91],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,103],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100,102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,115,101,111],"v":[{"k":[99,116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[44,41],"v":[{"d":{"df":1,"dc":[[24,1]]}},{"d":{"df":1,"dc":[[75,2]]}}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":2,"dc":[[75,1],[76,2]]}}]}]}]}]}]}]},{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[52,54],"v":[{"k":[55,50],"v":[{"k":[50],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]},{"k":[48],"v":[{"k":[58],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]},{"k":[48],"v":[{"k":[55],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]},{"k":[97,41,101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[63,6]]},"k":[46,41],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[22,2],[28,2]]}}]}]}]},{"d":{"df":1,"dc":[[33,1]]}},{"k":[118,102],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113,115],"v":[{"k":[117,44],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[52,2]]}}]},{"k":[41,111,117],"v":[{"d":{"df":2,"dc":[[28,3],[76,2]]}},{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[110,1]]},"k":[41,91],"v":[{"d":{"df":1,"dc":[[39,2]]}},{"k":[48],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[91],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[93],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26032],"v":[{"k":[26412],"v":[{"k":[25991],"v":[{"k":[26102],"v":[{"k":[30340],"v":[{"k":[26368],"v":[{"k":[26032],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[18,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[49,114,97,101,100,105,111,121],"v":[{"k":[50],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]},{"k":[111],"v":[{"k":[112,99],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,116],"v":[{"k":[115,97,116],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[115],"v":[{"k":[41,46],"v":[{"d":{"df":1,"dc":[[62,1]]}},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[97,103,100,112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[46],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]},{"k":[102],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[63,10]]}}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[80,2]]}}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]},"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,110],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[117],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115,109,105,116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[21,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[65,2]]},"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[44],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[121],"v":[{"k":[44],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[100],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[50,52],"v":[{"k":[50],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]},{"k":[53],"v":[{"k":[58],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[26,1],[92,1]]}},{"k":[20316],"v":[{"k":[20135,24320],"v":[{"k":[21697],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]},{"k":[21457],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[97,117,105],"v":[{"k":[114,108],"v":[{"d":{"df":1,"dc":[[27,2]]}},{"k":[41],"v":[{"d":{"df":1,"dc":[[39,6]]}}]}]},{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[101],"v":[{"k":[119],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]},{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"k":[24120,29992],"v":[{"k":[29992],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"k":[21319],"v":[{"k":[32423],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[47,2]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,2]]}}]}]}]}]}]}]}]},{"k":[111,104],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]},{"k":[52,54,56,24555,117,100,25928,109],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[25463],"v":[{"k":[38190],"v":[{"k":[96],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[21916],"v":[{"k":[22909],"v":[{"k":[21644],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[35774],"v":[{"k":[23450],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,105],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96,110],"v":[{"k":[44],"v":[{"k":[96],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[96],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[108,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]},{"k":[29575],"v":[{"k":[96],"v":[{"k":[19982],"v":[{"k":[96],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[96],"v":[{"k":[24448],"v":[{"k":[24448],"v":[{"k":[26159],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20851],"v":[{"k":[32852],"v":[{"k":[36215],"v":[{"k":[26469],"v":[{"k":[34913],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[21333],"v":[{"k":[29420],"v":[{"k":[25343],"v":[{"k":[20986],"v":[{"k":[26469],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[24182],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20219],"v":[{"k":[20309],"v":[{"k":[30340],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[24847],"v":[{"k":[20041],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]},{"k":[27490],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[44],"v":[{"k":[25226],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[37324],"v":[{"k":[30340],"v":[{"k":[37027],"v":[{"k":[20010],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[25302],"v":[{"k":[36827],"v":[{"k":[26469],"v":[{"k":[44],"v":[{"k":[25353],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31354],"v":[{"k":[26684],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19978],"v":[{"k":[35282],"v":[{"k":[63743],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[25353],"v":[{"k":[38062],"v":[{"k":[26049],"v":[{"k":[36793],"v":[{"k":[28857],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[57,1],[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[57],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[24577],"v":[{"k":[26639],"v":[{"k":[22270],"v":[{"k":[26631],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]},{"k":[25972],"v":[{"k":[31383],"v":[{"k":[21475],"v":[{"k":[22823],"v":[{"k":[23567],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]},{"k":[21518],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]},{"k":[26723],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]},{"k":[32500],"v":[{"k":[23548],"v":[{"k":[22270],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]},{"k":[22411],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,2]]}}]}]},{"k":[44,41],"v":[{"k":[63],"v":[{"k":[44],"v":[{"k":[63],"v":[{"k":[44],"v":[{"k":[63],"v":[{"k":[41],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[20837,24847],"v":[{"k":[24335],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[20214],"v":[{"k":[24335],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]},{"k":[44,48],"v":[{"d":{"df":1,"dc":[[79,1]]}},{"k":[37],"v":[{"d":{"df":1,"dc":[[99,2]]}}]}]},{"k":[35201],"v":[{"k":[31243],"v":[{"k":[24230],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]},{"k":[39033],"v":[{"k":[30446],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]},{"k":[21475],"v":[{"k":[21487],"v":[{"k":[26080],"v":[{"k":[65292],"v":[{"k":[21478],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[21069],"v":[{"k":[21518],"v":[{"k":[31471],"v":[{"k":[20998],"v":[{"k":[31163],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[26159],"v":[{"k":[24456],"v":[{"k":[38590],"v":[{"k":[35828],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[19996],"v":[{"k":[35199],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[20307],"v":[{"k":[29616],"v":[{"k":[20986],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26435],"v":[{"k":[37325],"v":[{"k":[38477],"v":[{"k":[24207],"v":[{"k":[25490],"v":[{"k":[21015],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[53],"v":[{"k":[37],"v":[{"k":[20197],"v":[{"k":[19978],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"d":{"df":14,"dc":[[6,6],[10,8],[15,1],[20,3],[27,9],[33,3],[42,1],[43,2],[44,1],[48,6],[51,1],[63,1],[106,2],[110,3]]},"k":[111,109,57,112,100,115,116,41,110,102,43,49,101,46,44,103,99,105,59,47],"v":[{"d":{"df":2,"dc":[[22,2],[65,1]]},"k":[115,46,59,40,116],"v":[{"d":{"df":4,"dc":[[2,2],[4,1],[5,1],[19,1]]}},{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[22,1]]}},{"k":[39],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[58],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[47],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[75,3],[76,8]]},"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[76,1]]},"k":[46],"v":[{"k":[114,100],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[91],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[93],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,112,109],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[3,4]]}}]},{"k":[108,111],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[7,1],[8,1],[43,1]]},"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":12,"dc":[[12,2],[17,3],[20,21],[22,1],[23,8],[24,1],[52,1],[57,1],[63,9],[64,2],[83,1],[85,2]]},"k":[115,47],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[20,2]]}}]},{"k":[110],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[101,100],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[70,2]]},"k":[58],"v":[{"k":[48],"v":[{"k":[44],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[33,2]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[3,1]]}},{"d":{"df":4,"dc":[[5,2],[40,2],[48,1],[84,2]]},"k":[97,46,95,112,65292,99,58,12290],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[3,2]]}}]},{"d":{"df":1,"dc":[[5,1]]}},{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[61],"v":[{"k":[40],"v":[{"k":[34],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"k":[31471],"v":[{"k":[21475],"v":[{"k":[65292],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[30830],"v":[{"k":[23450],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[36134],"v":[{"k":[21495],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[21518],"v":[{"k":[30830],"v":[{"k":[23450],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}},{"d":{"df":1,"dc":[[84,1]]}},{"d":{"df":1,"dc":[[89,1]]}}]},{"d":{"df":4,"dc":[[6,6],[10,1],[74,2],[105,1]]},"k":[65307,58,41,61,49,50,101,65292,65289,44,39,65288,12290],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":3,"dc":[[11,2],[63,9],[76,1]]}},{"d":{"df":1,"dc":[[63,3]]},"k":[46,59],"v":[{"k":[112,108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[106],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,20]]}}]},{"k":[34],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[34],"v":[{"k":[62],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,1]]},"k":[40],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[62],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[50],"v":[{"k":[40],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,1]]}},{"d":{"df":3,"dc":[[57,1],[58,1],[104,1]]},"k":[65307,12290],"v":[{"k":[21478],"v":[{"k":[19968],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[26159],"v":[{"k":[35813],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[20869],"v":[{"k":[23384],"v":[{"k":[24320],"v":[{"k":[38144],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[22823],"v":[{"k":[65292],"v":[{"k":[33258],"v":[{"k":[24102],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[22826],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"k":[26032],"v":[{"k":[20154],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[38169],"v":[{"k":[30340],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[26159],"v":[{"k":[24930],"v":[{"k":[24930],"v":[{"k":[30340],"v":[{"k":[23545],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[29087],"v":[{"k":[24713],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[22826],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[37027],"v":[{"k":[20123],"v":[{"k":[36741],"v":[{"k":[21161],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[21644],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[20250],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[26356],"v":[{"k":[36731],"v":[{"k":[37327],"v":[{"k":[32423],"v":[{"k":[12289],"v":[{"k":[28789],"v":[{"k":[27963],"v":[{"k":[30340],"v":[{"k":[32534],"v":[{"k":[36753],"v":[{"k":[22120],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[104,2]]}}]},{"k":[29992,32452,23618,21487],"v":[{"k":[25143],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]},{"k":[32455],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[21592],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]},{"k":[32423],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[21450],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[20197],"v":[{"k":[38543],"v":[{"k":[26426],"v":[{"k":[20998],"v":[{"k":[37197],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[22312],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[19978],"v":[{"k":[20998],"v":[{"k":[21495],"v":[{"k":[27573],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[21450],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[24050],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[62,1]]}},{"d":{"df":2,"dc":[[63,4],[69,1]]}},{"k":[41,44],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,11]]}}]},{"d":{"df":1,"dc":[[63,5]]}}]},{"k":[24433],"v":[{"k":[21709],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[21516],"v":[{"k":[27493],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[22806],"v":[{"k":[38190],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"k":[22806],"v":[{"k":[38190],"v":[{"k":[65292],"v":[{"k":[20851],"v":[{"k":[38190],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[32034],"v":[{"k":[24341],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[105,1]]}}]},{"d":{"df":9,"dc":[[11,2],[20,3],[27,1],[29,1],[30,1],[45,4],[80,1],[88,1],[102,1]]},"k":[114,99,58,116,111,101,115,110],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[39,1]]}},{"k":[97],"v":[{"k":[110,116],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"d":{"df":1,"dc":[[58,1]]}}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[121],"v":[{"d":{"df":2,"dc":[[65,1],[110,1]]},"k":[40],"v":[{"k":[123,91,39,48,110,117,102,116,105,114],"v":[{"d":{"df":1,"dc":[[52,1]]},"k":[125],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93,49],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]},{"k":[39,115],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41,46],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116,117],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]},{"d":{"df":3,"dc":[[7,1],[30,1],[76,2]]},"k":[101,40],"v":[{"k":[109,114],"v":[{"d":{"df":2,"dc":[[63,6],[85,1]]},"k":[115,41,46],"v":[{"d":{"df":2,"dc":[[6,1],[85,2]]},"k":[91],"v":[{"k":[105,49,48],"v":[{"d":{"df":1,"dc":[[6,2]]},"k":[93],"v":[{"d":{"df":1,"dc":[[6,2]]},"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]},{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[12,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[65,2]]}}]},{"k":[101,99,111,112],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,4]]}}]}]}]}]},{"k":[109],"v":[{"k":[50],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,109],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]},{"d":{"df":2,"dc":[[57,1],[61,2]]},"k":[41],"v":[{"k":[37324],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[39],"v":[{"k":[47,105,109,97,52],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[115,110],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[52,2]]}}]}]}]},{"k":[100],"v":[{"k":[53],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[49],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[52,51],"v":[{"d":{"df":1,"dc":[[52,1]]}},{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[30,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]},{"d":{"df":16,"dc":[[8,1],[11,1],[14,2],[19,2],[29,1],[30,2],[31,2],[33,1],[40,3],[43,2],[44,1],[45,2],[57,2],[59,1],[79,2],[88,1]]},"k":[116,112,100,115,99,101,106,105,102,118],"v":[{"d":{"df":3,"dc":[[7,1],[11,3],[79,2]]},"k":[101,111,40,44],"v":[{"k":[103,108,114],"v":[{"k":[101,114],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[7,1]]},"k":[115],"v":[{"d":{"df":2,"dc":[[30,1],[31,1]]},"k":[44],"v":[{"d":{"df":2,"dc":[[7,1],[8,1]]}}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[15,2]]}},{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]},{"d":{"df":3,"dc":[[10,2],[65,1],[88,3]]}},{"k":[51,49],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[48,49],"v":[{"k":[41],"v":[{"d":{"df":2,"dc":[[65,1],[108,2]]}}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[108,2]]}}]}]}]},{"d":{"df":1,"dc":[[79,1]]}}]},{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[8,1],[39,2]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]},{"k":[101,105],"v":[{"k":[120,110],"v":[{"d":{"df":3,"dc":[[9,2],[29,1],[63,20]]},"k":[101,46,59,99],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[12,2]]}}]},{"k":[104,108,106],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":3,"dc":[[16,1],[69,1],[93,1]]}}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[16,1],[93,1]]}}]}]}]},{"k":[115],"v":[{"d":{"df":3,"dc":[[16,1],[53,1],[63,1]]}}]}]},{"d":{"df":1,"dc":[[63,4]]}},{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[95,58],"v":[{"k":[115,105],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,4]]}}]}]}]}]},{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101,116,105],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[10,10]]},"k":[105,40],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":16,"dc":[[18,1],[19,1],[20,2],[44,1],[45,6],[46,2],[51,6],[54,4],[55,1],[57,1],[58,1],[61,1],[82,1],[88,8],[89,1],[106,1]]},"k":[58,97,96,65288,44,101],"v":[{"d":{"df":3,"dc":[[41,1],[45,1],[63,1]]}},{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[22312],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[57,2]]}},{"k":[120],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]},{"k":[46,44,58,108],"v":[{"k":[39],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]},{"d":{"df":1,"dc":[[23,1]]}},{"d":{"df":1,"dc":[[23,1]]}},{"k":[117],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,2]]}}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[20,2]]},"k":[112,105,58],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]},{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[116],"v":[{"d":{"df":10,"dc":[[36,3],[44,2],[45,2],[49,1],[50,2],[51,2],[65,1],[66,1],[67,1],[106,3]]},"k":[115,105,46,40],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[23,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[118,45],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[30,1]]},"k":[115],"v":[{"k":[65292],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[20174],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[111],"v":[{"d":{"df":2,"dc":[[34,1],[42,1]]},"k":[41,58],"v":[{"d":{"df":1,"dc":[[24,1]]}},{"d":{"df":1,"dc":[[44,3]]}}]}]},{"k":[97,105],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"k":[115],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":31,"dc":[[10,2],[12,2],[15,2],[17,1],[19,5],[21,1],[28,2],[33,4],[39,5],[40,3],[42,1],[43,1],[45,1],[47,3],[48,4],[49,1],[52,4],[53,1],[62,7],[63,61],[64,1],[65,3],[68,1],[69,15],[75,1],[76,10],[79,4],[80,2],[85,2],[88,1],[110,4]]},"k":[40],"v":[{"k":[117,99],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[94],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[43],"v":[{"k":[59,41],"v":[{"d":{"df":1,"dc":[[15,1]]}},{"d":{"df":2,"dc":[[33,1],[110,1]]}}]}]},{"k":[56],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[21,1],[63,1]]}}]}]},{"d":{"df":1,"dc":[[25,1]]}},{"k":[114,111,99],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[50],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,4]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[30,1]]}},{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[53,1]]},"k":[119,116,99,65307],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]},{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[58,115],"v":[{"d":{"df":1,"dc":[[57,11]]}},{"k":[101],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,8]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[63,2]]},"k":[41],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[63,2]]}},{"k":[111],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"d":{"df":2,"dc":[[43,1],[70,2]]},"k":[25143,20102,20110,19979,26469,31616,20363,26356,96,25104],"v":[{"d":{"df":1,"dc":[[62,5]]},"k":[21487,23558,37492,30340,30331,22522,23545,20449,34892,20307,30028,20013,36890,21517,38468],"v":[{"k":[20197],"v":[{"k":[20351,36890],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[2,1]]}}]},{"k":[36807],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21495],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[21644],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[25214],"v":[{"k":[22238],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26412],"v":[{"k":[20070],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[21040],"v":[{"k":[20027],"v":[{"k":[23631],"v":[{"k":[24149],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]},{"k":[26435],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]},{"k":[37038,38656],"v":[{"k":[31665],"v":[{"k":[20915],"v":[{"k":[23450],"v":[{"k":[20102],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[36129],"v":[{"k":[29486],"v":[{"k":[24230],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27714],"v":[{"k":[26159],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[19981],"v":[{"k":[19968],"v":[{"k":[23450],"v":[{"k":[26159],"v":[{"k":[22823],"v":[{"k":[20247],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[19977],"v":[{"k":[20116],"v":[{"k":[21313],"v":[{"k":[27963],"v":[{"k":[36291],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30340],"v":[{"k":[21453],"v":[{"k":[39304],"v":[{"k":[32452],"v":[{"k":[37324],"v":[{"k":[65292],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[30340],"v":[{"k":[21453],"v":[{"k":[39304],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[20165],"v":[{"k":[33021],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24405,38470],"v":[{"k":[65292],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]},{"k":[25509],"v":[{"k":[21475],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]},{"k":[26412],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65288,34920],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[26159],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]},{"k":[24212],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65288],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[26159],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24687],"v":[{"d":{"df":2,"dc":[[62,2],[79,1]]}}]},{"k":[20026],"v":[{"k":[24341],"v":[{"k":[23548],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[20010],"v":[{"k":[32531],"v":[{"k":[24930],"v":[{"k":[32780],"v":[{"k":[24490],"v":[{"k":[24207],"v":[{"k":[28176],"v":[{"k":[36827],"v":[{"k":[30340],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[12290],"v":[{"k":[22312],"v":[{"k":[20570],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[26550],"v":[{"k":[26500],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[31245],"v":[{"k":[24494],"v":[{"k":[28608],"v":[{"k":[36827],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[26032],"v":[{"k":[26550],"v":[{"k":[26500],"v":[{"k":[26032],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[21435],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[65292],"v":[{"k":[33021],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[65307],"v":[{"k":[20294],"v":[{"k":[26159],"v":[{"k":[22312],"v":[{"k":[20570],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[26550],"v":[{"k":[26500],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[20882],"v":[{"k":[36827],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39564],"v":[{"k":[40,35774],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]},{"k":[35745],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[24515],"v":[{"k":[24471],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]},{"k":[24515],"v":[{"d":{"df":1,"dc":[[74,1]]}}]},{"k":[36807],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[35843],"v":[{"k":[29992],"v":[{"k":[40],"v":[{"k":[22914],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[81,1],[109,1]]},"k":[25110,21644],"v":[{"k":[23494,25163],"v":[{"k":[30721],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65292],"v":[{"k":[36830],"v":[{"k":[32493],"v":[{"k":[19977],"v":[{"k":[27425],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]},{"k":[26426],"v":[{"k":[21495],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]},{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21495],"v":[{"k":[22343],"v":[{"k":[20026],"v":[{"k":[21807],"v":[{"k":[19968],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[34920],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]},{"k":[21313],"v":[{"k":[20313],"v":[{"k":[24180],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[24863],"v":[{"k":[21463],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[65306],"v":[{"k":[30465],"v":[{"k":[24515],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[30465],"v":[{"k":[20107],"v":[{"k":[12290],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[36825],"v":[{"k":[20960],"v":[{"k":[24180],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[19979],"v":[{"k":[26469],"v":[{"k":[24863],"v":[{"k":[35273],"v":[{"k":[21464],"v":[{"k":[21270],"v":[{"k":[19981],"v":[{"k":[22826],"v":[{"k":[22823],"v":[{"k":[65292],"v":[{"k":[23567],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[36234],"v":[{"k":[26469],"v":[{"k":[36234],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[30446],"v":[{"k":[21069],"v":[{"k":[20381],"v":[{"k":[28982],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[30340],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20043],"v":[{"k":[19968],"v":[{"k":[12290],"v":[{"k":[25105],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[25351],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[30333],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[65292],"v":[{"k":[40657],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[20860],"v":[{"k":[23481],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[21916],"v":[{"k":[27426],"v":[{"k":[25240],"v":[{"k":[33150],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35797],"v":[{"k":[35797],"v":[{"k":[12290],"v":[{"k":[27605],"v":[{"k":[31455],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[19968],"v":[{"k":[30452],"v":[{"k":[24615],"v":[{"k":[20215],"v":[{"k":[27604],"v":[{"k":[19981],"v":[{"k":[22826],"v":[{"k":[39640],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[33021],"v":[{"k":[25509],"v":[{"k":[21463],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35299,23433,26381],"v":[{"k":[20915],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"k":[28378],"v":[{"k":[21160],"v":[{"k":[20390],"v":[{"k":[21548],"v":[{"k":[20107],"v":[{"k":[20214],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[39057],"v":[{"k":[29575],"v":[{"k":[36807],"v":[{"k":[39640],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35013],"v":[{"k":[21508],"v":[{"k":[31867],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]},{"k":[21153],"v":[{"k":[22120],"v":[{"k":[31471],"v":[{"k":[20390],"v":[{"k":[21548],"v":[{"k":[24182],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[20004],"v":[{"k":[24133],"v":[{"k":[22270],"v":[{"k":[35299],"v":[{"k":[37322],"v":[{"k":[20250],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[28165],"v":[{"k":[26970],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[65292],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25918],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[21333],"v":[{"k":[30340],"v":[{"k":[96],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22270],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]},{"k":[23569],"v":[{"k":[30340],"v":[{"k":[25551,35828],"v":[{"k":[36848],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[26126],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]},{"k":[58],"v":[{"k":[96],"v":[{"k":[21306],"v":[{"k":[20998],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[19978],"v":[{"k":[20250],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[21464],"v":[{"k":[25104],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[22841],"v":[{"k":[21487],"v":[{"k":[25910],"v":[{"k":[32553],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20102],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]},{"d":{"df":1,"dc":[[11,1]]},"k":[115,103,100,96,37197,23433,36864,120,21796,30561,49,119,111,97,91,51,108,116,105,109,99,110,40,98,59,101,107,36,102,12290,104,112,114,47,118,46,121,95,35,43,55,52,54,56,26174,8984,48,122,126,117,34,29366,32531,20195,31639,27880,106],"v":[{"k":[97,101,117,105,104,116,119,111],"v":[{"k":[102,108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]},{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]},{"k":[108,113],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":4,"dc":[[10,2],[106,1],[108,1],[110,1]]}}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[96,45],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,98],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[51,1],[57,1]]}}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[114,97],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[25110],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[26469],"v":[{"k":[20915],"v":[{"k":[23450],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,104,114,117,101],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]},{"k":[95],"v":[{"k":[116,114],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[46,45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]},{"k":[111,101,97,105],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]},{"k":[112,102,118],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[121],"v":[{"k":[64],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[101,95],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[109,101],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[95],"v":[{"k":[112,101],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97,101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"k":[96],"v":[{"d":{"df":81,"dc":[[4,3],[5,4],[6,5],[7,4],[8,4],[9,12],[10,16],[11,7],[12,12],[13,1],[15,2],[16,2],[17,1],[18,3],[19,7],[20,14],[21,6],[22,2],[23,6],[24,1],[26,4],[27,12],[28,4],[29,4],[30,4],[31,3],[32,9],[33,9],[34,2],[35,4],[36,1],[37,5],[39,8],[40,15],[41,1],[42,5],[43,19],[44,7],[45,16],[46,6],[47,3],[48,7],[49,11],[50,9],[51,12],[52,3],[53,9],[54,13],[55,1],[57,21],[59,9],[61,17],[62,5],[63,20],[64,6],[65,12],[66,6],[67,4],[68,8],[69,6],[70,7],[75,3],[76,9],[77,7],[78,6],[79,8],[80,2],[81,6],[82,10],[83,1],[84,1],[85,10],[86,2],[88,43],[89,1],[93,2],[94,4],[106,11],[107,13],[108,3],[110,7]]},"k":[98,106,115,116,99,104,121,109,112,103],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":34,"dc":[[4,3],[5,1],[12,1],[16,1],[19,3],[20,5],[33,1],[34,2],[36,1],[40,5],[42,1],[44,1],[45,1],[46,5],[49,1],[50,6],[51,11],[53,6],[54,5],[55,1],[59,9],[61,6],[65,1],[66,4],[67,2],[76,1],[77,1],[79,1],[82,5],[85,6],[88,21],[89,1],[93,2],[106,2]]}}]}]}]},{"k":[115,97],"v":[{"d":{"df":57,"dc":[[5,1],[6,3],[7,2],[8,2],[9,2],[10,1],[11,7],[12,11],[13,1],[15,2],[17,1],[18,1],[20,4],[21,6],[22,2],[23,4],[24,1],[26,4],[27,10],[28,4],[29,2],[30,2],[31,1],[32,9],[33,8],[39,6],[42,2],[43,3],[46,1],[47,1],[48,7],[49,8],[50,1],[51,1],[52,3],[53,3],[61,1],[62,5],[63,14],[64,4],[65,6],[67,2],[68,8],[69,6],[70,7],[75,3],[76,6],[77,6],[78,6],[79,4],[80,2],[81,4],[83,1],[85,2],[106,5],[107,1],[110,7]]},"k":[111],"v":[{"k":[110],"v":[{"d":{"df":4,"dc":[[16,1],[44,3],[63,1],[85,2]]}}]}]},{"k":[118],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[27,2]]}}]}]}]}]}]}]}]}]}]},{"k":[113,104],"v":[{"k":[108],"v":[{"d":{"df":4,"dc":[[10,5],[65,1],[79,2],[108,3]]}}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[40,2]]}}]}]}]}]},{"k":[115,121],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[20,4]]}}]}]}]}]}]}]}]}]}]},{"k":[115,111],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[35,4]]}}]},{"k":[110],"v":[{"k":[102],"v":[{"d":{"df":2,"dc":[[82,1],[84,1]]}}]}]}]},{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":4,"dc":[[37,1],[42,1],[43,2],[44,1]]}}]}]}]},{"k":[97,109],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[41,1],[63,1]]}}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[97,101],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[43,12]]}}]}]}]}]}]}]},{"k":[121],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]},{"k":[20840],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]},{"k":[20986],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[20840],"v":[{"k":[23631],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116,120],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37266],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"k":[30496],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]},{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]},{"k":[105,101,104,122],"v":[{"k":[108,116],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46,96],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]},{"k":[104],"v":[{"k":[95],"v":[{"k":[116,100],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[96],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[40],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[96,46,45],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]},"k":[26356,25171],"v":[{"k":[26032],"v":[{"k":[36895],"v":[{"k":[24230],"v":[{"k":[36739],"v":[{"k":[24555],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[21253],"v":[{"k":[26159],"v":[{"k":[26377],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106,100],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]},{"k":[105,100,96,98,112],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[6,2]]}}]},{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[59,1]]}}]},{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[11,1]]},"k":[114,100,119,110,108,122,99,112],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[102,114],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[26159],"v":[{"d":{"df":2,"dc":[[7,1],[8,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[96],"v":[{"k":[12289],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[96],"v":[{"k":[12289],"v":[{"k":[96],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[12289],"v":[{"k":[96],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[21644],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[21508],"v":[{"k":[20010],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[30340],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[65292],"v":[{"k":[20859],"v":[{"k":[25104],"v":[{"k":[33391],"v":[{"k":[22909],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116,100],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]},"k":[44],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]}]}]},{"d":{"df":1,"dc":[[79,1]]}}]},{"k":[105],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[42,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[53,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[111,118],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49,93],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[51],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[44],"v":[{"k":[49],"v":[{"k":[44],"v":[{"k":[52],"v":[{"k":[44],"v":[{"k":[52],"v":[{"k":[93],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[99,102],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[96,46],"v":[{"d":{"df":2,"dc":[[7,1],[48,1]]}},{"k":[120],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[105,110,97],"v":[{"k":[109,98],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49,50,51,52,53,105,110,104,114,101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[96],"v":[{"k":[120,100],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[96],"v":[{"k":[120,100],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[96],"v":[{"k":[120,100],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120,96],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[96],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[96],"v":[{"k":[120,100],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[101,45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[53,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[19,1]]}}]},{"k":[114,101],"v":[{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[96,58],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[97,117],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]},"k":[25110],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[96,47],"v":[{"k":[47],"v":[{"k":[96],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[50],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[30340],"v":[{"k":[39034],"v":[{"k":[24207],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110,102,96],"v":[{"k":[110,106,100],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104,106],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[110,1]]}}]},{"k":[121,111,97,101],"v":[{"k":[105,115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]},{"k":[113],"v":[{"k":[108],"v":[{"k":[120],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]},{"k":[110,100,98],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[96,47],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]},{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[120,105],"v":[{"k":[96],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]},"k":[44,31561],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}},{"k":[41],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,2]]}}]}]}]}]}]},{"k":[105,112],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[30340],"v":[{"k":[23646],"v":[{"k":[24615],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104,111,114,108,97,110,109,101,116,100],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[19982],"v":[{"k":[96],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[65292],"v":[{"k":[36861],"v":[{"k":[27714],"v":[{"k":[26497],"v":[{"k":[33268],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[36861],"v":[{"k":[27714],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[25104],"v":[{"k":[26412],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[116,102],"v":[{"k":[114,101],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]}]}]}]}]}]}]},{"k":[110,120],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,47],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[96],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,111],"v":[{"k":[100,97],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]},"k":[34920],"v":[{"k":[31034],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[96],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[34920],"v":[{"k":[31034],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[12289],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[32465],"v":[{"k":[23450],"v":[{"k":[31561],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[47,96],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[29255],"v":[{"k":[27573],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[99,101],"v":[{"k":[107],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112,97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[31561],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26367],"v":[{"k":[25442],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[96],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[117,116],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[53,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]},{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]},{"k":[117,111,103],"v":[{"k":[108,120],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]},{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109,101],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[96,47],"v":[{"d":{"df":1,"dc":[[53,1]]},"k":[30446],"v":[{"k":[24405],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]},{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[118],"v":[{"k":[96],"v":[{"d":{"df":2,"dc":[[70,1],[78,1]]}}]}]}]}]}]}]}]},{"k":[120,105],"v":[{"k":[95],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[36,39],"v":[{"k":[123],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36],"v":[{"k":[123],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]},{"k":[108,101,111,97,100],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[96],"v":[{"k":[30053],"v":[{"k":[39640],"v":[{"k":[19968],"v":[{"k":[31609],"v":[{"k":[12290],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[20004],"v":[{"k":[32773],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30456],"v":[{"k":[21516],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]},{"k":[98,115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[45,96],"v":[{"k":[110,109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[21644],"v":[{"k":[96],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[30456],"v":[{"k":[36817],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[46,1]]}}]}]}]},{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[100],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[96],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[96],"v":[{"k":[31456],"v":[{"k":[33410],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[96],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[12289],"v":[{"k":[96],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[96],"v":[{"k":[20004],"v":[{"k":[24352],"v":[{"k":[34920],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[11,1]]}},{"k":[120,102,115],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[102],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[121],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45,64,46],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[52],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]},{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,101],"v":[{"k":[97],"v":[{"k":[96,45],"v":[{"d":{"df":2,"dc":[[11,1],[12,1]]}},{"k":[114,115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114,96],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[65,2]]}}]},{"k":[65311],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[105,123],"v":[{"k":[120],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[56],"v":[{"k":[51],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[98],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[51],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[57],"v":[{"k":[99],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[57],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[57],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[57],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[98],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[95,116,97,114,115,112,100,118],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[108,46],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[96,47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[17,1]]}}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,104],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[125],"v":[{"k":[58],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99,108],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[63],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[38],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[33],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[63],"v":[{"k":[123],"v":[{"k":[34],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[34],"v":[{"k":[58],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[44],"v":[{"k":[34],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[125],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[125],"v":[{"k":[44,33],"v":[{"d":{"df":1,"dc":[[27,1]]}},{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]},{"k":[114,97],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[91],"v":[{"k":[48],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[125],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[125],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,111],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[114],"v":[{"d":{"df":1,"dc":[[33,1]]},"k":[96,101],"v":[{"d":{"df":1,"dc":[[33,1]]}},{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[12,1]]}},{"k":[101,116,111,115],"v":[{"k":[108,97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"d":{"df":3,"dc":[[20,1],[26,1],[92,1]]}}]}]},{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[120,97,36],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[123],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[113],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[50],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[107],"v":[{"k":[96],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[21644],"v":[{"k":[96],"v":[{"k":[104],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[21644],"v":[{"k":[35835],"v":[{"k":[21462],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,117,111,114,108,97,109],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]},{"k":[98,108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[96],"v":[{"k":[21518],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[20914],"v":[{"k":[31361],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,119],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]},{"k":[101,111],"v":[{"k":[102,115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[57,2],[61,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[108,50],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[48],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[120,99,100],"v":[{"k":[121],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[110,97],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[105],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]},"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[96,61],"v":[{"d":{"df":1,"dc":[[58,1]]}},{"k":[96],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]},{"k":[115,99],"v":[{"k":[115],"v":[{"k":[116,119],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,2]]}}]}]}]}]}]}]},{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[96],"v":[{"k":[20013],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[96],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24456],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65292],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[20102],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[20869],"v":[{"k":[23384],"v":[{"k":[28322],"v":[{"k":[20986],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,101],"v":[{"k":[117,98,119],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46,96],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]}]}]}]}]},{"k":[98],"v":[{"k":[121],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[91],"v":[{"k":[105],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[20540],"v":[{"k":[33539],"v":[{"k":[22260],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[99,100],"v":[{"k":[116],"v":[{"k":[96,45],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]},"k":[44],"v":[{"d":{"df":2,"dc":[[26,3],[92,3]]}}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96,45],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}},{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[35813],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20250],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,104,97,103,101,117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110,47],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[96,112],"v":[{"d":{"df":1,"dc":[[89,1]]}},{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"k":[116],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,117,101],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[96],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]}]}]},{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[96],"v":[{"k":[21450],"v":[{"k":[35832],"v":[{"k":[22810],"v":[{"k":[33050],"v":[{"k":[25163],"v":[{"k":[26550],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[37324],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]},{"k":[101,98,116,47,103,122,112,118],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114,105],"v":[{"k":[99],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]},{"k":[103],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[98,115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[104],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[109,119],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[105,47],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[20013],"v":[{"k":[19968],"v":[{"k":[33324],"v":[{"k":[24573],"v":[{"k":[30053],"v":[{"k":[29983],"v":[{"k":[20135],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[32534],"v":[{"k":[35793],"v":[{"k":[36755],"v":[{"k":[20986],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[96],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[96],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[20013],"v":[{"k":[24573],"v":[{"k":[30053],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[96],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[96],"v":[{"d":{"df":2,"dc":[[51,1],[58,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[19968],"v":[{"k":[34892],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[26,5]]},"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[42,1]]}}]},{"k":[47],"v":[{"k":[45],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"k":[46],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[31034],"v":[{"k":[21253],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[59,1]]}}]},{"k":[115,104],"v":[{"k":[104],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]},{"k":[45,96],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[47],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,103,105,112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96,110,109],"v":[{"d":{"df":2,"dc":[[65,1],[108,1]]}},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,2]]}}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[106,45],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,3]]}}]}]},{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]},{"k":[36],"v":[{"k":[123],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24577],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]},{"k":[23384],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[30721],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[27861],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[20876],"v":[{"k":[12289],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[12289],"v":[{"k":[27880],"v":[{"k":[38144],"v":[{"k":[12289],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[25214],"v":[{"k":[22238],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]},{"d":{"df":6,"dc":[[23,1],[42,1],[45,1],[59,1],[76,1],[81,1]]},"k":[26412,27979,26082,24403,25171,22270,26174,26816,22312,20219,35774,37197,39033,35831,38745,24222,38750],"v":[{"k":[20070,22320],"v":[{"k":[28155,30340],"v":[{"k":[21152],"v":[{"k":[21040],"v":[{"k":[20027],"v":[{"k":[23631],"v":[{"k":[24149],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]},{"k":[32593],"v":[{"k":[31449],"v":[{"k":[20174],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[35797],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[20445],"v":[{"k":[23384],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]}]}]}]},{"k":[26377],"v":[{"k":[24211],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]},{"k":[21069],"v":[{"k":[26356,30340,26410],"v":[{"k":[25913],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[26032],"v":[{"k":[22686],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[24037],"v":[{"k":[20316],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[22238],"v":[{"k":[28378],"v":[{"k":[21040],"v":[{"k":[25351],"v":[{"k":[23450],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[21495],"v":[{"k":[65292],"v":[{"k":[20551],"v":[{"k":[35774],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[22270],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25552],"v":[{"k":[20132],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[23384],"v":[{"k":[20837],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21360],"v":[{"k":[20986],"v":[{"k":[26469],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]},{"k":[34920],"v":[{"k":[30340],"v":[{"k":[23481],"v":[{"k":[22120],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[21040],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[31034],"v":[{"k":[22312],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[27492],"v":[{"k":[26102],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"k":[20854],"v":[{"k":[22797],"v":[{"k":[21046],"v":[{"k":[24182],"v":[{"k":[20445],"v":[{"k":[23384],"v":[{"k":[22909],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[27844],"v":[{"k":[38706],"v":[{"k":[12290],"v":[{"k":[36951],"v":[{"k":[24536],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26597],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[19979],"v":[{"k":[25991],"v":[{"k":[20171],"v":[{"k":[32461],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[21153],"v":[{"k":[32534],"v":[{"k":[21495],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]},{"k":[32622],"v":[{"k":[25918],"v":[{"k":[20837],"v":[{"k":[27492],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[20013],"v":[{"k":[20197],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[20540,35774],"v":[{"k":[21644],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]},{"k":[32622],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[21021],"v":[{"k":[22987],"v":[{"k":[21270],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[96],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[33267],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27714],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[36716],"v":[{"k":[21457],"v":[{"k":[21040],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]},{"k":[24577],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[23384],"v":[{"k":[25918],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]},{"k":[22823],"v":[{"k":[30340],"v":[{"k":[35745],"v":[{"k":[31639],"v":[{"k":[12289],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[21387],"v":[{"k":[21147],"v":[{"k":[21521],"v":[{"k":[19979],"v":[{"k":[32423],"v":[{"k":[20998],"v":[{"k":[25674],"v":[{"k":[12290],"v":[{"k":[21448],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[30475],"v":[{"k":[20570],"v":[{"k":[26159],"v":[{"k":[21435],"v":[{"k":[20013],"v":[{"k":[24515],"v":[{"k":[21270],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22522],"v":[{"k":[26412],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[36164],"v":[{"k":[26009],"v":[{"k":[12289],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[35814],"v":[{"k":[32454],"v":[{"k":[36164],"v":[{"k":[26009],"v":[{"k":[12289],"v":[{"k":[35748],"v":[{"k":[35777],"v":[{"k":[12289],"v":[{"k":[31561],"v":[{"k":[32423],"v":[{"k":[31561],"v":[{"k":[23384],"v":[{"k":[20837],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[38468],"v":[{"k":[21152],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[34920],"v":[{"k":[65288],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[24314],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[38468],"v":[{"k":[21152],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[35748],"v":[{"k":[35777],"v":[{"k":[34920],"v":[{"k":[12289],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[34920],"v":[{"k":[31561],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,2]]},"k":[99,38,115,114,116,110,105,111,108,122],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[121],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]},{"d":{"df":12,"dc":[[16,1],[28,1],[33,2],[40,3],[42,2],[45,1],[53,2],[63,4],[67,1],[75,1],[80,1],[110,1]]}},{"k":[101,105,116],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[61],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[61],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[61],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[61],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[50],"v":[{"k":[57],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[53],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[48,49],"v":[{"k":[61],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[48],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[52],"v":[{"k":[103],"v":[{"k":[118],"v":[{"k":[104],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[61],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[56],"v":[{"k":[113],"v":[{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[50],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[61],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31163,38656,20063,21487,30340,24320,29359,25110,24037,21019,21644,19981],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[32463],"v":[{"k":[29702],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[24046],"v":[{"k":[36825],"v":[{"k":[26412],"v":[{"k":[20070],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[20570,35843],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[65306],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[25351],"v":[{"k":[23548],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[35768],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]},{"k":[20197],"v":[{"k":[25353,20174],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"k":[21442],"v":[{"k":[32771],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[37324],"v":[{"k":[33719],"v":[{"k":[24471],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[20301],"v":[{"k":[32622],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39033,25928],"v":[{"k":[30446],"v":[{"k":[36335],"v":[{"k":[24452],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]},{"k":[29575],"v":[{"k":[39640],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[24515],"v":[{"k":[23601],"v":[{"k":[22909],"v":[{"k":[41],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]},{"k":[30340],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65292],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[37117],"v":[{"k":[22312],"v":[{"k":[21453],"v":[{"k":[22797],"v":[{"k":[65292],"v":[{"k":[23398],"v":[{"k":[20250],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[24635],"v":[{"k":[32467],"v":[{"k":[65292],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[24635],"v":[{"k":[26159],"v":[{"k":[22312],"v":[{"k":[29359],"v":[{"k":[30456],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35768],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[30097],"v":[{"k":[38382],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20316],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[26159],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[29702],"v":[{"k":[24819],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[36861],"v":[{"k":[27714],"v":[{"k":[32780],"v":[{"k":[22857],"v":[{"k":[29486],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19994],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[35201],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[19990],"v":[{"k":[30028],"v":[{"k":[65292],"v":[{"k":[25913],"v":[{"k":[21464],"v":[{"k":[19990],"v":[{"k":[30028],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32769],"v":[{"k":[26495],"v":[{"k":[35848],"v":[{"k":[24037],"v":[{"k":[36164],"v":[{"k":[65292],"v":[{"k":[32769],"v":[{"k":[26495],"v":[{"k":[21644],"v":[{"k":[20320],"v":[{"k":[35848],"v":[{"k":[24863],"v":[{"k":[24773],"v":[{"k":[65307],"v":[{"k":[20320],"v":[{"k":[21644],"v":[{"k":[32769],"v":[{"k":[26495],"v":[{"k":[35848],"v":[{"k":[24863],"v":[{"k":[24773],"v":[{"k":[65292],"v":[{"k":[32769],"v":[{"k":[26495],"v":[{"k":[21644],"v":[{"k":[20320],"v":[{"k":[35848],"v":[{"k":[36131],"v":[{"k":[20219],"v":[{"k":[12290],"v":[{"k":[12290],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20165],"v":[{"k":[35201],"v":[{"k":[19981],"v":[{"k":[26029],"v":[{"k":[22320],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[19987],"v":[{"k":[19994],"v":[{"k":[25216],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[24191],"v":[{"k":[27867],"v":[{"k":[28041],"v":[{"k":[29454],"v":[{"k":[21508],"v":[{"k":[20010],"v":[{"k":[39046],"v":[{"k":[22495],"v":[{"k":[12290],"v":[{"k":[22810],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[24635],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[23475],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[22810],"v":[{"k":[21162],"v":[{"k":[21147],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20063],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[21464],"v":[{"k":[24471],"v":[{"k":[26356],"v":[{"k":[20248],"v":[{"k":[31168],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[48,1],[70,1]]},"k":[26524,65306,20309,44,23545,58,26377,25105,19978,37329,22823,29992],"v":[{"k":[36824,20320,26159,26377,36335,30005,38656,23545,26597,19981,20986,24819,29992,21457,25552,24050,21151,20877,25509,29256,35299,23398,39033,22788,36820,22312,35201],"v":[{"k":[24819],"v":[{"k":[30475],"v":[{"k":[35270],"v":[{"k":[39057],"v":[{"k":[31867],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21040],"v":[{"k":[25105],"v":[{"k":[30340],"v":[{"k":[26007],"v":[{"k":[40060],"v":[{"k":[30452],"v":[{"k":[25773],"v":[{"k":[38388],"v":[{"k":[26469],"v":[{"k":[19968],"v":[{"k":[27874],"v":[{"k":[27491],"v":[{"k":[20041],"v":[{"k":[30340],"v":[{"k":[35746],"v":[{"k":[38405],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29369,26159,19981],"v":[{"k":[35947],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[21644],"v":[{"k":[21488],"v":[{"k":[24335],"v":[{"k":[26426],"v":[{"k":[65292],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[65307],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[29369],"v":[{"k":[35947],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[21644],"v":[{"k":[20108],"v":[{"k":[21512],"v":[{"k":[19968],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[65292],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[20013],"v":[{"k":[35268],"v":[{"k":[20013],"v":[{"k":[30697],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[32477],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[22330],"v":[{"k":[26223],"v":[{"k":[19979],"v":[{"k":[37117],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[22791],"v":[{"k":[36873],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[30340],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[21046],"v":[{"k":[20316],"v":[{"k":[32593],"v":[{"k":[31449],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25226],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30456,33021],"v":[{"k":[20449],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[20869],"v":[{"k":[26680],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[21644],"v":[{"k":[30913],"v":[{"k":[30424],"v":[{"k":[20869],"v":[{"k":[32622],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[26102],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25340],"v":[{"k":[29241],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[19981],"v":[{"k":[24819],"v":[{"k":[25340],"v":[{"k":[29241],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[26159],"v":[{"k":[25340],"v":[{"k":[23454],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]},"k":[20026,96,31616],"v":[{"k":[20102],"v":[{"k":[23089],"v":[{"k":[20048],"v":[{"k":[28216],"v":[{"k":[25103],"v":[{"k":[65292],"v":[{"k":[25874],"v":[{"k":[19968],"v":[{"k":[21488],"v":[{"k":[39640],"v":[{"k":[37197],"v":[{"k":[24615],"v":[{"k":[20215],"v":[{"k":[27604],"v":[{"k":[24456],"v":[{"k":[39640],"v":[{"k":[65307],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26159],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[25104],"v":[{"k":[26412],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[31639],"v":[{"k":[25402],"v":[{"k":[19981],"v":[{"k":[38169],"v":[{"k":[65307],"v":[{"k":[20294],"v":[{"k":[26159],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[29983],"v":[{"k":[20135],"v":[{"k":[21147],"v":[{"k":[32780],"v":[{"k":[35328],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[30340],"v":[{"k":[22240],"v":[{"k":[32032],"v":[{"k":[22826],"v":[{"k":[22810],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[22240],"v":[{"k":[32032],"v":[{"k":[27627],"v":[{"k":[26080],"v":[{"k":[29983],"v":[{"k":[20135],"v":[{"k":[21147],"v":[{"k":[21644],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[21487],"v":[{"k":[35328],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49,117],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[96],"v":[{"k":[21450],"v":[{"k":[20197],"v":[{"k":[21518],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65292],"v":[{"k":[20250],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[8220],"v":[{"k":[20219],"v":[{"k":[20309],"v":[{"k":[26469],"v":[{"k":[28304],"v":[{"k":[8221],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[22312],"v":[{"k":[96],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[65288],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[65289],"v":[{"k":[96],"v":[{"k":[20013],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[117],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]},{"k":[21333],"v":[{"k":[30340],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[33050],"v":[{"k":[26412],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[21333],"v":[{"k":[20803],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[38463],"v":[{"k":[37324],"v":[{"k":[20113],"v":[{"k":[30340],"v":[{"k":[32534],"v":[{"k":[35793],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[22270],"v":[{"k":[25152],"v":[{"k":[31034],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25163,19987],"v":[{"k":[20889],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[12289],"v":[{"k":[30011],"v":[{"k":[30011],"v":[{"k":[32472],"v":[{"k":[21046],"v":[{"k":[28789],"v":[{"k":[24863],"v":[{"k":[20043],"v":[{"k":[31867],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[12290],"v":[{"k":[24403],"v":[{"k":[28982],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[23454],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[29305],"v":[{"k":[27530],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65292],"v":[{"k":[24179],"v":[{"k":[26495],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[28385],"v":[{"k":[36275],"v":[{"k":[36825],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"k":[21478],"v":[{"k":[22806],"v":[{"k":[65292],"v":[{"k":[30495],"v":[{"k":[27491],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[30340],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[21326],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38376],"v":[{"k":[30340],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[22270],"v":[{"k":[25152],"v":[{"k":[31034],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30001],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"k":[33041],"v":[{"k":[36827],"v":[{"k":[20837],"v":[{"k":[30561],"v":[{"k":[30496],"v":[{"k":[20102],"v":[{"k":[44],"v":[{"k":[29992],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[22320],"v":[{"k":[22336],"v":[{"k":[44],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[21796],"v":[{"k":[37266],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[29992,25353],"v":[{"k":[20107],"v":[{"k":[21153],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]},{"k":[22995],"v":[{"k":[21517],"v":[{"k":[25110],"v":[{"k":[24615],"v":[{"k":[21035],"v":[{"k":[26597],"v":[{"k":[25214],"v":[{"k":[65292],"v":[{"k":[23558],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26597],"v":[{"k":[35810],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[35201],"v":[{"k":[27714],"v":[{"k":[39640],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35810],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]},{"k":[20351,20256,23384,33021],"v":[{"k":[29992],"v":[{"k":[35813],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35813],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65292],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22312],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[28789],"v":[{"k":[27963],"v":[{"k":[30340],"v":[{"k":[23398],"v":[{"k":[20197],"v":[{"k":[33268],"v":[{"k":[29992],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]},{"k":[29616],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[25253],"v":[{"k":[38169],"v":[{"k":[65292],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[120],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[37325],"v":[{"k":[35797],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[26159],"v":[{"k":[33258],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[22826],"v":[{"k":[22823],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38750],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24067],"v":[{"k":[21040],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]},{"k":[31034],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[32463],"v":[{"k":[20889,28155],"v":[{"k":[22909],"v":[{"k":[20102],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[27491],"v":[{"k":[22312],"v":[{"k":[20889],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21450],"v":[{"k":[26102],"v":[{"k":[22238],"v":[{"k":[36807],"v":[{"k":[22836],"v":[{"k":[26469],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"k":[36807],"v":[{"k":[24320],"v":[{"k":[26426],"v":[{"k":[33258],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[65292],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[33258],"v":[{"k":[21551],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[20889],"v":[{"k":[22909],"v":[{"k":[20102],"v":[{"k":[21448],"v":[{"k":[20877],"v":[{"k":[37325],"v":[{"k":[26032],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[21518],"v":[{"k":[20877],"v":[{"k":[21435],"v":[{"k":[30475],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[36824],"v":[{"k":[26377],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[30340],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[20877],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21475],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]},{"k":[26412],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[22833],"v":[{"k":[36133],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22238],"v":[{"k":[28378],"v":[{"k":[33267],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[20219],"v":[{"k":[24847],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[87,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21387],"v":[{"k":[25253],"v":[{"k":[38169],"v":[{"k":[44],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]},{"k":[21040],"v":[{"k":[30340],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[36716],"v":[{"k":[21464],"v":[{"k":[25104],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[30340],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[23398],"v":[{"k":[20102],"v":[{"k":[21448],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[24847],"v":[{"k":[20041],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[23646],"v":[{"k":[23454],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[32473],"v":[{"k":[20104],"v":[{"k":[32447],"v":[{"k":[19978],"v":[{"k":[22312],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[32593],"v":[{"k":[22336],"v":[{"k":[12289],"v":[{"k":[25130],"v":[{"k":[22270],"v":[{"k":[28436],"v":[{"k":[31034],"v":[{"k":[12289],"v":[{"k":[29978],"v":[{"k":[33267],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29702],"v":[{"k":[19981],"v":[{"k":[24403],"v":[{"k":[65292],"v":[{"k":[20250],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[28431],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[12289],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[37325],"v":[{"k":[22797],"v":[{"k":[31561],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22238],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[26377,27809],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65292],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25139],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[34987],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[26367],"v":[{"k":[25442],"v":[{"k":[25481],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65292],"v":[{"k":[19979],"v":[{"k":[27425],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[20381],"v":[{"k":[28982],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[35813],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25139],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24490],"v":[{"k":[29615],"v":[{"k":[20307],"v":[{"k":[20869],"v":[{"k":[29992],"v":[{"k":[21040],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23384,35774],"v":[{"k":[21462],"v":[{"k":[96],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[96],"v":[{"k":[26684],"v":[{"k":[24335],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"k":[36229],"v":[{"k":[26102],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]},{"d":{"df":4,"dc":[[10,1],[38,2],[94,1],[110,1]]}},{"k":[23436,23545,20351,23558,35780],"v":[{"k":[25104],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[25110],"v":[{"k":[22238],"v":[{"k":[31572],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]},{"k":[36825],"v":[{"k":[20123],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[32763],"v":[{"k":[35793],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[75,1]]}}]},{"k":[19968],"v":[{"k":[26465],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21028],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24037],"v":[{"k":[31243],"v":[{"k":[24072],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[21512],"v":[{"k":[26684],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[26,1]]}},{"d":{"df":1,"dc":[[33,1]]}},{"d":{"df":3,"dc":[[42,1],[53,1],[70,1]]}},{"k":[20854],"v":[{"k":[23427],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[65292],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25442],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]},{"k":[22270],"v":[{"k":[25152],"v":[{"k":[31034],"v":[{"k":[65292],"v":[{"k":[23558],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[26816],"v":[{"k":[20986],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[30340],"v":[{"k":[12304],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[12305],"v":[{"k":[21246],"v":[{"k":[36873],"v":[{"k":[21435],"v":[{"k":[25481],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34701],"v":[{"k":[20570],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[65292],"v":[{"k":[22806],"v":[{"k":[35821],"v":[{"k":[20570],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[65292],"v":[{"k":[26053],"v":[{"k":[28216],"v":[{"k":[20570],"v":[{"k":[21518],"v":[{"k":[21488],"v":[{"k":[65292],"v":[{"k":[20307],"v":[{"k":[32946],"v":[{"k":[20570],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[12290],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[23703],"v":[{"k":[20301],"v":[{"k":[35201],"v":[{"k":[27714],"v":[{"k":[26377],"v":[{"k":[28145],"v":[{"k":[21402],"v":[{"k":[30340],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[21151],"v":[{"k":[24213],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[28014],"v":[{"k":[20110],"v":[{"k":[34920],"v":[{"k":[38754],"v":[{"k":[12290],"v":[{"k":[20250],"v":[{"k":[35843],"v":[{"k":[35843],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22810],"v":[{"k":[25968],"v":[{"k":[23567],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[30340],"v":[{"k":[21608],"v":[{"k":[20363],"v":[{"k":[20250],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[23454],"v":[{"k":[36136],"v":[{"k":[24615],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[24212],"v":[{"k":[23613],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[25913],"v":[{"k":[20026],"v":[{"k":[20998],"v":[{"k":[20139],"v":[{"k":[12289],"v":[{"k":[22521],"v":[{"k":[35757],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25143],"v":[{"k":[29378],"v":[{"k":[28857],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[30340],"v":[{"k":[39057],"v":[{"k":[32321],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[25163],"v":[{"k":[21160],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[21644],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[33719],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[37325],"v":[{"k":[22797],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[6,1],[7,4],[36,3]]},"k":[104,112,111,109,115,97,59,110,41,114,117,108,116,119,100,39,105,101,58,102,118],"v":[{"k":[97,114,101,105,109,117],"v":[{"k":[110,114,116,108],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[88,1],[102,1]]},"k":[108,115],"v":[{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]},{"d":{"df":1,"dc":[[19,2]]}}]}]}]},{"d":{"df":1,"dc":[[10,3]]},"k":[97,115,40],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[34,117],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[102],"v":[{"k":[56],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[65,1],[108,2]]}}]}]}]}]}]}]}]}]},{"k":[49,51,56],"v":[{"k":[54],"v":[{"k":[41],"v":[{"d":{"df":2,"dc":[[65,1],[108,3]]}}]}]},{"k":[50],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]},{"k":[103],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[14,13]]},"k":[65292],"v":[{"k":[20102,24744],"v":[{"k":[35299],"v":[{"k":[23427],"v":[{"k":[30340],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[27010],"v":[{"k":[24565],"v":[{"k":[21644],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[12290],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[23558],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[27493],"v":[{"k":[39588],"v":[{"k":[26469],"v":[{"k":[20171],"v":[{"k":[32461],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20808],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[36134],"v":[{"k":[21495],"v":[{"k":[24182],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"k":[24744],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[58,2],[59,2]]},"k":[47,115],"v":[{"k":[54],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[46],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[15,1]]},"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[103],"v":[{"k":[98],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[107],"v":[{"k":[111,114,117],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":4,"dc":[[36,3],[41,1],[66,1],[89,2]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[33,1],[63,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"d":{"df":4,"dc":[[45,2],[59,1],[82,1],[88,2]]}}]}]},{"k":[110],"v":[{"k":[107],"v":[{"k":[102,115],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,1]]},"k":[115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[54,1],[55,1],[61,2]]},"k":[117,112],"v":[{"d":{"df":3,"dc":[[48,4],[85,1],[110,2]]},"k":[12289,40,49,50,51,52,53,54,55,56,41,46],"v":[{"k":[20869],"v":[{"k":[23384],"v":[{"k":[12289],"v":[{"k":[26174],"v":[{"k":[21345],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[33021],"v":[{"k":[28385],"v":[{"k":[36275],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[48,4]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[48,4]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[48,4]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[48,4]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[48,2]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[48,2]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"d":{"df":1,"dc":[[48,1]]}},{"k":[115],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[100,109,110,108,117,99,111,114,112,118,102],"v":[{"k":[101],"v":[{"d":{"df":8,"dc":[[3,1],[19,1],[20,1],[43,2],[49,1],[57,6],[77,3],[79,1]]},"k":[115,58,46,12290,65292,42,44,41],"v":[{"d":{"df":3,"dc":[[22,1],[33,1],[83,3]]}},{"d":{"df":3,"dc":[[43,2],[69,2],[94,1]]}},{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[94],"v":[{"k":[103],"v":[{"k":[114,97],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[123],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,3]]}},{"d":{"df":1,"dc":[[57,1]]}},{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"d":{"df":1,"dc":[[79,3]]}},{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[109,112,98,101],"v":[{"k":[97,101,105,111,117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":4,"dc":[[4,1],[40,1],[57,1],[88,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[65,4],[108,12]]},"k":[115],"v":[{"k":[58,40],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}},{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":5,"dc":[[36,4],[41,1],[44,1],[45,4],[79,1]]},"k":[65306,95,40,39,41,115],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"k":[105],"v":[{"k":[100],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[45,1]]}},{"d":{"df":1,"dc":[[45,1]]}},{"k":[40],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[39,115],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[108,111,114,105],"v":[{"k":[101],"v":[{"k":[120,116],"v":[{"k":[105,108],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[31,1]]},"k":[100],"v":[{"d":{"df":2,"dc":[[43,2],[44,1]]}}]}]}]}]},{"k":[110],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[23,2]]},"k":[115,119],"v":[{"d":{"df":4,"dc":[[16,1],[21,1],[23,1],[93,1]]}},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[97,101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]},"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]},{"k":[115,110,102,116],"v":[{"k":[116,111,101,105],"v":[{"d":{"df":44,"dc":[[5,2],[6,9],[7,2],[8,2],[9,1],[10,2],[11,25],[12,34],[13,2],[15,12],[17,2],[18,4],[20,11],[21,6],[22,2],[23,4],[24,2],[26,7],[27,3],[29,1],[30,1],[31,1],[32,2],[33,5],[39,3],[42,6],[48,22],[52,8],[53,4],[62,9],[63,41],[64,8],[65,24],[68,10],[69,19],[70,4],[75,10],[76,30],[77,19],[79,11],[81,13],[85,4],[106,2],[110,10]]},"k":[114,97],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[116,112,64,41,108,99],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,4]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[23,1]]}},{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[41],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]},"k":[46],"v":[{"k":[105,100],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]},{"k":[101],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[19,1]]},"k":[108,99,116,101],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[40,59],"v":[{"k":[106,96,114,39,97,112,105,118,100,101,111,116,117,109,120,115,110],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[108,100,109],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[44,41],"v":[{"d":{"df":1,"dc":[[6,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97,101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103,115,36,97,119,121,114,100,99],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114,110],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]},{"k":[100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]},{"k":[123],"v":[{"k":[99,111,105],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[18,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[76,4]]}}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[125],"v":[{"k":[37],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[48,2]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]},{"k":[111,114],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[41,91],"v":[{"k":[59],"v":[{"d":{"df":5,"dc":[[12,1],[39,3],[42,1],[69,1],[77,2]]}}]},{"k":[48],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]},{"k":[119,97,103,111,112,45,116,117,115,102,99,61,100,104,109,39],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[97,103,39],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]},{"k":[97,117,114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]},{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]},{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,4]]}}]}]}]}]}]}]}]}]}]},{"k":[111,104,101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[39,50],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]},{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]},{"k":[117,116],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[32,6]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[39,4]]}}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[32,6]]}}]}]}]}]}]}]},{"k":[111,108],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]},{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]},{"k":[114,100,44],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[111,112],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[92],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[44,41],"v":[{"d":{"df":1,"dc":[[27,1]]}},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[114,105],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[41,40],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,2]]}}]},{"k":[39],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[107],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[41,116],"v":[{"k":[59,41],"v":[{"d":{"df":1,"dc":[[27,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[115,46],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[112,110],"v":[{"k":[105,109],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[95,50],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[117,41],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[39,2]]}}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[28,2]]}}]}]}]}]}]},{"k":[41,114],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[32,3]]}}]},{"k":[114],"v":[{"k":[41,46],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,3]]}}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]},{"k":[115,112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,2]]}}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]},{"k":[101,115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46,41],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[41,46],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,2]]}}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]},{"k":[116],"v":[{"k":[100],"v":[{"k":[101,111],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41,50],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[50],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[98],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[101,39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[98],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]},{"k":[101,115],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[23,3],[94,1]]},"k":[105,101,40,99,58],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[77,1],[94,1]]},"k":[46,115],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,4]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[76,5]]}}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[19,2]]},"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[76,2]]}}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[44,58],"v":[{"d":{"df":1,"dc":[[75,1]]}},{"d":{"df":1,"dc":[[75,2]]}}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"d":{"df":8,"dc":[[26,1],[36,2],[41,2],[45,3],[63,1],[81,1],[93,1],[110,3]]},"k":[117,44,46,65306,58,47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[26,1]]}},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[36,1]]}},{"d":{"df":1,"dc":[[68,1]]}},{"k":[105,95],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,101,105],"v":[{"k":[111],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[108,46],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[20,2],[93,1]]},"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120,110],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[20,3],[33,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[80,2]]}}]}]},{"k":[116],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[100,119],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[61],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[58,61],"v":[{"d":{"df":1,"dc":[[32,1]]}},{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[117,108,111],"v":[{"k":[109],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[6,2]]},"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[101,97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[12,2]]},"k":[46],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"d":{"df":1,"dc":[[57,2]]},"k":[45,122,115],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[64],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,2]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[61,1]]}}]}]}]},{"k":[108,110],"v":[{"k":[100],"v":[{"d":{"df":2,"dc":[[7,1],[45,1]]}}]},{"k":[116],"v":[{"d":{"df":2,"dc":[[12,1],[79,5]]},"k":[101,39,58,105,40,108,59],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[12,2],[23,2]]},"k":[46,97,58,44],"v":[{"k":[102,112],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[23,2]]}},{"d":{"df":1,"dc":[[23,1]]}}]}]},{"k":[93],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[23,1],[107,1]]}},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[49],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,4]]}}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,2]]},"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[91],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[19,2]]}}]}]}]}]}]}]},{"k":[107],"v":[{"k":[105],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[28,1],[69,1]]}}]}]}]},{"k":[114,101,110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[31,1],[45,1]]}}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,2]]}}]},{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]},{"k":[121],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]},{"k":[102],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[45,2]]},"k":[43,58],"v":[{"k":[114],"v":[{"k":[44],"v":[{"k":[36827],"v":[{"k":[20837],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]},{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,115,58],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[60,2],[96,1]]},"k":[45,58,108,116,47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[43,1],[57,1]]}},{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[22270],"v":[{"k":[29255],"v":[{"k":[31561],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[116,108,115,114,110,112,99,105],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[99,101,115],"v":[{"k":[104],"v":[{"d":{"df":8,"dc":[[5,1],[32,6],[48,1],[63,1],[68,2],[69,1],[85,1],[110,1]]}}]},{"k":[103],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105,121],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[6,1],[63,1]]},"k":[46],"v":[{"k":[105,100,109,114,116,115],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[30446,39033],"v":[{"k":[24405],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[30446],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[39],"v":[{"k":[41,44],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[26681,39033],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[117,100],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[26681,39033],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[26681,39033],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110,108],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[26681,39033],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,2]]},"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,2]]}}]},{"k":[99,108],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]},{"k":[98,110],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":4,"dc":[[29,5],[30,2],[39,2],[110,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[57,8]]}}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]},{"k":[117,101,107],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[115,102,108],"v":[{"k":[101],"v":[{"k":[101,110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[51],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[23,4],[45,1],[68,4]]},"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[54,4]]},"k":[114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":7,"dc":[[19,5],[20,1],[40,2],[43,2],[59,1],[88,3],[98,2]]},"k":[39],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[27,1]]},"k":[40],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[38,1]]},"k":[58,100],"v":[{"d":{"df":3,"dc":[[28,2],[41,1],[79,2]]}},{"d":{"df":1,"dc":[[40,2]]}}]}]}]},{"k":[106],"v":[{"k":[99],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[113],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[113],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[118],"v":[{"k":[50],"v":[{"k":[107],"v":[{"k":[49],"v":[{"k":[43],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[106],"v":[{"k":[103],"v":[{"k":[98],"v":[{"k":[52],"v":[{"k":[102],"v":[{"k":[113],"v":[{"k":[113],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[57],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[57],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[121],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[57],"v":[{"k":[120],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[6,1]]}},{"d":{"df":1,"dc":[[66,2]]},"k":[40,39,112],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[35,3]]}}]},{"k":[109],"v":[{"d":{"df":3,"dc":[[44,1],[45,3],[106,2]]},"k":[92,61,58],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[34],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[58,1]]}}]}]}]},{"d":{"df":1,"dc":[[7,1]]}},{"k":[101,105,121,97,111,112],"v":[{"k":[97,100],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":8,"dc":[[11,1],[14,2],[34,1],[43,2],[45,2],[65,1],[76,2],[108,2]]},"k":[100,111,112,114,98],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[95,97],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[116],"v":[{"d":{"df":2,"dc":[[79,2],[81,1]]}}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[31,1]]},"k":[40],"v":[{"k":[91],"v":[{"k":[49],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[40,59],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[75,1]]}}]},{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[77,1]]},"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[28,2]]}}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105,59],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[43,3]]}}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]}]},{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[86,1]]}}]},{"k":[114,115],"v":[{"d":{"df":1,"dc":[[15,1]]},"k":[114,58,41,108,115],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[108,118,105],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[12,2]]}}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[29,1],[30,1]]}}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[15,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"d":{"df":2,"dc":[[45,2],[88,1]]}},{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"k":[105,97,111,101,117],"v":[{"k":[101,96],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":9,"dc":[[12,2],[13,1],[16,1],[19,1],[22,1],[24,1],[75,1],[76,6],[110,1]]},"k":[46,102],"v":[{"k":[103,115,101,111,99,116,113],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115,112,40],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116,110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[13,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41,99],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[36],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[75,1],[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[115,117],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]},{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[76,2]]},"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":5,"dc":[[12,1],[20,4],[23,1],[63,2],[64,1]]},"k":[61,45,65292],"v":[{"k":[34],"v":[{"k":[109,108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[62],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[45],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20877],"v":[{"k":[23553],"v":[{"k":[35013],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115,110,117],"v":[{"k":[105,101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]},{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[101],"v":[{"d":{"df":4,"dc":[[33,1],[36,1],[45,2],[66,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]},{"k":[100],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[84,2]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114,110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,2]]},"k":[40,41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[48,7]]},"k":[46],"v":[{"k":[102,111],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120,114],"v":[{"k":[46],"v":[{"k":[113,115,98,117,114,112,97],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]},{"k":[117,101,116],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]},{"k":[116,115],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99,97],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,6]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[103,97],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[69,2]]},"k":[59],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[69,5]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"d":{"df":3,"dc":[[18,1],[68,2],[69,4]]}}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[62,2]]},"k":[46],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[62,2]]},"k":[41],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[98,109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[46,44],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[46],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[68,1],[69,1]]}}]}]}]}]},{"k":[112],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[46],"v":[{"k":[112,104],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[115],"v":[{"k":[91],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[43],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[45,4]]}}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]},{"d":{"df":8,"dc":[[36,1],[44,1],[45,2],[50,1],[53,2],[66,1],[88,8],[89,1]]},"k":[110],"v":[{"d":{"df":1,"dc":[[65,2]]},"k":[44,41],"v":[{"d":{"df":1,"dc":[[65,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]},{"k":[20851],"v":[{"k":[38381],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"d":{"df":1,"dc":[[45,6]]},"k":[65292,93,33],"v":[{"k":[23558],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[40],"v":[{"k":[104,47],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[41],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[21491],"v":[{"k":[19978],"v":[{"k":[35282],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[114],"v":[{"k":[117,116],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[53,2]]}}]}]}]}]},{"k":[98,111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[65,1],[82,8]]},"k":[45],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[108],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"k":[109,45,108],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[103],"v":[{"k":[122],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[106],"v":[{"k":[113],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[118],"v":[{"k":[119],"v":[{"k":[120],"v":[{"k":[105],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[113],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[49],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[113],"v":[{"k":[122],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[113],"v":[{"k":[113],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[107],"v":[{"k":[53],"v":[{"k":[102],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[40,12289],"v":[{"k":[41],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[99],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[12289],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26032,20010,20248,23569,39640,22810],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[21040,20381,26368,35777,20195],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"k":[36182],"v":[{"d":{"df":1,"dc":[[51,1]]},"k":[39033],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]},{"k":[21518],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]},{"k":[20070],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]},{"k":[30721],"v":[{"k":[65292],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[22791],"v":[{"k":[22238],"v":[{"k":[28378],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24615],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[12290,32654],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"k":[65292],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[36215],"v":[{"k":[26469],"v":[{"k":[20063],"v":[{"k":[26356],"v":[{"k":[26041],"v":[{"k":[20415],"v":[{"k":[12290],"v":[{"k":[24863],"v":[{"k":[20852],"v":[{"k":[36259],"v":[{"k":[30340],"v":[{"k":[21516],"v":[{"k":[23398],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[26102,20195,27979,25104],"v":[{"k":[38388],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[30721],"v":[{"k":[44,22359],"v":[{"d":{"df":1,"dc":[[99,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[26412],"v":[{"k":[28010],"v":[{"k":[36153],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]},{"k":[30340],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[26550],"v":[{"d":{"df":2,"dc":[[2,1],[20,1]]},"k":[20570],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"k":[32780],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[20013],"v":[{"k":[29992],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35774,21457,22987,22836,26426,25918,21551],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"d":{"df":2,"dc":[[25,1],[90,2]]},"k":[38656,24037,21487,30340,29615,27169,32773,35843,65292,24573],"v":[{"k":[35201],"v":[{"k":[37197],"v":[{"k":[21512],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[20855],"v":[{"d":{"df":1,"dc":[[4,1]]}}]},{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[34892],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]},{"k":[22823],"v":[{"k":[22411],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[27169],"v":[{"k":[22411],"v":[{"k":[65292],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"k":[22238],"v":[{"k":[31572],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[21644],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[23545],"v":[{"k":[35805],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[12289],"v":[{"k":[25991],"v":[{"k":[26412],"v":[{"k":[25688],"v":[{"k":[35201],"v":[{"k":[12289],"v":[{"k":[32763],"v":[{"k":[35793],"v":[{"k":[12289],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[25991],"v":[{"k":[26412],"v":[{"k":[31561],"v":[{"k":[12290],"v":[{"k":[23427],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[20102],"v":[{"k":[20808],"v":[{"k":[36827],"v":[{"k":[30340],"v":[{"k":[28145],"v":[{"k":[24230],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[21644],"v":[{"k":[28023],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[35757],"v":[{"k":[32451],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[39046],"v":[{"k":[22495],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[39640],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22659,33410],"v":[{"d":{"df":2,"dc":[[67,1],[68,1]]},"k":[37197,20381],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[21487],"v":[{"k":[20197],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[21435],"v":[{"k":[20889],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]},{"k":[36182],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[21450],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[22312],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[20013],"v":[{"k":[24341],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20013],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[20013],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[19977],"v":[{"k":[20010],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[65292],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[12289],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12289],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24335],"v":[{"k":[21152],"v":[{"k":[36733],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[65292,35748],"v":[{"k":[20998],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[21644],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35777],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]},{"k":[35797],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]},{"k":[37027],"v":[{"k":[20040],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[23601],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26126],"v":[{"k":[30830],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[20808],"v":[{"k":[20174],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"k":[25110],"v":[{"k":[26159],"v":[{"k":[21518],"v":[{"k":[31471],"v":[{"k":[30340],"v":[{"k":[26576],"v":[{"k":[20010],"v":[{"k":[28857],"v":[{"k":[30528],"v":[{"k":[25163],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[28857],"v":[{"k":[25299],"v":[{"k":[23637],"v":[{"k":[21040],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[30340],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[26632],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30053],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[65292],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[19968],"v":[{"k":[22376],"v":[{"k":[23630],"v":[{"k":[65307],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[24573],"v":[{"k":[30053],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[65292],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[19968],"v":[{"k":[22376],"v":[{"k":[23630],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[30,1]]},"k":[38024,47,26080],"v":[{"k":[23545],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]}]}]},{"k":[32467],"v":[{"k":[26463],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[25152],"v":[{"k":[20107],"v":[{"k":[20107],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]},{"k":[44],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[40736],"v":[{"k":[26631],"v":[{"k":[25110],"v":[{"k":[38190],"v":[{"k":[30424],"v":[{"k":[19978],"v":[{"k":[19979],"v":[{"k":[38190],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[44],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[25110],"v":[{"k":[22238],"v":[{"k":[36710],"v":[{"k":[20415],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33258],"v":[{"k":[21551],"v":[{"d":{"df":2,"dc":[[63,1],[85,1]]}}]}]},{"k":[25509],"v":[{"k":[21475],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]}}]},{"k":[26639,27880,19994],"v":[{"d":{"df":1,"dc":[[2,1]]}},{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31361],"v":[{"k":[30772],"v":[{"k":[28857],"v":[{"k":[12290],"v":[{"k":[19981],"v":[{"k":[30450],"v":[{"k":[30446],"v":[{"k":[25630],"v":[{"k":[22823],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26041],"v":[{"k":[21521],"v":[{"k":[26377],"v":[{"k":[24314],"v":[{"k":[26641],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]},{"k":[21270,21183,31168],"v":[{"d":{"df":2,"dc":[[63,1],[65,1]]},"k":[38405,20026],"v":[{"k":[35835],"v":[{"k":[20307],"v":[{"k":[39564],"v":[{"k":[65292],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[22238],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[20250],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[36339],"v":[{"k":[36716],"v":[{"k":[21040],"v":[{"k":[19978],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[30340],"v":[{"k":[20301],"v":[{"k":[32622],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[38405],"v":[{"k":[35835],"v":[{"k":[12290],"v":[{"k":[27426],"v":[{"k":[36814],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65306],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]},{"k":[65306,20026,23601],"v":[{"d":{"df":1,"dc":[[3,3]]}},{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"k":[26159],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[39640],"v":[{"k":[21679],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[20013],"v":[{"k":[25991],"v":[{"k":[32763],"v":[{"k":[35793],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[21450],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[30340],"v":[{"k":[26410],"v":[{"k":[32763],"v":[{"k":[35793],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[27719],"v":[{"k":[24635],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31227,25442],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]},{"d":{"df":1,"dc":[[81,1]]}}]},{"k":[39033,37096,31034,25554,21629,31456,25991,23454,26597],"v":[{"k":[30446,20165],"v":[{"k":[21019,20013],"v":[{"k":[24314],"v":[{"d":{"df":1,"dc":[[2,1]]}}]},{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[96],"v":[{"k":[107],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[26159],"v":[{"k":[24403],"v":[{"k":[26102],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[26377],"v":[{"k":[22909],"v":[{"k":[22810],"v":[{"k":[31181],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[20013],"v":[{"k":[38388],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[26159],"v":[{"k":[20174],"v":[{"k":[23448],"v":[{"k":[26041],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[20013],"v":[{"k":[21457],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22312],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]},{"k":[20998],"v":[{"k":[28304,27809],"v":[{"k":[30721],"v":[{"k":[20301],"v":[{"k":[20110],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[26377],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[20214],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[20165],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[20196],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[23436],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[20250],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[33410],"v":[{"k":[19981],"v":[{"k":[36807],"v":[{"k":[22810],"v":[{"k":[23545],"v":[{"k":[27604],"v":[{"k":[65292],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[21916],"v":[{"k":[22909],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[12290],"v":[{"k":[20837],"v":[{"k":[38376],"v":[{"k":[35831],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[22914],"v":[{"k":[26377],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[35810],"v":[{"k":[20013],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[20998],"v":[{"k":[39029],"v":[{"k":[65288],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46,114,111,97,109,108,104,105,117,115,101,107,102,96,121,110,91,59,99,119,103],"v":[{"k":[115],"v":[{"k":[46],"v":[{"d":{"df":6,"dc":[[2,1],[46,1],[59,1],[65,1],[66,1],[99,1]]}}]}]},{"d":{"df":1,"dc":[[40,1]]},"k":[111,105,101],"v":[{"d":{"df":4,"dc":[[3,3],[5,1],[57,3],[97,1]]},"k":[99,109,120,112,106,100,118,103,102],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[116,46],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120,110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41,48],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,2]]}}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,2]]}}]}]}]}]}]}]},{"k":[118],"v":[{"k":[46],"v":[{"k":[116,110],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"d":{"df":2,"dc":[[65,2],[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":3,"dc":[[32,5],[39,1],[64,1]]},"k":[46,60,58,40,23545,102,65292],"v":[{"k":[114,97],"v":[{"k":[101,97],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[39,1]]},"k":[40],"v":[{"k":[91],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[39,1]]},"k":[40],"v":[{"k":[91,116,114],"v":[{"k":[103,112,117],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[49],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118,115],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]}},{"k":[40,102],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[41,44],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"d":{"df":1,"dc":[[32,6]]}}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]},{"k":[35937],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[117,110],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[39,1]]},"k":[40],"v":[{"k":[53,49,50,118,51],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[53],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[39,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[39,2]]}}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,4]]}}]}]}]}]},{"k":[41],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[39,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]},{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[20855],"v":[{"k":[20307],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[12290],"v":[{"k":[21017],"v":[{"k":[24847],"v":[{"k":[21619],"v":[{"k":[30528],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"d":{"df":3,"dc":[[27,3],[58,1],[59,1]]},"k":[40,46,99,65292,95],"v":[{"d":{"df":3,"dc":[[12,1],[27,2],[64,1]]},"k":[111],"v":[{"k":[98],"v":[{"k":[106],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]},{"k":[27492],"v":[{"k":[26102],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[20020],"v":[{"k":[26102],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,112,114],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[88,4]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[121,105],"v":[{"d":{"df":2,"dc":[[12,1],[64,1]]},"k":[46,41,93,44],"v":[{"k":[116,114,99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[27,2],[64,1]]}},{"d":{"df":1,"dc":[[27,1]]}},{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[14,2],[57,1]]},"k":[44,45],"v":[{"d":{"df":1,"dc":[[19,1]]}},{"k":[109,115],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[64],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[57],"v":[{"k":[46],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,1]]},"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[19,4]]},"k":[115],"v":[{"d":{"df":1,"dc":[[19,2]]}}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115,114],"v":[{"d":{"df":1,"dc":[[19,3]]}},{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]},{"k":[110,118,115,109],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[19,1],[40,1]]},"k":[100,114,101,109],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[40,41],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[102,40],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[111,39],"v":[{"k":[112],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[76,2]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[76,2]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]},{"k":[109],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[46],"v":[{"k":[104,108],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[91,46],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[108,2]]},"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]}]}]}]}]}]},{"k":[115,97,99,112,116],"v":[{"k":[115,101],"v":[{"d":{"df":1,"dc":[[45,2]]}},{"k":[110,116],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[61,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"k":[119,115,114,111,100,112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[115,108,100],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[12289],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44,34],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[39],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[12289],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116,105],"v":[{"d":{"df":3,"dc":[[11,4],[77,1],[80,1]]},"k":[115,40,46,109,105,58,99,42,34,116,39,114,41,103],"v":[{"k":[58,40],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[11,1]]},"k":[103,105,97,98],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[11,1]]}}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]},{"k":[111,97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]},{"k":[100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,2]]}}]}]},{"d":{"df":1,"dc":[[11,1]]}},{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]},{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[45,3]]},"k":[12290,20250],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"k":[22312],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[80,2]]}}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[80,1]]}}]},{"k":[101],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[80,2]]},"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[80,1]]}}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":2,"dc":[[11,1],[81,1]]},"k":[58,61],"v":[{"d":{"df":4,"dc":[[12,2],[13,1],[17,1],[94,1]]}},{"k":[34],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[50,34],"v":[{"k":[50],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]},{"k":[108],"v":[{"d":{"df":1,"dc":[[110,1]]},"k":[105,44,40],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]},{"d":{"df":1,"dc":[[65,1]]}},{"k":[109,123],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[110,1]]}}]}]}]},{"d":{"df":1,"dc":[[19,1]]}},{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[114,115,103,116,99,121,119,108],"v":[{"k":[97,101,115,116,99],"v":[{"k":[108,109],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]},{"k":[115,49],"v":[{"d":{"df":4,"dc":[[52,1],[64,2],[65,1],[69,1]]},"k":[41,44,46,91],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[20,1],[64,1]]}}]},{"d":{"df":1,"dc":[[64,1]]}},{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]},{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[64,2]]}}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[111,110,104],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[6,1]]},"k":[46],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[33],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[105,114,40,97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[110,109],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":4,"dc":[[12,1],[21,1],[64,1],[65,2]]}}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,2]]},"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[49,1]]}}]},{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[119],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[93],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[97,99,116],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]},{"k":[105,108],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[43,3]]}}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[76,2]]},"k":[105,107],"v":[{"k":[100],"v":[{"k":[115,44],"v":[{"d":{"df":1,"dc":[[75,2]]},"k":[59,46],"v":[{"d":{"df":1,"dc":[[75,1]]}},{"k":[102,109],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[75,1],[76,2]]}}]}]},{"k":[101],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[20,2]]},"k":[119,116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[19,2]]},"k":[58],"v":[{"d":{"df":4,"dc":[[12,2],[52,3],[81,2],[106,1]]}}]}]}]}]},{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[68,1]]},"k":[96],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105,101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[43,4],[45,1]]},"k":[44,115,41,46,110],"v":[{"d":{"df":1,"dc":[[12,2]]}},{"d":{"df":3,"dc":[[12,1],[37,2],[44,1]]},"k":[44,96],"v":[{"d":{"df":1,"dc":[[12,1]]}},{"k":[25110],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[30340],"v":[{"k":[22320],"v":[{"k":[26041],"v":[{"k":[44],"v":[{"k":[19981],"v":[{"k":[22312],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[21040],"v":[{"k":[96],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[15,1]]}},{"k":[115,111,101],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[22320],"v":[{"k":[22336],"v":[{"k":[44],"v":[{"k":[21644],"v":[{"k":[35856],"v":[{"k":[20320],"v":[{"k":[25105],"v":[{"k":[20182],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"k":[104],"v":[{"d":{"df":7,"dc":[[19,1],[26,1],[42,1],[65,1],[68,2],[69,1],[77,1]]},"k":[58,46,61,91,115,47],"v":[{"d":{"df":5,"dc":[[15,1],[17,1],[26,1],[63,1],[68,1]]}},{"k":[114,106],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[95],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,4],[68,6]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[77,1]]},"k":[40],"v":[{"k":[95],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34,36],"v":[{"k":[36],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[58],"v":[{"k":[96],"v":[{"k":[121],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]},{"d":{"df":1,"dc":[[69,1]]},"k":[58,91],"v":[{"d":{"df":1,"dc":[[69,1]]}},{"k":[120],"v":[{"k":[93],"v":[{"k":[91],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[78,2]]}}]}]}]}]}]}]}]}]}]},{"k":[107],"v":[{"d":{"df":1,"dc":[[53,1]]},"k":[97,45],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[20,1],[57,4]]},"k":[46,45,110,115],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":7,"dc":[[16,1],[19,2],[49,1],[51,1],[53,2],[93,1],[106,2]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[51,3]]}}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[119,109,97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]},{"k":[97],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]},{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[58,65306],"v":[{"d":{"df":1,"dc":[[52,4]]}},{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[115,105,50],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[5,2]]}}]}]},{"k":[110],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[117],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]},{"d":{"df":6,"dc":[[40,2],[65,2],[85,12],[86,3],[88,4],[89,1]]}}]},{"d":{"df":1,"dc":[[35,11]]},"k":[97,117,101],"v":[{"k":[121,116,105,110],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[14,1]]},"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]},{"k":[110],"v":[{"d":{"df":1,"dc":[[23,1]]}}]},{"d":{"df":1,"dc":[[94,1]]}}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[26,1],[57,1]]},"k":[115],"v":[{"d":{"df":2,"dc":[[17,1],[21,1]]},"k":[58],"v":[{"d":{"df":6,"dc":[[26,3],[43,2],[49,1],[57,1],[61,1],[68,4]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]},{"k":[97,111,112],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[15,2]]},"k":[106,46,44],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[15,2]]}}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]},{"d":{"df":1,"dc":[[104,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[110,112,99,100,103],"v":[{"k":[111],"v":[{"k":[45,108],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44,41],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"d":{"df":1,"dc":[[20,3]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[82,5]]},"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]},{"k":[107],"v":[{"k":[102,101],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]},{"k":[114],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"d":{"df":2,"dc":[[40,1],[63,12]]},"k":[58,41],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[119,112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[63,10]]}}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[64,58,100],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98,115,108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99,115],"v":[{"d":{"df":2,"dc":[[45,2],[88,2]]},"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[26,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[26,2],[68,1]]}}]}]}]}]}]},{"k":[104],"v":[{"d":{"df":2,"dc":[[50,2],[67,1]]}}]}]}]}]},{"k":[104],"v":[{"d":{"df":5,"dc":[[36,2],[41,1],[44,1],[45,4],[66,1]]},"k":[65306,46,100],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[108],"v":[{"d":{"df":2,"dc":[[36,1],[66,3]]},"k":[65306,114],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,44],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[114,110],"v":[{"k":[115,108,102],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,3]]}}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[105],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]},{"k":[103],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]},"k":[41,46],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[120],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]},{"d":{"df":1,"dc":[[69,1]]}},{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,5]]},"k":[45],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[46,47],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[88,3]]}}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[88,2]]}}]}]},{"k":[36817,36866,26032,32456,20339,21487,21518,31616,26680,22909,22810],"v":[{"k":[32463,39033],"v":[{"k":[24120],"v":[{"k":[25910],"v":[{"k":[21040],"v":[{"k":[26410],"v":[{"k":[22791],"v":[{"k":[27880],"v":[{"k":[26165],"v":[{"k":[31216],"v":[{"k":[25110],"v":[{"k":[32593],"v":[{"k":[22336],"v":[{"k":[30340],"v":[{"k":[25424],"v":[{"k":[36192],"v":[{"k":[65292],"v":[{"k":[35831],"v":[{"k":[30041],"v":[{"k":[19979],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[21495],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[20415],"v":[{"k":[20110],"v":[{"k":[40483],"v":[{"k":[35874],"v":[{"k":[12290],"v":[{"k":[35874],"v":[{"k":[35874],"v":[{"k":[126],"v":[{"d":{"df":1,"dc":[[2,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[20013],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]},{"k":[21512],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[30340],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[35770],"v":[{"k":[26159],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29256],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[53,1]]},"k":[58,20026],"v":[{"d":{"df":1,"dc":[[18,1]]}},{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[25191,20248,33719,20250,23454],"v":[{"k":[34892],"v":[{"d":{"df":1,"dc":[[19,1]]}}]},{"k":[21270],"v":[{"k":[29256],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]},{"k":[24471],"v":[{"k":[30340],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[96],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[96],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[44],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25340],"v":[{"k":[25104],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[29616],"v":[{"k":[30340],"v":[{"k":[25104],"v":[{"k":[26524],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[23454],"v":[{"k":[36341],"v":[{"k":[27493],"v":[{"k":[39588],"v":[{"k":[20026,58],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]},{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]},{"k":[38752],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[20877,65292,19968],"v":[{"k":[34917],"v":[{"k":[19968],"v":[{"k":[24352],"v":[{"k":[29976],"v":[{"k":[29305],"v":[{"k":[22270],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]},{"k":[25105],"v":[{"k":[20204],"v":[{"k":[36824],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[91],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[38543],"v":[{"k":[26426],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[63],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[61],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[38],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[61],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[38],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[61],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[38],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[61],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[38],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[61],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[38],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[38],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[38],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[61],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[41],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[22312],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[19968],"v":[{"k":[34892],"v":[{"k":[38543],"v":[{"k":[26426],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"k":[19979],"v":[{"k":[25991],"v":[{"k":[22791],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892,26465],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]},{"k":[28040],"v":[{"k":[24687],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21270],"v":[{"k":[21487],"v":[{"k":[23454],"v":[{"k":[34892],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[65288],"v":[{"k":[109],"v":[{"k":[118],"v":[{"k":[112],"v":[{"k":[65289],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24515],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]},{"k":[26159,33021],"v":[{"k":[20197],"v":[{"k":[25968],"v":[{"k":[23383],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]},{"k":[20859],"v":[{"k":[25104],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[30340],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[65292],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[12289],"v":[{"k":[24515],"v":[{"k":[24471],"v":[{"k":[12289],"v":[{"k":[36393],"v":[{"k":[36807],"v":[{"k":[30340],"v":[{"k":[22353],"v":[{"k":[37117],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[26469],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[38450],"v":[{"k":[26085],"v":[{"k":[21518],"v":[{"k":[24819],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[21448],"v":[{"k":[24536],"v":[{"k":[35760],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[24471],"v":[{"k":[37325],"v":[{"k":[26032],"v":[{"k":[30475],"v":[{"k":[19968],"v":[{"k":[36941],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21482],"v":[{"k":[20801],"v":[{"k":[35768],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[20004],"v":[{"k":[21488],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[21488],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[20570],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[32426],"v":[{"k":[35201],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[21488],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[25237],"v":[{"k":[24433],"v":[{"k":[23637],"v":[{"k":[31034],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33041,23376],"v":[{"k":[36873],"v":[{"k":[22411],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]},{"k":[20070],"v":[{"k":[20171,30446],"v":[{"k":[32461],"v":[{"k":[35828],"v":[{"k":[26126],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]},{"k":[24405],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]},{"k":[25454,32452],"v":[{"k":[26085,19978,26465,38656,36141,111,26410,39033,20108,30028,39532,27979],"v":[{"k":[24120],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[65292],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[12289],"v":[{"k":[21488],"v":[{"k":[24335],"v":[{"k":[26426],"v":[{"k":[12289],"v":[{"k":[24179],"v":[{"k":[26495],"v":[{"k":[21644],"v":[{"k":[20108],"v":[{"k":[21512],"v":[{"k":[19968],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[25105],"v":[{"k":[37117],"v":[{"k":[26377],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[36807],"v":[{"k":[65292],"v":[{"k":[30446],"v":[{"k":[21069],"v":[{"k":[32780],"v":[{"k":[35328],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[25105],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22270],"v":[{"k":[24320],"v":[{"k":[21551],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"k":[20214],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[26465],"v":[{"k":[25968],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[27880,65292],"v":[{"k":[20876],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]},{"k":[21551],"v":[{"k":[21160],"v":[{"k":[12289],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[47],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[65288],"v":[{"k":[19968],"v":[{"k":[33324],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"k":[25918],"v":[{"k":[22312],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[37324],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20080],"v":[{"k":[30340],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[24080],"v":[{"k":[21495],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]}]}]},{"k":[35206],"v":[{"k":[30422],"v":[{"k":[30340],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[65292],"v":[{"k":[20877],"v":[{"k":[27169],"v":[{"k":[25311],"v":[{"k":[21478],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65292],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[21644],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65288],"v":[{"k":[26377],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[28085],"v":[{"k":[30422],"v":[{"k":[21040],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65289],"v":[{"k":[30340],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[26469],"v":[{"k":[26435],"v":[{"k":[34913],"v":[{"k":[44],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[31471],"v":[{"k":[28210],"v":[{"k":[26579],"v":[{"k":[40],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20843],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[65292],"v":[{"k":[23558],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]},{"k":[38754],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[26031],"v":[{"k":[27931],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[23618],"v":[{"k":[27425],"v":[{"k":[29702],"v":[{"k":[35770],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"k":[32534],"v":[{"k":[20889],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32455],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]},{"k":[35760],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[3,1]]},"k":[24179],"v":[{"k":[26495],"v":[{"k":[20108],"v":[{"k":[21512],"v":[{"k":[19968],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]},{"d":{"df":12,"dc":[[4,1],[27,1],[43,2],[57,1],[58,1],[61,1],[68,1],[70,2],[75,1],[77,1],[84,1],[88,1]]},"k":[36873,36825,24320,38169,27983,32447,38656,30005,25191,24038,27599,20998,39033,29992,26381,25554,23450,38463,26368,22823,22242,31038,25968],"v":[{"k":[25321],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[37325],"v":[{"k":[28857],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[22240],"v":[{"k":[32032],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010,37324,20960],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[37324],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"k":[65292,20551],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[20102],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[26500],"v":[{"k":[24314],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[21482],"v":[{"k":[20250],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23450],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"k":[21040],"v":[{"k":[36134],"v":[{"k":[21495],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24180],"v":[{"k":[30340],"v":[{"k":[25307],"v":[{"k":[32856],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24863],"v":[{"k":[35273],"v":[{"k":[29616],"v":[{"k":[22312],"v":[{"k":[30340],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"k":[22280],"v":[{"k":[23376],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[28014],"v":[{"k":[36481],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[27605],"v":[{"k":[19994],"v":[{"k":[27809],"v":[{"k":[20004],"v":[{"k":[24180],"v":[{"k":[30340],"v":[{"k":[24180],"v":[{"k":[36731],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[25171],"v":[{"k":[19978],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[26631],"v":[{"k":[31614],"v":[{"k":[65306],"v":[{"k":[8220],"v":[{"k":[31934],"v":[{"k":[36890],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[29615,36807],"v":[{"k":[22659],"v":[{"k":[20013],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[22810],"v":[{"k":[21152],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]},{"k":[31243],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[24120],"v":[{"k":[35265],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[23849],"v":[{"k":[28291],"v":[{"k":[12290],"v":[{"k":[24448],"v":[{"k":[24448],"v":[{"k":[36825],"v":[{"k":[31867],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[28304],"v":[{"k":[22836],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35823],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[21040],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[37325],"v":[{"k":[26032],"v":[{"k":[20998],"v":[{"k":[37197],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[20540],"v":[{"k":[65292],"v":[{"k":[35753],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35272],"v":[{"k":[22120],"v":[{"k":[20013],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"k":[32534],"v":[{"k":[36753],"v":[{"k":[22120,41],"v":[{"d":{"df":1,"dc":[[43,1]]}},{"d":{"df":1,"dc":[[44,1]]}}]}]}]},{"k":[35201],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[30340],"v":[{"k":[31456],"v":[{"k":[33410],"v":[{"k":[25991],"v":[{"k":[23383],"v":[{"k":[39030],"v":[{"k":[37096],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33041],"v":[{"k":[20013],"v":[{"k":[24314],"v":[{"k":[31435],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21517],"v":[{"k":[23383],"v":[{"k":[21483],"v":[{"k":[12300],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[12301],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[22841],"v":[{"k":[65288],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[25105],"v":[{"k":[24314],"v":[{"k":[22312],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[20391],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[27425],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[25903],"v":[{"k":[19979],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[22841],"v":[{"k":[19979],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[96],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[65288],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[21517],"v":[{"k":[38543],"v":[{"k":[24847],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[20026],"v":[{"k":[20854],"v":[{"k":[22686],"v":[{"k":[21152],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20102],"v":[{"k":[21322],"v":[{"k":[24180],"v":[{"k":[22810],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[21153],"v":[{"k":[31471],"v":[{"k":[21152],"v":[{"k":[36733],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[27491],"v":[{"k":[21017],"v":[{"k":[20013],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]},{"k":[20041],"v":[{"k":[27169],"v":[{"k":[22411],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[20102],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[30340],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37324],"v":[{"k":[20113],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]},{"k":[21518,21021],"v":[{"k":[19968],"v":[{"k":[34892],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[20004],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]},{"k":[19968],"v":[{"k":[28857],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[65292],"v":[{"k":[33267],"v":[{"k":[23569],"v":[{"k":[39318],"v":[{"k":[20808],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[30830],"v":[{"k":[23450],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[26377],"v":[{"k":[24072],"v":[{"k":[20613],"v":[{"k":[39046],"v":[{"k":[36827],"v":[{"k":[38376],"v":[{"k":[65292],"v":[{"k":[24403],"v":[{"k":[28982],"v":[{"k":[65292],"v":[{"k":[20462],"v":[{"k":[34892],"v":[{"k":[37027],"v":[{"k":[36824],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[38752],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38431],"v":[{"k":[21327],"v":[{"k":[20316],"v":[{"k":[20013],"v":[{"k":[19981],"v":[{"k":[28010],"v":[{"k":[36153],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[21450],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20250],"v":[{"k":[20013],"v":[{"k":[31435],"v":[{"k":[36275],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]},{"k":[25454],"v":[{"k":[24211],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[31456],"v":[{"k":[33410],"v":[{"k":[25552],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[33258],"v":[{"k":[22686],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021,20215],"v":[{"d":{"df":1,"dc":[[99,1]]},"k":[65288,20302,20248,26368,20998,23545,30417,39640,35843],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"d":{"df":1,"dc":[[3,1]]},"k":[65292],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]},{"k":[21270],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]},{"k":[20302,39640],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[33,1]]}}]},{"k":[30340],"v":[{"k":[19968],"v":[{"k":[21488],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[35843],"v":[{"k":[24230],"v":[{"k":[44],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26512],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[25253],"v":[{"k":[21578],"v":[{"d":{"df":1,"dc":[[99,2]]}}]}]}]},{"k":[27604],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]},{"k":[25511],"v":[{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[29255],"v":[{"k":[38754],"v":[{"k":[20043],"v":[{"k":[35789],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[20889],"v":[{"k":[96],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20248],"v":[{"k":[19982],"v":[{"k":[25925],"v":[{"k":[38556],"v":[{"k":[25490],"v":[{"k":[26597],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]},{"k":[27604],"v":[{"k":[39640],"v":[{"k":[65292],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[25874],"v":[{"k":[26356],"v":[{"k":[20415],"v":[{"k":[23452],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[28909],"v":[{"k":[65288],"v":[{"k":[22823],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[30340],"v":[{"k":[36731],"v":[{"k":[34180],"v":[{"k":[26412],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[28909],"v":[{"k":[27700],"v":[{"k":[34955],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[37325],"v":[{"k":[28857],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33322],"v":[{"k":[65288],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26377],"v":[{"k":[31227],"v":[{"k":[21160],"v":[{"k":[21150],"v":[{"k":[20844],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24149],"v":[{"k":[23610,26174],"v":[{"k":[23544],"v":[{"k":[65288],"v":[{"k":[19981],"v":[{"k":[20877],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]},{"k":[31034],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[32780],"v":[{"k":[35328],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":22,"dc":[[6,3],[7,2],[9,2],[10,3],[15,1],[23,1],[27,2],[33,1],[39,3],[40,1],[48,1],[52,1],[53,2],[57,1],[62,1],[63,9],[65,2],[79,1],[83,1],[88,1],[99,1],[109,1]]},"k":[54,46,48,49,39,59,41,93,44,55,51,53,57,65306,96,115,50,56,125,107,58,37,52,65288,65289,61,111,12289,65307,65292],"v":[{"d":{"df":3,"dc":[[39,1],[48,1],[83,1]]},"k":[58,55,103,44,46,50],"v":[{"k":[57,49,53],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"k":[48],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[53],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]},{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":1,"dc":[[40,4]]}},{"d":{"df":1,"dc":[[48,2]]}},{"k":[48],"v":[{"k":[52],"v":[{"k":[96],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65292],"v":[{"k":[21315],"v":[{"k":[19975],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":30,"dc":[[7,1],[15,2],[26,4],[36,1],[37,1],[39,1],[41,1],[42,1],[45,3],[52,2],[62,2],[63,4],[64,1],[65,1],[66,2],[67,1],[71,1],[74,2],[75,1],[76,3],[77,1],[78,1],[89,2],[90,1],[92,2],[99,1],[100,2],[105,4],[106,2],[108,2]]},"k":[50,26368,120,52,55,49,56,26816,21482,116,54,20197,24403,25104,48,25293,20174,57,27809,35302,36991,20154,20998,23545,53,24605,24754,27599,22914],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[107],"v":[{"k":[103],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[22909],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[29992],"v":[{"k":[21508],"v":[{"k":[31867],"v":[{"k":[33050],"v":[{"k":[25163],"v":[{"k":[26550],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[26,1]]},"k":[46],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[40,2]]}}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[103],"v":[{"k":[104],"v":[{"k":[122],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]},{"k":[26597],"v":[{"k":[96],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[21644],"v":[{"k":[96],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[22909],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"k":[96],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[21069],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[26377],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[21151],"v":[{"k":[65288],"v":[{"k":[26410],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[49],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[25293],"v":[{"k":[33041],"v":[{"k":[34955],"v":[{"k":[24471],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[24819],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[24448],"v":[{"k":[24448],"v":[{"k":[26159],"v":[{"k":[27809],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36816],"v":[{"k":[32500],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[20013],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[24471],"v":[{"k":[20986],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[35770],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]},{"k":[35013],"v":[{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[21457],"v":[{"k":[22120],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]},{"k":[20813],"v":[{"k":[29359],"v":[{"k":[30456],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]},{"k":[22810],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[24050],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[32047],"v":[{"k":[31215],"v":[{"k":[22810],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24037],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[32454],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]},{"k":[20110],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[25104],"v":[{"k":[38271],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[95,1]]}},{"k":[24819],"v":[{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[35266],"v":[{"d":{"df":1,"dc":[[100,1]]}}]},{"k":[21608],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[24635],"v":[{"k":[35745],"v":[{"k":[19981],"v":[{"k":[36229],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26524],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]},{"d":{"df":9,"dc":[[5,1],[10,1],[20,1],[27,1],[31,1],[43,5],[48,2],[76,2],[91,1]]},"k":[56,48,41,49,52,95,44,46,43,59,107,50,51,109,37],"v":[{"k":[48,46],"v":[{"k":[112],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36305],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49],"v":[{"k":[54],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[48,41,109],"v":[{"d":{"df":2,"dc":[[10,3],[15,1]]},"k":[114,59,48,44,41],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"d":{"df":1,"dc":[[10,2]]}},{"d":{"df":1,"dc":[[12,2]]},"k":[48],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]},{"d":{"df":5,"dc":[[12,1],[15,1],[21,1],[64,1],[65,2]]},"k":[19968],"v":[{"k":[27425],"v":[{"k":[24615],"v":[{"k":[25630],"v":[{"k":[23450],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[85,1]]},"k":[59],"v":[{"d":{"df":3,"dc":[[20,1],[32,3],[76,2]]}}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[39,2]]}}]},{"d":{"df":1,"dc":[[40,2]]}}]},{"d":{"df":5,"dc":[[21,1],[39,2],[64,1],[65,2],[79,2]]},"k":[125,59,44],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[41,22825],"v":[{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]},{"k":[36],"v":[{"k":[123],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[91],"v":[{"k":[48],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[12,1]]}},{"d":{"df":1,"dc":[[64,1]]}}]},{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[49],"v":[{"k":[50],"v":[{"k":[95],"v":[{"k":[54],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]},{"d":{"df":4,"dc":[[15,1],[43,5],[48,2],[79,1]]}},{"k":[49,53],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[19,1]]}}]},{"k":[49],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[53],"v":[{"k":[53],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[53],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65288],"v":[{"k":[105],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]},{"d":{"df":1,"dc":[[27,3]]}},{"k":[98],"v":[{"d":{"df":1,"dc":[[37,1]]}}]},{"k":[109,52],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"k":[48],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[46],"v":[{"k":[50,51],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[49],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[24038],"v":[{"k":[21491],"v":[{"k":[65292],"v":[{"k":[36739],"v":[{"k":[20026],"v":[{"k":[21512],"v":[{"k":[36866],"v":[{"k":[65292],"v":[{"k":[20004],"v":[{"k":[24180],"v":[{"k":[19979],"v":[{"k":[26469],"v":[{"k":[28072],"v":[{"k":[24133],"v":[{"k":[24635],"v":[{"k":[35745],"v":[{"k":[32422],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[3,1],[9,1]]},"k":[58,44,51],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[58],"v":[{"k":[51],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[48,3]]}},{"d":{"df":1,"dc":[[53,1]]}}]},{"k":[41,44],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[5,1],[110,1]]}}]},{"d":{"df":2,"dc":[[6,1],[63,1]]}}]},{"d":{"df":7,"dc":[[6,2],[15,2],[23,2],[27,1],[45,1],[48,2],[63,14]]}},{"d":{"df":10,"dc":[[6,2],[9,1],[10,4],[12,1],[15,1],[27,3],[48,2],[63,2],[76,1],[79,1]]},"k":[59,41],"v":[{"d":{"df":5,"dc":[[13,1],[21,1],[30,1],[33,1],[63,2]]}},{"k":[59,41],"v":[{"d":{"df":2,"dc":[[27,1],[48,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]},{"k":[46,91],"v":[{"k":[102,111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[121],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,4]]}}]}]}]}]}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":10,"dc":[[8,1],[13,1],[15,1],[39,1],[48,1],[57,1],[63,3],[69,2],[85,1],[106,1]]},"k":[55],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[44],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[9,1]]},"k":[44,93,51,50],"v":[{"d":{"df":2,"dc":[[8,4],[48,3]]}},{"d":{"df":1,"dc":[[8,1]]}},{"k":[103,46],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"k":[50],"v":[{"k":[52],"v":[{"k":[53],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[9,1]]},"k":[49,51,44],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[49],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"d":{"df":2,"dc":[[48,3],[57,1]]}}]},{"d":{"df":2,"dc":[[9,1],[57,1]]},"k":[48,51,44,55,37,115],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[53],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[48,3]]}},{"k":[49],"v":[{"d":{"df":1,"dc":[[53,1]]}}]},{"k":[45],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[37],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[32473],"v":[{"k":[20104],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[22870],"v":[{"k":[21169],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[23454],"v":[{"k":[34892],"v":[{"k":[26411],"v":[{"k":[20301],"v":[{"k":[28120],"v":[{"k":[27760],"v":[{"k":[21046],"v":[{"k":[65292],"v":[{"k":[20248],"v":[{"k":[32988],"v":[{"k":[21155],"v":[{"k":[27760],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[105,1]]}}]},{"d":{"df":1,"dc":[[9,1]]},"k":[44,48,55,56,57],"v":[{"d":{"df":1,"dc":[[48,3]]}},{"k":[46],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[52],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[55],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[9,1],[63,1]]},"k":[29992],"v":[{"k":[25143],"v":[{"k":[26410],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,3]]},"k":[65288],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[110,1]]},"k":[12290,26041],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"k":[24335],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":3,"dc":[[40,1],[48,1],[95,1]]},"k":[51,44,55,54,107,45],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[52],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[54],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"d":{"df":1,"dc":[[48,2]]}},{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[55,1]]},"k":[34,58],"v":[{"d":{"df":2,"dc":[[54,1],[55,1]]}},{"k":[54],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[57],"v":[{"d":{"df":1,"dc":[[94,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[56],"v":[{"k":[109],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]},{"k":[49],"v":[{"k":[53],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[48,1]]},"k":[53,48,52,44,50,56,107],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[109],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[10,1]]},"k":[48],"v":[{"k":[41,40],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[106,1]]}}]},{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[107,2]]}}]}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[48,2]]}},{"d":{"df":1,"dc":[[76,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]},{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[95,1]]}}]},{"d":{"df":1,"dc":[[23,1]]},"k":[125],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]},{"d":{"df":1,"dc":[[40,1]]},"k":[98],"v":[{"d":{"df":1,"dc":[[37,1]]}}]},{"d":{"df":1,"dc":[[39,2]]},"k":[39,48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]},{"k":[48],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"d":{"df":1,"dc":[[40,5]]},"k":[20197],"v":[{"k":[19979],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"d":{"df":1,"dc":[[48,1]]},"k":[58,44,52,49,55,107],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"d":{"df":1,"dc":[[48,2]]}},{"k":[48],"v":[{"k":[109],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]},{"k":[46],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[49,48],"v":[{"k":[52],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[57],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[95,1]]},"k":[12290],"v":[{"k":[20174],"v":[{"k":[31532],"v":[{"k":[19977],"v":[{"k":[24180],"v":[{"k":[36215],"v":[{"k":[65292],"v":[{"k":[21040],"v":[{"k":[31532],"v":[{"k":[20116],"v":[{"k":[24180],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[24180],"v":[{"k":[32763],"v":[{"k":[19968],"v":[{"k":[30058],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38750,26576],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[21592],"v":[{"k":[65292],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32452],"v":[{"k":[32455],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[21592],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[19979],"v":[{"k":[32423],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[62,1]]},"k":[65289],"v":[{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[49],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]},{"k":[43],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[56],"v":[{"k":[98],"v":[{"k":[122],"v":[{"k":[121],"v":[{"k":[54],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[106],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[113],"v":[{"k":[51],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[120],"v":[{"k":[109],"v":[{"k":[106],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[53],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[102],"v":[{"k":[118],"v":[{"k":[120],"v":[{"k":[55],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[121],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[122],"v":[{"k":[118],"v":[{"k":[98],"v":[{"k":[119],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38065],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[32473],"v":[{"k":[21040],"v":[{"k":[20301],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]},{"k":[21028],"v":[{"k":[26029],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20540],"v":[{"k":[22823],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]},{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]},{"d":{"df":1,"dc":[[57,1]]},"k":[20363,22914,36739],"v":[{"k":[21450,65292],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"k":[19968],"v":[{"k":[20010],"v":[{"k":[23631],"v":[{"k":[24403],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[26356],"v":[{"k":[21152],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[20998],"v":[{"k":[23631],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[20102],"v":[{"k":[24102],"v":[{"k":[40060],"v":[{"k":[23631],"v":[{"k":[65292],"v":[{"k":[23588],"v":[{"k":[20854],"v":[{"k":[26159],"v":[{"k":[26354],"v":[{"k":[38754],"v":[{"k":[24102],"v":[{"k":[40060],"v":[{"k":[23631],"v":[{"k":[65288],"v":[{"k":[22914],"v":[{"k":[19977],"v":[{"k":[26143],"v":[{"k":[29572],"v":[{"k":[40857],"v":[{"k":[39569],"v":[{"k":[22763],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[26,1],[42,1],[92,1]]},"k":[96,44,65292,25105,20320,30331],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[19977],"v":[{"k":[31181],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[26,1],[53,1],[70,1]]},"k":[96],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[96],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[38500],"v":[{"k":[20102],"v":[{"k":[21508],"v":[{"k":[20010],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105,20351,24819],"v":[{"k":[35201],"v":[{"k":[20889],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"k":[65292],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[96,1]]}}]},{"k":[35201],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29616],"v":[{"k":[22312],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]},{"k":[24819],"v":[{"k":[35201],"v":[{"k":[20570],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]},{"k":[24405],"v":[{"k":[34920],"v":[{"k":[21333],"v":[{"k":[65292],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[21518],"v":[{"k":[25353],"v":[{"k":[22238],"v":[{"k":[36710],"v":[{"k":[38190],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[21453],"v":[{"k":[24212],"v":[{"k":[37117],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[65292],"v":[{"k":[24517],"v":[{"k":[39035],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[25353],"v":[{"k":[38062],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20102,24120],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24863],"v":[{"k":[35273],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35265],"v":[{"k":[30340],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]},{"d":{"df":6,"dc":[[12,1],[21,1],[27,1],[48,1],[53,1],[63,1]]},"k":[19979,20869,21487,19978,38463,21518,27492,96,25105,27969,19968],"v":[{"k":[20998,20004,41],"v":[{"k":[36776],"v":[{"k":[29575],"v":[{"k":[30340],"v":[{"k":[23631],"v":[{"k":[24149],"v":[{"k":[65292],"v":[{"k":[30475],"v":[{"k":[30528],"v":[{"k":[24456],"v":[{"k":[38590],"v":[{"k":[21463],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31181],"v":[{"k":[20889],"v":[{"k":[27861],"v":[{"k":[37117],"v":[{"k":[33021],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[65292],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[12290],"v":[{"d":{"df":1,"dc":[[10,1]]}}]},{"k":[22791],"v":[{"k":[26696],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[21518],"v":[{"k":[32512],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[29256,12290,20195,20026,41],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[18,1]]}}]},{"d":{"df":1,"dc":[[19,1]]}},{"k":[30721],"v":[{"k":[23601],"v":[{"k":[20165],"v":[{"k":[20250],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[35821],"v":[{"k":[21477],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22242],"v":[{"k":[38431],"v":[{"k":[24120],"v":[{"k":[35268],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[30340],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[12290],"v":[{"k":[36339],"v":[{"k":[20986],"v":[{"k":[35268],"v":[{"k":[30697],"v":[{"k":[23450],"v":[{"k":[35268],"v":[{"k":[30697],"v":[{"k":[65292],"v":[{"k":[34218],"v":[{"k":[36164],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[19981],"v":[{"k":[35774],"v":[{"k":[27515],"v":[{"k":[30028],"v":[{"k":[38480],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[37324],"v":[{"k":[20113],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]},{"k":[65292,20351],"v":[{"k":[20320],"v":[{"k":[20250],"v":[{"k":[30475],"v":[{"k":[21040],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[24555],"v":[{"k":[25463],"v":[{"k":[38190],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[24490,22788],"v":[{"k":[29615],"v":[{"k":[65292],"v":[{"k":[30452],"v":[{"k":[33267],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]},{"k":[22270],"v":[{"k":[34920],"v":[{"k":[20026],"v":[{"k":[21453],"v":[{"k":[20363],"v":[{"k":[25945],"v":[{"k":[26448],"v":[{"k":[65292],"v":[{"k":[35813],"v":[{"k":[22270],"v":[{"k":[34920],"v":[{"k":[21453],"v":[{"k":[24212],"v":[{"k":[30340],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[23454],"v":[{"k":[26045],"v":[{"k":[36827],"v":[{"k":[24230],"v":[{"k":[12290],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[20013],"v":[{"k":[38388],"v":[{"k":[30528],"v":[{"k":[37325],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118,104,119],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[96],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[96],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[92,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[20204],"v":[{"k":[30446],"v":[{"k":[21069],"v":[{"k":[30340],"v":[{"k":[24320],"v":[{"k":[25918],"v":[{"k":[24179],"v":[{"k":[21488],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[31243],"v":[{"k":[22270],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]},{"k":[20010],"v":[{"k":[31245],"v":[{"k":[24494],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[30340],"v":[{"k":[23884],"v":[{"k":[22871],"v":[{"k":[20998],"v":[{"k":[39029],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[65288],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37327,21551,22797,26032,21629,35201,22836],"v":[{"k":[65288],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[4,1],[86,1]]},"k":[39033,25152],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[26377],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]},{"k":[31532,19978],"v":[{"d":{"df":1,"dc":[[15,1]]}},{"k":[38754],"v":[{"k":[30340],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[65292],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[26032],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[65292],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[21040],"v":[{"k":[24050],"v":[{"k":[26377],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23436],"v":[{"k":[25972],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[21517],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[20107],"v":[{"k":[24773],"v":[{"k":[35828],"v":[{"k":[19977],"v":[{"k":[36941],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]},{"k":[20877],"v":[{"k":[26469],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]},{"d":{"df":4,"dc":[[26,1],[32,1],[36,6],[61,1]]},"k":[37325,26041,22788,20027,29256,21457,29305,20540,26597,26032,34394,24320,27801,22238,21151,20135,31034,25913,20256,38454,31532,25968,36828,22522,32034,20195,20998,21508,39033,21452,26367,31471,45,21629,23376,65292,25554,19981,25152,35268,46,37197,21487,27844,25509,26102,21069,35805,24180,35774,38656,21028],"v":[{"k":[37327],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]},{"k":[26696,24335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[21152,19978],"v":[{"k":[23494],"v":[{"k":[24182],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[21040],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[20013],"v":[{"k":[65288],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20256],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]},{"k":[29702],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[33258],"v":[{"k":[34892],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[25105],"v":[{"k":[35273],"v":[{"k":[24471],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]},{"k":[26412],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[65292,20026,21495],"v":[{"k":[21363],"v":[{"k":[20415],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[19981],"v":[{"k":[36866],"v":[{"k":[37197],"v":[{"k":[25105],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[21457],"v":[{"k":[34892],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"k":[23567],"v":[{"k":[21040],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[21150],"v":[{"k":[20844],"v":[{"k":[32842],"v":[{"k":[22825],"v":[{"k":[36719],"v":[{"k":[20214],"v":[{"k":[31561],"v":[{"k":[65292],"v":[{"k":[26222],"v":[{"k":[36941],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[26080],"v":[{"k":[35299],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[19,1]]}},{"k":[37117,26159],"v":[{"k":[26159],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21704],"v":[{"k":[24076],"v":[{"k":[20540],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[36,1]]}}]}]}]},{"k":[34892],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[20102],"v":[{"k":[28378],"v":[{"k":[21160],"v":[{"k":[21319],"v":[{"k":[32423],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[33324],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[19979],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"k":[20307],"v":[{"k":[39564],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[21015],"v":[{"k":[20030],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24615],"v":[{"d":{"df":1,"dc":[[37,1]]},"k":[12290],"v":[{"d":{"df":2,"dc":[[7,1],[8,1]]}}]}]},{"k":[12290],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[35810],"v":[{"k":[24615,65292],"v":[{"k":[33021],"v":[{"k":[26356],"v":[{"k":[22909],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]},{"k":[30452],"v":[{"k":[25509],"v":[{"k":[29992],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]},{"k":[29305,20998],"v":[{"k":[24615],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[46],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]},{"k":[25903],"v":[{"k":[65292],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]},{"k":[25311],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[65288],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]},{"k":[30418],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[65292],"v":[{"k":[24744],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[32534],"v":[{"k":[20889],"v":[{"k":[20219],"v":[{"k":[24847],"v":[{"k":[30340],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[26597],"v":[{"k":[30475],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22797],"v":[{"k":[12290],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"d":{"df":1,"dc":[[36,1]]},"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]},{"k":[21697],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]},{"k":[20363],"v":[{"d":{"df":1,"dc":[[18,1]]},"k":[39033],"v":[{"k":[30446],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[21464],"v":[{"k":[20250],"v":[{"k":[23558],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[21453],"v":[{"k":[39304],"v":[{"k":[32473],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[36882],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[36855],"v":[{"k":[24785],"v":[{"k":[30340],"v":[{"k":[22320],"v":[{"k":[26041],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[27880],"v":[{"k":[37322],"v":[{"k":[20013],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27573],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[19968,20108,19977],"v":[{"k":[20010],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65292,12290],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[20013],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[34987],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[30340],"v":[{"k":[20803],"v":[{"k":[32032],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]},{"k":[20010],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65292],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[20013],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[34987],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[30340],"v":[{"k":[20803],"v":[{"k":[32032],"v":[{"k":[30340],"v":[{"k":[32034],"v":[{"k":[24341],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65292],"v":[{"k":[35843],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]},{"k":[32452],"v":[{"d":{"df":1,"dc":[[30,1]]},"k":[27604],"v":[{"k":[36739],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[31243],"v":[{"k":[26381,29256],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[21518],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[21482],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26412],"v":[{"k":[24211],"v":[{"k":[20013,35774],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"k":[32622],"v":[{"k":[20026],"v":[{"k":[21035],"v":[{"k":[21517],"v":[{"k":[21483],"v":[{"k":[20570],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26412],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[36,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]},{"k":[24341],"v":[{"k":[20013],"v":[{"k":[65292,23601],"v":[{"k":[21152,20063],"v":[{"k":[20837],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]},{"k":[34920],"v":[{"k":[31034],"v":[{"k":[35760],"v":[{"k":[20837],"v":[{"k":[20102],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[21382],"v":[{"k":[21490],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[25152],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30721],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[21040],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[24211],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25903],"v":[{"k":[65292,19978],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]},{"k":[21435],"v":[{"k":[65307],"v":[{"k":[21478],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"k":[36824],"v":[{"k":[21407],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[30340],"v":[{"k":[20316],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31181],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]},{"k":[21521],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[32465],"v":[{"k":[23450],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20195],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[65292],"v":[{"k":[20813],"v":[{"k":[21435],"v":[{"k":[20102],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[30340],"v":[{"k":[28902],"v":[{"k":[24700],"v":[{"k":[65292],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[24456],"v":[{"k":[39640],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21475],"v":[{"k":[21495],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[38,2]]}}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[20196],"v":[{"k":[34892],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[24405],"v":[{"k":[20013],"v":[{"k":[12290],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20063],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[21916],"v":[{"k":[22909],"v":[{"k":[26469],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[21518],"v":[{"k":[26597],"v":[{"k":[30475],"v":[{"k":[20840],"v":[{"k":[23616],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[33258],"v":[{"k":[34892],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[12290],"v":[{"k":[35760],"v":[{"k":[24471],"v":[{"k":[20570],"v":[{"k":[22909],"v":[{"k":[22791],"v":[{"k":[20221],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[20027],"v":[{"k":[39064],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[22952],"v":[{"k":[36319],"v":[{"k":[30528],"v":[{"k":[25945],"v":[{"k":[31243],"v":[{"k":[36208],"v":[{"k":[19968],"v":[{"k":[36941],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"d":{"df":1,"dc":[[62,3]]}}]}]}]},{"k":[24459],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"d":{"df":1,"dc":[[68,1]]}},{"k":[32622],"v":[{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[33021],"v":[{"k":[24615],"v":[{"k":[23567],"v":[{"k":[20043],"v":[{"k":[21448],"v":[{"k":[23567],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[38706],"v":[{"k":[44],"v":[{"k":[31614],"v":[{"k":[21517],"v":[{"k":[20132],"v":[{"k":[32473],"v":[{"k":[96],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[21518],"v":[{"k":[31471],"v":[{"k":[21453],"v":[{"k":[20195],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[44],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[31614],"v":[{"k":[21517],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21475],"v":[{"d":{"df":1,"dc":[[69,3]]}}]},{"k":[20505],"v":[{"k":[26159],"v":[{"k":[26377],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[30340],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]},{"k":[21518],"v":[{"k":[31471],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[21253],"v":[{"k":[25324],"v":[{"k":[23458],"v":[{"k":[25143],"v":[{"k":[31471],"v":[{"k":[65288],"v":[{"k":[21069],"v":[{"k":[65289],"v":[{"k":[21644],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[65288],"v":[{"k":[21518],"v":[{"k":[65289],"v":[{"k":[30340],"v":[{"k":[20998],"v":[{"k":[31163],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[26426],"v":[{"k":[26800],"v":[{"k":[37325],"v":[{"k":[22797],"v":[{"k":[21435],"v":[{"k":[20570],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[30340],"v":[{"k":[19978],"v":[{"k":[23618],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[38590],"v":[{"k":[20877],"v":[{"k":[26377],"v":[{"k":[31361],"v":[{"k":[30772],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36731],"v":[{"k":[20154],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]},{"k":[35745],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[27714],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]},{"k":[26029],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]},{"k":[20182,20013,23454],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[38750,31034,37197,65292,21442,21151,19968,34920,36164],"v":[{"k":[20851],"v":[{"k":[38190],"v":[{"k":[30340],"v":[{"k":[22240],"v":[{"k":[32032],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[21487,65306],"v":[{"k":[20197],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]}}]}]},{"k":[32622],"v":[{"k":[39033,37117],"v":[{"d":{"df":1,"dc":[[21,1]]}},{"k":[33021],"v":[{"k":[20445],"v":[{"k":[35777],"v":[{"k":[36890],"v":[{"k":[29992],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]},{"k":[25968],"v":[{"k":[25340],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[64,2]]}}]}]}]},{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]},{"k":[20123],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[35821],"v":[{"k":[27861],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12289],"v":[{"k":[27515],"v":[{"k":[24490],"v":[{"k":[29615],"v":[{"k":[12289],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[35843],"v":[{"k":[35797],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[24456],"v":[{"k":[38590],"v":[{"k":[25490],"v":[{"k":[26597],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32784],"v":[{"k":[19979],"v":[{"k":[24515],"v":[{"k":[26469],"v":[{"k":[21333],"v":[{"k":[27493],"v":[{"k":[36339],"v":[{"k":[20837],"v":[{"k":[26816],"v":[{"k":[26597],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[108,1]]}},{"k":[26009],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]},{"d":{"df":2,"dc":[[41,1],[63,1]]},"k":[65306,20960,65292,29992,37492,27599],"v":[{"d":{"df":2,"dc":[[7,1],[8,2]]}},{"k":[20010],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[28857],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]},{"k":[96,27979],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[12289],"v":[{"k":[96],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35797],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]},{"k":[21040],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[19968],"v":[{"k":[20010],"v":[{"k":[23376],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]},{"k":[26435],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[23646],"v":[{"k":[20110],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[23618],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[21015],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[37117],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]},{"k":[44,36825,23545,38656],"v":[{"k":[27491],"v":[{"k":[25991],"v":[{"k":[25165],"v":[{"k":[21018],"v":[{"k":[21018],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[22256],"v":[{"k":[25200],"v":[{"k":[20102],"v":[{"k":[25105],"v":[{"k":[24456],"v":[{"k":[20037],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20110],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[31471],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[21451],"v":[{"k":[22909],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[32500],"v":[{"k":[24230],"v":[{"k":[21435],"v":[{"k":[34913],"v":[{"k":[37327],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30424],"v":[{"k":[65288],"v":[{"k":[25163],"v":[{"k":[24863],"v":[{"k":[12289],"v":[{"k":[38190],"v":[{"k":[31243],"v":[{"k":[31561],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]},{"k":[25511,21457],"v":[{"k":[26495],"v":[{"k":[65288],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[22810],"v":[{"k":[25351],"v":[{"k":[25163],"v":[{"k":[21183],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[33,1]]}}]},{"k":[22495],"v":[{"k":[12289],"v":[{"k":[20142],"v":[{"k":[24230],"v":[{"k":[65288],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[39046],"v":[{"k":[22495],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[37325],"v":[{"k":[28857],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24335,26381],"v":[{"k":[26426],"v":[{"d":{"df":1,"dc":[[3,1]]},"k":[30340],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"k":[20004],"v":[{"k":[21488],"v":[{"k":[22823],"v":[{"k":[23631],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[21512],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21153],"v":[{"k":[22120],"v":[{"k":[44,20840],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]},{"k":[37096],"v":[{"k":[19978],"v":[{"k":[25253],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26524],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[33616,20986,35839],"v":[{"d":{"df":2,"dc":[[3,1],[13,1]]},"k":[37197,20351,25554,30340,36825],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[29992],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]},{"k":[23454],"v":[{"k":[29616],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]},{"k":[20010],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]},{"k":[65292],"v":[{"k":[33021],"v":[{"k":[22823],"v":[{"k":[24133],"v":[{"k":[38477],"v":[{"k":[20302],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[30340],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[39057],"v":[{"k":[27425],"v":[{"k":[65292],"v":[{"k":[32463],"v":[{"k":[24120],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25975],"v":[{"k":[34893],"v":[{"k":[19981],"v":[{"k":[30041],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]},{"d":{"df":6,"dc":[[7,1],[9,2],[43,1],[54,1],[59,1],[97,1]]},"k":[107,51,46,44,48,93,100,56],"v":[{"d":{"df":1,"dc":[[3,2]]},"k":[65292],"v":[{"k":[27491],"v":[{"k":[25152],"v":[{"k":[35859],"v":[{"k":[20080],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[22120],"v":[{"k":[36865],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[65292],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[21488],"v":[{"k":[24335],"v":[{"k":[26426],"v":[{"k":[30340],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[22120],"v":[{"k":[26159],"v":[{"k":[30495],"v":[{"k":[30340],"v":[{"k":[22909],"v":[{"k":[12290],"v":[{"k":[24403],"v":[{"k":[28982],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49,56],"v":[{"d":{"df":1,"dc":[[6,1]]},"k":[49],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"d":{"df":1,"dc":[[10,1]]}}]},{"d":{"df":9,"dc":[[7,1],[26,1],[45,1],[71,1],[74,1],[76,1],[90,1],[92,1],[108,1]]},"k":[48,56,26032,25104,22833],"v":[{"k":[109,46],"v":[{"d":{"df":1,"dc":[[40,2]]}},{"k":[48],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[24314],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21151],"v":[{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[36133],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]},{"d":{"df":5,"dc":[[15,1],[31,1],[33,1],[43,1],[48,7]]},"k":[55],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[71,1]]},"k":[48,44,51,37],"v":[{"k":[48,107,44],"v":[{"d":{"df":2,"dc":[[17,1],[69,1]]},"k":[44],"v":[{"d":{"df":2,"dc":[[17,1],[57,1]]}}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"d":{"df":2,"dc":[[85,1],[106,1]]}}]},{"k":[48],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[44],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[65292],"v":[{"k":[21363],"v":[{"k":[20837],"v":[{"k":[32844],"v":[{"k":[34218],"v":[{"k":[27700],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]},{"k":[46,59],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[33,4]]}}]},{"d":{"df":1,"dc":[[43,3]]}},{"d":{"df":1,"dc":[[95,1]]}}]},{"d":{"df":1,"dc":[[3,1]]}},{"k":[26159,26041,21916,20801,24314,25512,21160,33021,25903,25191,36866,36275,29992,35201,38656,23384,32463,23569,36731,36807,20165,25026,26029],"v":[{"k":[38382,39046],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]},{"k":[23548],"v":[{"k":[30524],"v":[{"k":[30606],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[21046],"v":[{"k":[24230],"v":[{"k":[19981],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[20320],"v":[{"k":[26102],"v":[{"k":[36816],"v":[{"k":[19981],"v":[{"k":[27982],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[22312],"v":[{"k":[32972],"v":[{"k":[21518],"v":[{"k":[25630],"v":[{"k":[23567],"v":[{"k":[21160],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[38065],"v":[{"k":[21019],"v":[{"k":[19994],"v":[{"k":[36164],"v":[{"k":[37329],"v":[{"k":[19981],"v":[{"k":[22815],"v":[{"k":[22810],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20415],"v":[{"k":[25658,20849],"v":[{"k":[24102],"v":[{"k":[65288],"v":[{"k":[25105],"v":[{"k":[25644],"v":[{"k":[36807],"v":[{"k":[20004],"v":[{"k":[27425],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[35201],"v":[{"k":[39069],"v":[{"k":[22806],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[19968],"v":[{"k":[21488],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[31616],"v":[{"k":[30452],"v":[{"k":[35201],"v":[{"k":[20102],"v":[{"k":[32769],"v":[{"k":[21629],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20139],"v":[{"k":[65292],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[20250],"v":[{"k":[25265],"v":[{"k":[30528],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[23601],"v":[{"k":[36827],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[23460],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[25343],"v":[{"k":[30528],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[65288],"v":[{"k":[21644],"v":[{"k":[31508],"v":[{"k":[65289],"v":[{"k":[36827],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[23460],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27426],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[35768],"v":[{"k":[31354],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]},{"k":[35758],"v":[{"k":[23433,30340],"v":[{"k":[35013],"v":[{"k":[96],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[26469],"v":[{"k":[36716],"v":[{"k":[35793],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[31471],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[44],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[26368],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20351],"v":[{"k":[29992],"v":[{"k":[22330],"v":[{"k":[26223],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]},{"k":[33616],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]},{"k":[39033],"v":[{"k":[30446],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]},{"k":[20165,34987,24314,31227,20197,25351,35753,22909,21482,29992],"v":[{"k":[20570],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[25644],"v":[{"k":[36816],"v":[{"k":[30340],"v":[{"k":[26426],"v":[{"k":[22120],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[32,1]]}},{"k":[31435],"v":[{"k":[20108],"v":[{"k":[32423],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[21160],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[96],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[96],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[44],"v":[{"k":[20687],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23450],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[21495],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]},{"k":[22242],"v":[{"k":[38431],"v":[{"k":[25104],"v":[{"k":[21592],"v":[{"k":[36898],"v":[{"k":[24180],"v":[{"k":[36807],"v":[{"k":[33410],"v":[{"k":[31168],"v":[{"k":[31119],"v":[{"k":[21033],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[24635],"v":[{"k":[26159],"v":[{"k":[22312],"v":[{"k":[21516],"v":[{"k":[23398],"v":[{"k":[26379],"v":[{"k":[21451],"v":[{"k":[38754],"v":[{"k":[21069],"v":[{"k":[35201],"v":[{"k":[20302],"v":[{"k":[19979],"v":[{"k":[22836],"v":[{"k":[26469],"v":[{"k":[12290],"v":[{"k":[20570],"v":[{"k":[33391],"v":[{"k":[24515],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[65292],"v":[{"k":[32473],"v":[{"k":[36275],"v":[{"k":[20154],"v":[{"k":[25991],"v":[{"k":[20851],"v":[{"k":[24576],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39640],"v":[{"k":[39579],"v":[{"k":[36828],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]},{"k":[23558],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[28857],"v":[{"k":[25918],"v":[{"k":[22312],"v":[{"k":[32844],"v":[{"k":[19994],"v":[{"k":[25216],"v":[{"k":[33021],"v":[{"k":[30340],"v":[{"k":[25552],"v":[{"k":[21319],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[24615],"v":[{"k":[26684],"v":[{"k":[12289],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[12289],"v":[{"k":[27807],"v":[{"k":[36890],"v":[{"k":[21327],"v":[{"k":[20316],"v":[{"k":[12289],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[26041],"v":[{"k":[21521],"v":[{"k":[31561],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[36275],"v":[{"k":[20043],"v":[{"k":[22788],"v":[{"k":[26377],"v":[{"k":[21017],"v":[{"k":[25913],"v":[{"k":[20043],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[21017],"v":[{"k":[21152],"v":[{"k":[21193],"v":[{"k":[12290],"v":[{"k":[23601],"v":[{"k":[20687],"v":[{"k":[23398],"v":[{"k":[26657],"v":[{"k":[37324],"v":[{"k":[25552],"v":[{"k":[20513],"v":[{"k":[30340],"v":[{"k":[20840],"v":[{"k":[38754],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[19968],"v":[{"k":[26679],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[20043],"v":[{"k":[22806],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[8220],"v":[{"k":[20559],"v":[{"k":[31185],"v":[{"k":[8221],"v":[{"k":[29616],"v":[{"k":[35937],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[110,1]]}}]},{"k":[25345],"v":[{"d":{"df":2,"dc":[[28,1],[37,1]]}}]},{"k":[34892],"v":[{"k":[36825],"v":[{"k":[21477],"v":[{"k":[44],"v":[{"k":[36339],"v":[{"k":[21040],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[44],"v":[{"k":[24448],"v":[{"k":[21518],"v":[{"k":[30340],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[22343],"v":[{"k":[19981],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21512],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[35843],"v":[{"k":[35797],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22312],"v":[{"k":[20110],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[20256],"v":[{"k":[36882],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[20174,32673,25214,30456,29992],"v":[{"k":[21035],"v":[{"k":[22788],"v":[{"k":[33719],"v":[{"k":[24471],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"k":[44],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24917],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]},{"k":[20219],"v":[{"k":[20309],"v":[{"k":[20511],"v":[{"k":[21475],"v":[{"k":[12290],"v":[{"k":[21542],"v":[{"k":[21017],"v":[{"k":[21482],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[38634],"v":[{"k":[19978],"v":[{"k":[21152],"v":[{"k":[38684],"v":[{"k":[12290],"v":[{"k":[20026],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[20320],"v":[{"k":[19981],"v":[{"k":[20540],"v":[{"k":[38065],"v":[{"k":[65311],"v":[{"k":[24515],"v":[{"k":[24577],"v":[{"k":[24456],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[65292],"v":[{"k":[27491],"v":[{"k":[35270],"v":[{"k":[37329],"v":[{"k":[38065],"v":[{"k":[65292],"v":[{"k":[36731],"v":[{"k":[35270],"v":[{"k":[37329],"v":[{"k":[38065],"v":[{"k":[65292],"v":[{"k":[23427],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[38468],"v":[{"k":[23646],"v":[{"k":[21697],"v":[{"k":[12290],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[33258],"v":[{"k":[36523],"v":[{"k":[30340],"v":[{"k":[32032],"v":[{"k":[36136],"v":[{"k":[65292],"v":[{"k":[32416],"v":[{"k":[27491],"v":[{"k":[24515],"v":[{"k":[24577],"v":[{"k":[65292],"v":[{"k":[25193],"v":[{"k":[20805],"v":[{"k":[25216],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[20214],"v":[{"k":[38590],"v":[{"k":[20107],"v":[{"k":[12290],"v":[{"k":[21315],"v":[{"k":[19975],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[27762],"v":[{"k":[27762],"v":[{"k":[20110],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[25226],"v":[{"k":[25163],"v":[{"k":[19978],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20570],"v":[{"k":[22909],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[25226],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[25226],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[25910],"v":[{"k":[20837],"v":[{"k":[24590],"v":[{"k":[20040],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[38477],"v":[{"k":[20302],"v":[{"k":[21602],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20449],"v":[{"k":[26159],"v":[{"k":[37329],"v":[{"k":[23376],"v":[{"k":[24635],"v":[{"k":[20250],"v":[{"k":[21457],"v":[{"k":[20809],"v":[{"k":[30340],"v":[{"k":[36825],"v":[{"k":[31181],"v":[{"k":[20667],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[23601],"v":[{"k":[24471],"v":[{"k":[25215],"v":[{"k":[25285],"v":[{"k":[36131],"v":[{"k":[20219],"v":[{"k":[12290],"v":[{"k":[117],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]}}]},{"k":[35201],"v":[{"k":[20889],"v":[{"k":[20837],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"k":[22312],"v":[{"k":[38169,21019],"v":[{"k":[35823],"v":[{"d":{"df":1,"dc":[[81,1]]}}]},{"k":[24314],"v":[{"k":[65288],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[26159],"v":[{"k":[22312],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36807],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[26159],"v":[{"k":[31449],"v":[{"k":[19981],"v":[{"k":[20303],"v":[{"k":[33050],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20844,20225],"v":[{"k":[21496],"v":[{"k":[30340],"v":[{"k":[32844],"v":[{"k":[20301],"v":[{"k":[26187],"v":[{"k":[21319],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[26377],"v":[{"k":[24180],"v":[{"k":[38480],"v":[{"k":[35201],"v":[{"k":[27714],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[34218],"v":[{"k":[36164],"v":[{"k":[30340],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[19968],"v":[{"k":[33324],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[24046],"v":[{"k":[24322],"v":[{"k":[21270],"v":[{"k":[19981],"v":[{"k":[22826],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19994],"v":[{"k":[22312],"v":[{"k":[27599],"v":[{"k":[24180],"v":[{"k":[35843],"v":[{"k":[34218],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[37117],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[39033],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[8212],"v":[{"k":[8212],"v":[{"k":[20154],"v":[{"k":[21592],"v":[{"k":[21517],"v":[{"k":[39069],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[12289],"v":[{"k":[35843],"v":[{"k":[34218],"v":[{"k":[24133],"v":[{"k":[24230],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[12290],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[25105],"v":[{"k":[35762],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[26696],"v":[{"k":[20363],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35328],"v":[{"k":[25918],"v":[{"k":[24323],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[65292],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[20570],"v":[{"k":[20248],"v":[{"k":[31168],"v":[{"k":[21040],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[21462],"v":[{"k":[20195],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[22815],"v":[{"k":[39640],"v":[{"k":[25928],"v":[{"k":[12289],"v":[{"k":[39640],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[33021],"v":[{"k":[22312],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20043],"v":[{"k":[20313],"v":[{"k":[32473],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[21551],"v":[{"k":[21457],"v":[{"k":[65292],"v":[{"k":[24110],"v":[{"k":[21161],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[38420],"v":[{"k":[24605],"v":[{"k":[32500],"v":[{"k":[12289],"v":[{"k":[25913],"v":[{"k":[21892],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[12289],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[12289],"v":[{"k":[25552],"v":[{"k":[21319],"v":[{"k":[21697],"v":[{"k":[36136],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35774],"v":[{"k":[35745],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[20811],"v":[{"k":[26381],"v":[{"k":[30701],"v":[{"k":[26495],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]},{"d":{"df":17,"dc":[[3,1],[9,3],[15,2],[26,1],[27,2],[33,1],[39,1],[43,18],[45,1],[48,3],[49,1],[52,2],[57,4],[63,11],[64,7],[76,2],[79,1]]},"k":[61,51,120,34,114],"v":[{"d":{"df":7,"dc":[[6,1],[10,6],[15,1],[23,1],[27,3],[48,2],[63,4]]}},{"k":[55],"v":[{"k":[109],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"d":{"df":3,"dc":[[45,2],[59,1],[82,1]]}},{"k":[37],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[37],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[37],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[42],"v":[{"k":[58],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[111,114],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[7,2],[45,2]]},"k":[105,101,111,109,97,98,114,103,102,58,110,51,115,112,104,117],"v":[{"k":[115,102,100,97,114,101],"v":[{"k":[112,97,116],"v":[{"k":[108,97],"v":[{"k":[97],"v":[{"k":[121],"v":[{"d":{"df":2,"dc":[[3,1],[45,1]]}}]}]},{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]},{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[4,1],[88,3]]},"k":[58,100],"v":[{"d":{"df":1,"dc":[[26,1]]}},{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[46,1],[69,1]]},"k":[47,34],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]},{"k":[102],"v":[{"k":[101,119],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[10,1]]},"k":[44],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]},{"k":[108,103],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[11,1],[81,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[43,5]]}}]}]}]}]},{"d":{"df":2,"dc":[[42,1],[53,4]]},"k":[101,46,61],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105,121],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58,44],"v":[{"d":{"df":1,"dc":[[41,1]]}},{"d":{"df":2,"dc":[[53,2],[106,1]]}}]}]}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36,126],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[119],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]},{"k":[109,115,112,108,118,98,102,99,97,101,110],"v":[{"k":[111],"v":[{"d":{"df":3,"dc":[[3,1],[43,4],[63,1]]},"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]},{"k":[99,49,50,51,52],"v":[{"d":{"df":1,"dc":[[6,2]]},"k":[39,114],"v":[{"k":[93],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[105],"v":[{"k":[112,98],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39,58],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,2]]}}]},{"d":{"df":1,"dc":[[81,2]]}}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[43,2]]},"k":[40,105],"v":[{"k":[39],"v":[{"k":[97,108,100],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[43,3]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[43,2]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[43,2]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[116,114,108,101],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[6,2]]},"k":[59],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[45,5]]},"k":[101,109,58,105,46],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[41,1]]}}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,2]]}}]}]}]},{"d":{"df":1,"dc":[[45,2]]}},{"k":[110],"v":[{"k":[103],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[115],"v":[{"k":[104],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]},{"k":[101,97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[46,105,40,112],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[91],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[101,34],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"d":{"df":3,"dc":[[66,2],[67,1],[68,1]]},"k":[105,116,101,58,115],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":3,"dc":[[19,1],[69,1],[76,1]]},"k":[46,108,105],"v":[{"d":{"df":1,"dc":[[19,1]]},"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[62,4]]}}]}]}]},{"k":[110,100],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,4]]}}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[76,3]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115,58],"v":[{"d":{"df":1,"dc":[[63,3]]},"k":[58,46],"v":[{"d":{"df":1,"dc":[[26,1]]}},{"k":[106,116],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,2]]}}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[65292],"v":[{"k":[65288,34892],"v":[{"k":[21333],"v":[{"k":[20803],"v":[{"k":[65289],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[39537],"v":[{"k":[21160],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"k":[39537],"v":[{"k":[21160],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[58,1]]}},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[68,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[68,2]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,2]]},"k":[117,111,105,45],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[19,1]]}}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[33,1]]},"k":[40],"v":[{"k":[102,116],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[35,3]]}}]}]},{"k":[115],"v":[{"k":[114],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[101,97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":3,"dc":[[20,1],[39,2],[77,1]]},"k":[46,59],"v":[{"k":[112,114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[20,1],[39,1]]},"k":[59],"v":[{"d":{"df":3,"dc":[[20,1],[39,1],[77,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115,106],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[20,1],[39,1]]},"k":[40],"v":[{"k":[39,105,49],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[39,1]]},"k":[40],"v":[{"k":[39,101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"d":{"df":8,"dc":[[21,3],[23,3],[34,2],[45,1],[63,1],[65,2],[88,1],[108,10]]},"k":[58,41,44,96,46,100,115,101,109,118,95],"v":[{"d":{"df":2,"dc":[[23,1],[68,1]]}},{"k":[34],"v":[{"d":{"df":1,"dc":[[34,1]]}}]},{"d":{"df":1,"dc":[[35,1]]}},{"d":{"df":1,"dc":[[57,1]]}},{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[64,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]},{"k":[114,110],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[41],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[61],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[59],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[59],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[61],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[59],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[61],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[75,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,10]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[23,1]]},"k":[58,105],"v":[{"d":{"df":1,"dc":[[23,1]]}},{"k":[109],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[53],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[33,1]]}}]},{"k":[121],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]},{"d":{"df":2,"dc":[[40,1],[88,1]]},"k":[99,109,110,101,117,115,108],"v":[{"k":[107,117,116,115,49,98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[34,3]]},"k":[65288,65289,65292,45],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[23481],"v":[{"k":[22120],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[37027],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[3,1]]}},{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20687],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[34,3]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[12,1],[20,2]]},"k":[46,98,41,97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[121],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[20,2]]}},{"k":[41],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[33,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]},{"k":[105,58],"v":[{"k":[102],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[42,2]]},"k":[45],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[42,2]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,2]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[114],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115,110,98,116,58],"v":[{"d":{"df":1,"dc":[[15,2]]},"k":[46,58],"v":[{"k":[112,108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[46,36],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[40],"v":[{"k":[51],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,4]]}}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]},{"k":[101,39],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[39,58,44,33],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"d":{"df":1,"dc":[[21,1]]}},{"d":{"df":1,"dc":[[43,2]]}},{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[116],"v":[{"d":{"df":2,"dc":[[31,1],[45,1]]}}]}]},{"k":[115],"v":[{"d":{"df":2,"dc":[[19,1],[88,1]]}}]},{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115,99],"v":[{"k":[97],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[27,1]]},"k":[40],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[29,1]]},"k":[40],"v":[{"k":[34],"v":[{"k":[115,104,49],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]},{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[33],"v":[{"k":[95],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[41,120,39],"v":[{"d":{"df":1,"dc":[[32,4]]}},{"k":[41],"v":[{"d":{"df":1,"dc":[[32,4]]}}]},{"k":[102],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[32,2]]},"k":[59,46],"v":[{"d":{"df":1,"dc":[[32,1]]}},{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[122,115],"v":[{"d":{"df":1,"dc":[[5,3]]}},{"d":{"df":1,"dc":[[10,1]]}}]},{"k":[116,111,121,105,115],"v":[{"k":[101,97],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[40,102,61,46],"v":[{"k":[41,110,116,100],"v":[{"d":{"df":5,"dc":[[10,6],[18,1],[21,1],[64,1],[85,1]]},"k":[41,59],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[24,1]]}}]},{"d":{"df":1,"dc":[[18,1]]}}]},{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[10,3]]}}]}]},{"k":[41],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]},{"k":[36],"v":[{"k":[40],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":2,"dc":[[75,1],[76,2]]}}]}]}]}]}]}]},{"d":{"df":4,"dc":[[11,1],[45,1],[63,8],[76,2]]},"k":[58,44,45,59,46,97,117,108,116],"v":[{"d":{"df":4,"dc":[[15,1],[21,1],[69,2],[106,1]]}},{"d":{"df":1,"dc":[[15,1]]}},{"k":[108],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,6]]}},{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,5]]},"k":[40],"v":[{"d":{"df":1,"dc":[[79,2]]},"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[41,46],"v":[{"d":{"df":1,"dc":[[81,1]]}},{"k":[105,115],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[49,48],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[49,51,56],"v":[{"k":[54],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]},{"k":[50],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]},{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]},{"k":[115,65288],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[26080],"v":[{"k":[20250],"v":[{"k":[26085],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]},{"k":[104],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]},{"d":{"df":5,"dc":[[11,1],[12,6],[52,2],[65,1],[81,1]]},"k":[46,95,58,44],"v":[{"k":[100,115,109,103,97,114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[39],"v":[{"k":[97,112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[40],"v":[{"k":[123,41],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101,105],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[97,112,117],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[116,39],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[106],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[13,1]]}},{"d":{"df":1,"dc":[[81,2]]}}]},{"k":[105,111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114,110],"v":[{"d":{"df":1,"dc":[[15,1]]},"k":[46],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[52,2]]}}]}]}]},{"k":[112],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[24,1]]},"k":[46],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[112],"v":[{"k":[52],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[40,1]]},"k":[107],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[98],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]},"k":[92],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[65289,92],"v":[{"k":[65292],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[22312],"v":[{"k":[27492],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[22841],"v":[{"k":[20013],"v":[{"k":[21491],"v":[{"k":[38190],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,112],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[92],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[92],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[54,1]]},"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"d":{"df":2,"dc":[[54,1],[55,1]]},"k":[41],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[61],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[98,122],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]},{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[107],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49,50],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[103,115],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[53],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[103,115],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"k":[19977,20010,27493],"v":[{"k":[24180],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[37197],"v":[{"k":[21512],"v":[{"k":[39134],"v":[{"k":[21033],"v":[{"k":[28006],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[24211,29992,36335,19981,30340],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[30340],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"k":[30456],"v":[{"k":[21516],"v":[{"k":[65292],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25143],"v":[{"k":[65292],"v":[{"k":[19977],"v":[{"k":[20010],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[12290],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30001],"v":[{"k":[30340],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[26465],"v":[{"k":[20214],"v":[{"k":[19968],"v":[{"k":[26679],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21516],"v":[{"k":[30340],"v":[{"k":[32456],"v":[{"k":[32467],"v":[{"k":[28857],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21319],"v":[{"k":[32423],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]},{"k":[21512],"v":[{"k":[24182],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]},{"k":[31034],"v":[{"k":[22120,23494],"v":[{"d":{"df":1,"dc":[[3,1]]},"k":[21452,20135,65292],"v":[{"k":[23631],"v":[{"k":[21150],"v":[{"k":[20844],"v":[{"k":[12290],"v":[{"k":[23450],"v":[{"k":[21046],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]},{"k":[21697],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]},{"k":[30721],"v":[{"k":[25353],"v":[{"k":[38062],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[39072],"v":[{"k":[20498],"v":[{"k":[65292],"v":[{"k":[20687],"v":[{"k":[36825],"v":[{"k":[31181],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[19981],"v":[{"k":[20180],"v":[{"k":[32454],"v":[{"k":[30475],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[37117],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[23519],"v":[{"k":[35273],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":9,"dc":[[7,1],[8,2],[27,1],[30,1],[33,1],[48,1],[64,1],[96,1],[106,1]]},"k":[52,54,51,46,41,44,49,50,55,93,48,31186,53,103,107],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[103,56,54,52],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"d":{"df":1,"dc":[[40,1]]}},{"k":[55],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]},{"d":{"df":1,"dc":[[10,1]]}},{"k":[55,49],"v":[{"k":[57],"v":[{"d":{"df":1,"dc":[[94,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]},{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":5,"dc":[[26,1],[45,1],[74,1],[90,1],[92,1]]},"k":[22833],"v":[{"k":[36133],"v":[{"d":{"df":1,"dc":[[62,3]]}}]}]},{"d":{"df":1,"dc":[[27,1]]}},{"d":{"df":2,"dc":[[31,1],[48,5]]}},{"k":[48],"v":[{"k":[51],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[40,2]]}}]}]}]},{"k":[52],"v":[{"k":[57],"v":[{"k":[57],"v":[{"k":[56],"v":[{"k":[51],"v":[{"k":[54],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[40,2]]}}]}]}]}]}]}]}]},{"k":[56],"v":[{"k":[57],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"d":{"df":1,"dc":[[48,1]]}},{"k":[48],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]},{"d":{"df":1,"dc":[[85,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[91,1]]}}]},{"d":{"df":1,"dc":[[97,2]]}}]},{"k":[51,26242,30446,119,19968,25512,31867,21629,99,20855,24050,31995,20165,117,109,24517,21487,31034,24180,35760],"v":[{"k":[50],"v":[{"k":[92],"v":[{"k":[42],"v":[{"k":[50],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]},{"k":[26410],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[21512],"v":[{"k":[36866],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]},{"k":[21069],"v":[{"k":[20063],"v":[{"k":[20165],"v":[{"k":[26377],"v":[{"k":[21326],"v":[{"k":[20026],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]},{"k":[115,105],"v":[{"k":[108],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[37324],"v":[{"k":[20250],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]},{"k":[20010],"v":[{"k":[22522],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[33616],"v":[{"k":[65289],"v":[{"k":[65306,35775],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[38382],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]},{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]},{"k":[20196],"v":[{"k":[34892],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]},{"k":[104],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]},{"k":[20307],"v":[{"k":[35265],"v":[{"d":{"df":1,"dc":[[35,3]]}}]}]},{"k":[21487],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]},{"k":[32479],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[30417],"v":[{"k":[25511],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}},{"k":[105],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]},{"k":[22791],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]},{"k":[20197],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[24050,29616],"v":[{"k":[26377],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[20307],"v":[{"k":[31995],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[24179],"v":[{"k":[21488],"v":[{"k":[19982],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[24046],"v":[{"k":[24322],"v":[{"k":[12290],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[20197],"v":[{"k":[21450],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[31456],"v":[{"k":[33410],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[65292],"v":[{"k":[20174,26681],"v":[{"k":[23448],"v":[{"k":[32593],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"k":[26368],"v":[{"k":[26032],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[32534],"v":[{"k":[35793],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25454],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[21644],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[32422],"v":[{"k":[26463],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34218],"v":[{"d":{"df":1,"dc":[[95,2]]}}]},{"k":[24405],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[26377],"v":[{"k":[36857],"v":[{"k":[21487],"v":[{"k":[24490],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[65292],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[22266],"v":[{"k":[23450],"v":[{"k":[20540],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[96],"v":[{"k":[49],"v":[{"k":[96],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23384,21551],"v":[{"k":[26465,46,20043,27844],"v":[{"k":[65292],"v":[{"k":[25972],"v":[{"k":[20307],"v":[{"k":[19979],"v":[{"k":[26469],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[91,1]]}},{"k":[31867],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]},{"k":[38706],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]},{"k":[21160],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]},{"d":{"df":13,"dc":[[3,1],[7,1],[8,1],[9,2],[40,1],[48,2],[54,1],[57,1],[62,2],[73,1],[77,1],[101,1],[109,1]]},"k":[58,46,41,44,65306,110,48,51,93,50,37,49,100,45,65289,65288,39,47,54,65292],"v":[{"d":{"df":1,"dc":[[58,1]]},"k":[50,39],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"d":{"df":23,"dc":[[7,1],[15,1],[26,4],[36,1],[39,1],[42,1],[45,1],[62,1],[63,1],[64,1],[67,1],[71,1],[74,2],[75,1],[76,3],[88,1],[89,1],[90,1],[92,2],[99,1],[105,2],[106,2],[108,1]]},"k":[50,21457,20462,22833,25104,25197,36134,38598,31185,25928,36136,32670,20854],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[40,2]]}}]},{"k":[24067],"v":[{"d":{"df":1,"dc":[[50,1]]}}]},{"k":[25913],"v":[{"k":[96],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36133],"v":[{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[21151],"v":[{"k":[65288],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[19979],"v":[{"k":[32423],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]},{"k":[25913],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[24459],"v":[{"k":[19981],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21495],"v":[{"k":[43],"v":[{"k":[23494],"v":[{"k":[38053],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]},{"k":[25104],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]},{"k":[23398],"v":[{"k":[20005],"v":[{"k":[35880],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]},{"k":[29575],"v":[{"k":[20302],"v":[{"k":[19979],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]},{"k":[37327],"v":[{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[24623],"v":[{"d":{"df":1,"dc":[[100,1]]}}]},{"k":[20182],"v":[{"k":[19982],"v":[{"k":[20250],"v":[{"k":[32454],"v":[{"k":[21017],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[8,1]]},"k":[59],"v":[{"d":{"df":2,"dc":[[9,1],[79,1]]}}]},{"d":{"df":6,"dc":[[8,1],[31,1],[33,6],[48,6],[63,1],[85,2]]}},{"d":{"df":1,"dc":[[9,1]]},"k":[29992,112],"v":[{"k":[25143],"v":[{"k":[26080],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"d":{"df":1,"dc":[[62,3]]},"k":[65288],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[43],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]},{"d":{"df":4,"dc":[[45,1],[48,1],[101,1],[109,2]]},"k":[56,48,52,54,44,50,49,37,107],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":1,"dc":[[63,1]]},"k":[48],"v":[{"k":[59,48,41],"v":[{"d":{"df":2,"dc":[[11,2],[81,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]},{"k":[59],"v":[{"d":{"df":2,"dc":[[15,2],[78,1]]}}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[48],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"d":{"df":1,"dc":[[48,2]]}},{"k":[39,41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,3]]}}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[52,3]]}}]}]},{"d":{"df":2,"dc":[[82,1],[88,1]]}},{"k":[30340],"v":[{"k":[24179],"v":[{"k":[22343],"v":[{"k":[28072],"v":[{"k":[24133],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[95,1]]}}]},{"k":[48],"v":[{"k":[54],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]},{"d":{"df":2,"dc":[[30,1],[48,1]]},"k":[41],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[48,1]]},"k":[49,56,93,59,107],"v":[{"k":[103,48],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"k":[53],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[55],"v":[{"k":[54],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[48,2]]}}]},{"d":{"df":1,"dc":[[84,6]]}},{"d":{"df":1,"dc":[[95,1]]}}]},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[48,1]]},"k":[52,51,44],"v":[{"k":[53],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[52],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[48,2]]}}]},{"d":{"df":2,"dc":[[43,4],[56,2]]}},{"k":[53],"v":[{"d":{"df":1,"dc":[[62,1]]},"k":[46],"v":[{"k":[19978],"v":[{"k":[32423],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[65292],"v":[{"k":[19978],"v":[{"k":[19978],"v":[{"k":[32423],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[65292],"v":[{"k":[26681],"v":[{"k":[32423],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[30340],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[21592],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[62,2]]}},{"k":[26410],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[52],"v":[{"d":{"df":1,"dc":[[67,1]]}}]},{"d":{"df":1,"dc":[[95,1]]},"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[106,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]},{"k":[31105,22914],"v":[{"k":[27490],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]},{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]},{"k":[24038,32423,65289,20043,20154],"v":[{"k":[21491],"v":[{"k":[30340],"v":[{"k":[20215],"v":[{"k":[26684],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"k":[39030],"v":[{"k":[37197],"v":[{"k":[36149],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[26159],"v":[{"k":[30495],"v":[{"k":[24515],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[24378],"v":[{"k":[24717],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"k":[25285],"v":[{"k":[24515],"v":[{"k":[25955],"v":[{"k":[28909],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[22823],"v":[{"k":[23631],"v":[{"k":[30475],"v":[{"k":[30528],"v":[{"k":[24456],"v":[{"k":[29245],"v":[{"k":[65292],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[30495],"v":[{"k":[30340],"v":[{"k":[24456],"v":[{"k":[39640],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]},{"d":{"df":1,"dc":[[95,2]]}},{"k":[22810],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[36825],"v":[{"k":[19968],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[30340],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[22810],"v":[{"k":[20184],"v":[{"k":[20986],"v":[{"k":[20123],"v":[{"k":[31934],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[33618],"v":[{"k":[24223],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[40723],"v":[{"k":[25484],"v":[{"k":[22768],"v":[{"k":[21568],"v":[{"k":[22768],"v":[{"k":[38663],"v":[{"k":[22825],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]},{"k":[21183],"v":[{"k":[65306,19982],"v":[{"d":{"df":1,"dc":[[3,2]]}},{"d":{"df":1,"dc":[[3,1]]}}]}]},{"k":[30005],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[19981],"v":[{"k":[24120],"v":[{"k":[35265],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[22823],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[26377],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[20445],"v":[{"k":[23384],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[27573],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[22312],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[30005],"v":[{"k":[21147],"v":[{"k":[19981],"v":[{"k":[31283],"v":[{"k":[23450],"v":[{"k":[20851],"v":[{"k":[26426],"v":[{"k":[20102],"v":[{"k":[20960],"v":[{"k":[27425],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[24456],"v":[{"k":[21520],"v":[{"k":[34880],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21435,20102],"v":[{"k":[20197],"v":[{"k":[19978],"v":[{"k":[25105],"v":[{"k":[22312],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[21097],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[20248],"v":[{"k":[28857],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[26,1],[74,1],[92,1]]},"k":[22312,96],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"k":[30028],"v":[{"k":[38754],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[26465],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[27983],"v":[{"k":[35272],"v":[{"k":[22120],"v":[{"k":[21491],"v":[{"k":[19978],"v":[{"k":[35282],"v":[{"k":[23567],"v":[{"k":[22270],"v":[{"k":[26631],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[26159],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[30340],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[23545],"v":[{"k":[35937],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[19988],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[96],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35013,32455,20214],"v":[{"k":[26426],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"d":{"df":1,"dc":[[6,2]]},"k":[21517],"v":[{"k":[31216],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]},{"k":[65306,65289],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[110],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[26412,20110,30784],"v":[{"k":[30456,36807,24773],"v":[{"k":[21516],"v":[{"k":[65292],"v":[{"k":[38500],"v":[{"k":[27492],"v":[{"k":[20043],"v":[{"k":[22806],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]},{"k":[31243],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]},{"k":[20917],"v":[{"k":[25490],"v":[{"k":[26597],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[10,1]]}},{"k":[35774,20351,12289,31119],"v":[{"k":[32622],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[29992],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"k":[106,31616],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[96,1]]}}]},{"k":[21333],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"k":[37117],"v":[{"k":[31572],"v":[{"k":[19981],"v":[{"k":[19978],"v":[{"k":[26469],"v":[{"k":[12290],"v":[{"k":[20250],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[19978],"v":[{"k":[23618],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[20877],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[20570],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[30340],"v":[{"k":[25644],"v":[{"k":[36816],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[22826],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26234],"v":[{"k":[21830],"v":[{"k":[25237],"v":[{"k":[20837],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[65292],"v":[{"k":[20309],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[24213],"v":[{"k":[27668],"v":[{"k":[35201],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[39640],"v":[{"k":[30340],"v":[{"k":[24453],"v":[{"k":[36935],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21033],"v":[{"k":[20445],"v":[{"k":[38556],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]},{"k":[23481,39038],"v":[{"k":[24615],"v":[{"k":[65288,26597],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25240],"v":[{"k":[33150],"v":[{"k":[65292],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[24819],"v":[{"k":[35201],"v":[{"k":[23436],"v":[{"k":[32654],"v":[{"k":[40657],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[21457],"v":[{"k":[34892],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35810],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]},{"k":[21150],"v":[{"k":[20844],"v":[{"k":[19982],"v":[{"k":[23089],"v":[{"k":[20048],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[35,1]]},"k":[105,111,97,101,117,39,114,110,99],"v":[{"k":[110,115,109,107,118,98,99],"v":[{"k":[117,101,107,116],"v":[{"k":[120],"v":[{"d":{"df":3,"dc":[[3,8],[35,3],[88,1]]},"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]},{"d":{"df":2,"dc":[[4,1],[43,2]]},"k":[97],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]},{"d":{"df":1,"dc":[[44,1]]}},{"k":[101],"v":[{"k":[114],"v":[{"k":[64,45,58],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[101,116],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[64],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[116],"v":[{"d":{"df":4,"dc":[[6,1],[12,2],[53,1],[57,1]]},"k":[46,101,58,12289],"v":[{"k":[115,102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]},{"k":[105,111],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100,110],"v":[{"d":{"df":1,"dc":[[19,1]]}},{"d":{"df":2,"dc":[[82,2],[88,2]]},"k":[40,105],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":2,"dc":[[24,1],[81,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]}},{"k":[22855],"v":[{"k":[22937],"v":[{"k":[28165],"v":[{"k":[21333],"v":[{"k":[12289],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[110],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":4,"dc":[[10,5],[79,5],[108,1],[110,1]]},"k":[93],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[15,2]]}}]},{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[80,1]]},"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]},{"d":{"df":2,"dc":[[53,1],[93,1]]},"k":[114,101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":2,"dc":[[20,1],[88,6]]},"k":[46],"v":[{"d":{"df":1,"dc":[[88,3]]}}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[35,2]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]},{"k":[108,111,103,97,116,99,119],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"k":[112],"v":[{"d":{"df":1,"dc":[[6,2]]},"k":[40,49,50],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]},{"k":[40],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[50],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":4,"dc":[[14,2],[36,2],[45,1],[108,1]]},"k":[105,103,65306,97,115],"v":[{"k":[110,99],"v":[{"d":{"df":3,"dc":[[50,1],[69,1],[79,1]]},"k":[46,114,44],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[69,1]]}}]},{"d":{"df":1,"dc":[[80,1]]}}]},{"k":[101],"v":[{"k":[114,100],"v":[{"d":{"df":2,"dc":[[18,1],[20,3]]},"k":[58,109,41,46,40],"v":[{"d":{"df":1,"dc":[[20,5]]}},{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]}},{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[98],"v":[{"k":[106],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[36,1]]}},{"k":[108],"v":[{"k":[108],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":6,"dc":[[17,1],[40,1],[54,1],[55,1],[61,1],[79,2]]},"k":[101,115],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[26,2],[68,3]]}}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[30,1]]}},{"k":[97,107],"v":[{"k":[108,116],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[104,101],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]},{"d":{"df":2,"dc":[[63,2],[82,1]]},"k":[115,46],"v":[{"d":{"df":3,"dc":[[63,2],[82,1],[93,1]]},"k":[46,40],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[52,2],[88,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[51,1]]}}]},{"d":{"df":1,"dc":[[98,1]]}}]},{"k":[115,121,116,114,110,117,98,122],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[111,110,91,99],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,4]]}}]}]}]}]},{"k":[48,49],"v":[{"k":[93],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[93],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114,120],"v":[{"d":{"df":3,"dc":[[33,1],[65,1],[83,1]]},"k":[46],"v":[{"k":[115,112],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[97,108,104,117,40],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[61],"v":[{"k":[62],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[83,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[114,99],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[114,49],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[48,53,49],"v":[{"d":{"df":1,"dc":[[65,3]]}},{"k":[53],"v":[{"d":{"df":1,"dc":[[83,1]]}}]},{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[39,2]]},"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[43,4]]},"k":[117,61,41,112,46],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[49,1]]},"k":[58,45],"v":[{"d":{"df":2,"dc":[[41,1],[45,1]]}},{"k":[98,100,106,115],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[55],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,2]]}},{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[45],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[91],"v":[{"k":[48],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[114,99],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[54,1],[55,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[98],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]},{"k":[121],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[64,2]]},"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102,116,115,97],"v":[{"k":[116],"v":[{"d":{"df":4,"dc":[[10,5],[47,1],[79,2],[108,1]]},"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":14,"dc":[[10,2],[15,1],[20,1],[27,10],[39,4],[48,2],[52,1],[63,5],[64,1],[65,1],[69,3],[79,3],[85,1],[110,1]]}},{"k":[115],"v":[{"d":{"df":1,"dc":[[26,1]]},"k":[45,58,44],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"d":{"df":1,"dc":[[99,3]]}}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[107],"v":[{"k":[33],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[35,2]]}}]},{"d":{"df":1,"dc":[[43,2]]}},{"d":{"df":1,"dc":[[57,2]]}},{"k":[95],"v":[{"k":[97,99],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23450,33021,20197,30693,36873,29992,25191],"v":[{"k":[21046],"v":[{"k":[24615],"v":[{"k":[24378],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[21916],"v":[{"k":[27426],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[70,1]]},"k":[26159,30340,20250,20026,37117,24773],"v":[{"k":[25968,19968],"v":[{"k":[21313],"v":[{"k":[19975],"v":[{"k":[26465],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21333],"v":[{"k":[29420],"v":[{"k":[30340],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[31181],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]},{"k":[23548],"v":[{"k":[33268],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[30340],"v":[{"k":[22833],"v":[{"k":[36133],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]},{"k":[24050],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[30340],"v":[{"k":[27604],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[31227],"v":[{"k":[21160],"v":[{"k":[19978],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[20855],"v":[{"k":[20307],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[30340],"v":[{"k":[20026],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[65288],"v":[{"k":[19981],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[27604],"v":[{"k":[20363],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[30475],"v":[{"k":[20284],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[20016],"v":[{"k":[23500],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[23454],"v":[{"k":[21017],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20219],"v":[{"k":[20309],"v":[{"k":[24110],"v":[{"k":[21161],"v":[{"k":[32479],"v":[{"k":[35745],"v":[{"k":[30340],"v":[{"k":[24847],"v":[{"k":[20041],"v":[{"k":[12290],"v":[{"k":[25105],"v":[{"k":[26082],"v":[{"k":[19981],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[20102],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[20010],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[26377],"v":[{"k":[31354],"v":[{"k":[20877],"v":[{"k":[30475],"v":[{"k":[30475],"v":[{"k":[30340],"v":[{"k":[27604],"v":[{"k":[20363],"v":[{"k":[26159],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"d":{"df":1,"dc":[[91,1]]}}]},{"k":[20917],"v":[{"d":{"df":1,"dc":[[110,3]]}}]}]},{"k":[25512,21442,27169,35775,26159,34987,22312,26597,23558,30452,20351,29992,31649,20248,20174,36827,36890,26032,24320,25913,24555,37197],"v":[{"k":[20986],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[32771],"v":[{"k":[58,19968,35813,36801,20511],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[19979],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]},{"k":[39033],"v":[{"k":[30446],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[30340],"v":[{"k":[21021],"v":[{"k":[22987],"v":[{"k":[21270],"v":[{"k":[25645],"v":[{"k":[24314],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31227],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[37492],"v":[{"k":[26082],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[25311],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[28210],"v":[{"k":[26579],"v":[{"k":[40],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]},{"k":[38382],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"k":[35775,29992],"v":[{"k":[38382],"v":[{"k":[29305],"v":[{"k":[23450],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[32452],"v":[{"k":[20214],"v":[{"k":[26102],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25143],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]},{"k":[25429],"v":[{"k":[25417],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]},{"d":{"df":1,"dc":[[32,1]]},"k":[31995],"v":[{"k":[32479],"v":[{"k":[30340],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[37324],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21319],"v":[{"k":[32423],"v":[{"k":[20026],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[65292],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[20877],"v":[{"k":[25913],"v":[{"k":[20026],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[20043],"v":[{"k":[31867],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30475],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[21382],"v":[{"k":[21490],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[20415],"v":[{"k":[30830],"v":[{"k":[23450],"v":[{"k":[35201],"v":[{"k":[22238],"v":[{"k":[36864],"v":[{"k":[21040],"v":[{"k":[21738],"v":[{"k":[20010],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26576,26381],"v":[{"k":[20010],"v":[{"k":[20855],"v":[{"k":[20307],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[25171],"v":[{"k":[19978],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[26631],"v":[{"k":[31614],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[20320],"v":[{"k":[23601],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[35760],"v":[{"k":[24518],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[21495],"v":[{"k":[21704],"v":[{"k":[24076],"v":[{"k":[20540],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[20320],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21153],"v":[{"k":[22120],"v":[{"k":[30340],"v":[{"k":[21387],"v":[{"k":[21147],"v":[{"k":[36880],"v":[{"k":[23618],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[19979],"v":[{"k":[25918],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25509],"v":[{"k":[35775,36890],"v":[{"k":[38382],"v":[{"k":[26597],"v":[{"k":[30475],"v":[{"k":[25928],"v":[{"k":[26524],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[20415],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[21709],"v":[{"k":[24212],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[23884],"v":[{"k":[22871],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[12289],"v":[{"k":[27867],"v":[{"k":[65288],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[65289],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[21450],"v":[{"k":[26410],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[65288],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[65289],"v":[{"k":[28210],"v":[{"k":[26579],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36807],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[65292],"v":[{"k":[22320],"v":[{"k":[22336],"v":[{"k":[65306],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[31616,20110,96],"v":[{"k":[21270],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[23433],"v":[{"k":[35013],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[26700],"v":[{"k":[38754],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[97],"v":[{"k":[122],"v":[{"k":[121],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[21160],"v":[{"k":[24577],"v":[{"k":[21152],"v":[{"k":[36733],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29702],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[21270],"v":[{"k":[20026],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65288],"v":[{"k":[21363],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[21592],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19978],"v":[{"k":[36848],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[20108],"v":[{"k":[20013],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[21453],"v":[{"k":[25512],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[20869],"v":[{"k":[23384],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[65288],"v":[{"k":[20165],"v":[{"k":[36866],"v":[{"k":[29992],"v":[{"k":[35813],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36807],"v":[{"k":[21453,31616],"v":[{"k":[21521],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21333],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[32763],"v":[{"k":[35793],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]},{"k":[22987],"v":[{"k":[32763],"v":[{"k":[35793],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]},{"k":[25104],"v":[{"k":[20219],"v":[{"k":[24847],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]},{"k":[36895],"v":[{"k":[19978],"v":[{"k":[25163],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30475],"v":[{"k":[36807],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[23545],"v":[{"k":[29031],"v":[{"k":[30528],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[20889],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[23601],"v":[{"k":[34892],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[26041],"v":[{"k":[20415],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21512],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[96],"v":[{"k":[21644],"v":[{"k":[23450],"v":[{"k":[26102],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[33050],"v":[{"k":[26412],"v":[{"k":[23545],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[25968,19978],"v":[{"k":[32452],"v":[{"k":[37324],"v":[{"k":[38754],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[25968],"v":[{"k":[24322],"v":[{"k":[25110],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[31561],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24335],"v":[{"k":[31561],"v":[{"k":[20110],"v":[{"k":[40],"v":[{"k":[120,48],"v":[{"k":[49],"v":[{"k":[94],"v":[{"k":[120],"v":[{"k":[49],"v":[{"k":[41],"v":[{"k":[94],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[50],"v":[{"k":[94],"v":[{"k":[120],"v":[{"k":[50],"v":[{"k":[41],"v":[{"k":[94],"v":[{"k":[8230],"v":[{"k":[94],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[110],"v":[{"k":[94],"v":[{"k":[120],"v":[{"k":[110],"v":[{"k":[41],"v":[{"k":[94],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[94],"v":[{"k":[40],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[94],"v":[{"k":[8230],"v":[{"k":[40],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[94],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[20027,25554,35760],"v":[{"k":[39064],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]},{"k":[20214],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]},{"k":[24405],"v":[{"k":[19978],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[30340],"v":[{"k":[96],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[47],"v":[{"k":[96],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[26469],"v":[{"k":[20445],"v":[{"k":[35777],"v":[{"k":[20013],"v":[{"k":[26029],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[20174],"v":[{"k":[26410],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[30340],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"k":[35835],"v":[{"k":[21462],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]},{"k":[28783],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[37239],"v":[{"k":[28843],"v":[{"k":[26426],"v":[{"k":[31665],"v":[{"k":[22806],"v":[{"k":[35266],"v":[{"k":[21861],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[23454],"v":[{"k":[29992],"v":[{"k":[24615],"v":[{"k":[19981],"v":[{"k":[24378],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[35013],"v":[{"k":[36215],"v":[{"k":[26469],"v":[{"k":[36156],"v":[{"k":[25289],"v":[{"k":[39118],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20040],"v":[{"k":[30340,26679],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[25402],"v":[{"k":[27969],"v":[{"k":[30021],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[32473],"v":[{"k":[25105],"v":[{"k":[30041],"v":[{"k":[19979],"v":[{"k":[26368],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[21360],"v":[{"k":[35937],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[20805],"v":[{"k":[30005],"v":[{"k":[24930],"v":[{"k":[12289],"v":[{"k":[32791],"v":[{"k":[30005],"v":[{"k":[24555],"v":[{"k":[12290],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[25554],"v":[{"k":[30528],"v":[{"k":[30005],"v":[{"k":[36793],"v":[{"k":[20805],"v":[{"k":[36793],"v":[{"k":[29992],"v":[{"k":[36824],"v":[{"k":[33021],"v":[{"k":[25972],"v":[{"k":[27809],"v":[{"k":[30005],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340,25165],"v":[{"k":[20989,38656,20154],"v":[{"k":[25968],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25913],"v":[{"k":[20889],"v":[{"k":[25104],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]},{"k":[27714],"v":[{"k":[35813],"v":[{"k":[24573,37325],"v":[{"k":[30053],"v":[{"d":{"df":1,"dc":[[72,1]]}}]},{"k":[35270],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]},{"k":[36755],"v":[{"k":[20986],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[21019],"v":[{"k":[24847],"v":[{"k":[12290],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20559],"v":[{"k":[35265],"v":[{"k":[65292],"v":[{"k":[23458],"v":[{"k":[35266],"v":[{"k":[38472],"v":[{"k":[36848],"v":[{"k":[12290],"v":[{"k":[29399],"v":[{"k":[22068],"v":[{"k":[37324],"v":[{"k":[21520],"v":[{"k":[19981],"v":[{"k":[20986],"v":[{"k":[35937],"v":[{"k":[29273],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[25351],"v":[{"k":[26395],"v":[{"k":[32932],"v":[{"k":[27973],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[32473],"v":[{"k":[20986],"v":[{"k":[22810],"v":[{"k":[20040],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[24847],"v":[{"k":[35265],"v":[{"k":[12290],"v":[{"k":[32780],"v":[{"k":[33021],"v":[{"k":[32473],"v":[{"k":[20986],"v":[{"k":[22909],"v":[{"k":[21019],"v":[{"k":[24847],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[28304],"v":[{"k":[28304],"v":[{"k":[19981],"v":[{"k":[26029],"v":[{"k":[22320],"v":[{"k":[36755],"v":[{"k":[20986],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[21019],"v":[{"k":[24847],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[31639],"v":[{"k":[24471],"v":[{"k":[19978],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[22909],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[21602],"v":[{"k":[65311],"v":[{"k":[19968],"v":[{"k":[21315],"v":[{"k":[20010],"v":[{"k":[35835],"v":[{"k":[32773],"v":[{"k":[23601],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[21315],"v":[{"k":[20010],"v":[{"k":[21704],"v":[{"k":[22982],"v":[{"k":[38647],"v":[{"k":[29305],"v":[{"k":[65292],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24456],"v":[{"k":[26126],"v":[{"k":[30830],"v":[{"k":[30340],"v":[{"k":[26631],"v":[{"k":[20934],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[20174],"v":[{"k":[25105],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[65292],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[23376],"v":[{"k":[30340],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20415,27861,24335],"v":[{"k":[25658],"v":[{"k":[24102],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]},{"d":{"df":1,"dc":[[64,3]]},"k":[19968,20108,30340,22806,21517,20570,65292],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[4,1]]}}]},{"k":[65306],"v":[{"d":{"df":1,"dc":[[4,1]]}}]},{"k":[25968],"v":[{"k":[32452],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]},{"k":[23884],"v":[{"k":[22871],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]},{"k":[65292],"v":[{"k":[21363],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"k":[36718],"v":[{"k":[35810],"v":[{"k":[65292],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22914],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]},{"d":{"df":1,"dc":[[64,2]]},"k":[65292,23433,35831],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[35013],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[27714],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[38656],"v":[{"k":[23558],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[23553],"v":[{"k":[35013],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[22797],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[28857,20047],"v":[{"k":[65306,23601,26159],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"k":[26159],"v":[{"k":[36895],"v":[{"k":[24230],"v":[{"k":[24930],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]},{"k":[39044],"v":[{"k":[20998],"v":[{"k":[37197],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[36739],"v":[{"k":[38271],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]},{"k":[33258],"v":[{"k":[20449],"v":[{"k":[30340],"v":[{"k":[34920],"v":[{"k":[29616],"v":[{"k":[65292],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[32966],"v":[{"k":[23567],"v":[{"k":[34987],"v":[{"k":[21160],"v":[{"k":[65292],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[35880],"v":[{"k":[23567],"v":[{"k":[24910],"v":[{"k":[24494],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[19981],"v":[{"k":[21033],"v":[{"k":[20110],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[30340],"v":[{"k":[33391],"v":[{"k":[24615],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21475,19979],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[65288,25991,26381,12289,26469,41,24615],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[26723],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]},{"k":[21153],"v":[{"k":[22120,39033],"v":[{"d":{"df":1,"dc":[[43,1]]}},{"k":[30446],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[22270],"v":[{"k":[29255],"v":[{"k":[36755],"v":[{"k":[20986],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[22312],"v":[{"k":[32447],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26597],"v":[{"k":[35810],"v":[{"k":[26412],"v":[{"k":[27425],"v":[{"k":[20250],"v":[{"k":[35805],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[26102],"v":[{"k":[20381],"v":[{"k":[28982],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[37325],"v":[{"k":[26032],"v":[{"k":[37492],"v":[{"k":[26435],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[30417],"v":[{"k":[25511],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[22270],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]},{"k":[26469],"v":[{"k":[21482],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32534],"v":[{"k":[20889],"v":[{"k":[30456],"v":[{"k":[24212],"v":[{"k":[31456],"v":[{"k":[33410],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[12290],"v":[{"k":[22312],"v":[{"k":[32534],"v":[{"k":[36753],"v":[{"k":[23436],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[98,1]]},"k":[115,105,112,110,116,114,107,109,100,117,98],"v":[{"k":[98,105,101,97],"v":[{"k":[12289],"v":[{"k":[104],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[12289],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":2,"dc":[[7,1],[88,5]]}}]}]},{"d":{"df":4,"dc":[[19,5],[30,1],[35,1],[88,1]]},"k":[114,100,37,102],"v":[{"d":{"df":9,"dc":[[21,1],[36,1],[40,1],[62,2],[65,1],[79,1],[80,1],[81,3],[108,1]]},"k":[110,58,45,46,115,61,105,44,109,108,116,49,50,51,39],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[10,1],[88,2]]},"k":[44,58],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"d":{"df":4,"dc":[[52,4],[69,1],[81,2],[106,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[12,2],[81,1]]}},{"k":[97,115],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[15,1],[38,1]]}}]}]}]}]},{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,114,110],"v":[{"k":[120,109],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[41,1],[45,1]]}}]}]}]}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[41,1],[45,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[65,2]]},"k":[44,46],"v":[{"d":{"df":2,"dc":[[40,1],[65,1]]}},{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34],"v":[{"k":[119,114],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]},{"k":[100,110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[102],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"d":{"df":1,"dc":[[65,2]]}},{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"d":{"df":2,"dc":[[79,1],[108,1]]},"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]},"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[40,109],"v":[{"k":[49,50,51],"v":[{"k":[41],"v":[{"k":[59,41],"v":[{"d":{"df":1,"dc":[[79,3]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[91],"v":[{"k":[49],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,121],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"d":{"df":1,"dc":[[79,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]},{"d":{"df":1,"dc":[[79,2]]},"k":[44,59,41],"v":[{"d":{"df":1,"dc":[[79,1]]}},{"d":{"df":1,"dc":[[79,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"d":{"df":1,"dc":[[79,1]]},"k":[93],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]},{"d":{"df":1,"dc":[[40,3]]},"k":[44],"v":[{"d":{"df":1,"dc":[[40,2]]}}]},{"d":{"df":1,"dc":[[40,1]]}},{"k":[117],"v":[{"k":[108],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[40,58],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[3,1],[99,1]]},"k":[100],"v":[{"d":{"df":3,"dc":[[10,1],[62,1],[79,1]]},"k":[65289,115,41,58],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[32456],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[21518],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[20026],"v":[{"k":[96],"v":[{"k":[54],"v":[{"k":[96],"v":[{"k":[27425],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}},{"d":{"df":2,"dc":[[79,1],[81,3]]}}]}]},{"d":{"df":3,"dc":[[14,1],[40,1],[57,1]]},"k":[100,103,58,46,108,116,44],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":5,"dc":[[10,1],[36,1],[51,1],[88,2],[89,1]]},"k":[100,111,99],"v":[{"k":[95,97],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]},{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[98],"v":[{"k":[106],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[51,3],[53,2]]}}]}]}]}]},{"k":[100,108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[58],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[116],"v":[{"k":[109],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[98,1]]}}]},{"k":[105,100,99,115],"v":[{"k":[113,120,111],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[12,1],[108,2]]},"k":[58],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[26631],"v":[{"k":[20934],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25139],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]},{"k":[110],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":4,"dc":[[20,1],[32,1],[52,1],[76,3]]},"k":[44,41],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"d":{"df":2,"dc":[[63,2],[69,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]},{"k":[105,117],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":2,"dc":[[65,2],[108,5]]}}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108,109],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]},{"k":[108],"v":[{"d":{"df":2,"dc":[[36,3],[66,2]]},"k":[58,65288,33,65292,65306,108],"v":[{"d":{"df":4,"dc":[[15,1],[20,1],[52,8],[69,1]]}},{"k":[103,104],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[64],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[58],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[21542],"v":[{"k":[21017],"v":[{"k":[20250],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[22914],"v":[{"k":[26524],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[24320],"v":[{"k":[25918],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[54,1]]}},{"k":[105],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[44,46],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[105,98,112],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[95],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[121],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[35,4]]}}]}]},{"k":[105,108],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[35,4]]}}]}]},{"d":{"df":1,"dc":[[72,1]]}}]},{"k":[101],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[63,2]]},"k":[46,40],"v":[{"k":[118],"v":[{"k":[52],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[65292],"v":[{"k":[26410],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[25454],"v":[{"k":[35828],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[65292],"v":[{"k":[30446],"v":[{"k":[21069],"v":[{"k":[36824],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[36807],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36719],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"d":{"df":3,"dc":[[40,1],[43,3],[45,3]]},"k":[117,104,116,112,105,111,97,101,113,99,114,121,119,115,118,108,40,110,107,100],"v":[{"d":{"df":1,"dc":[[88,2]]},"k":[114,100,105,99,109,112,110,98],"v":[{"k":[102,101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"d":{"df":3,"dc":[[20,1],[45,1],[88,1]]}}]},{"k":[111],"v":[{"d":{"df":7,"dc":[[4,1],[5,2],[54,4],[55,4],[61,1],[82,1],[88,12]]}}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[40,115],"v":[{"k":[39],"v":[{"k":[99,105,97,108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]},{"k":[104,99],"v":[{"d":{"df":2,"dc":[[8,1],[57,1]]}},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":3,"dc":[[44,1],[64,1],[88,1]]},"k":[58,59],"v":[{"d":{"df":2,"dc":[[32,1],[107,1]]}},{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[48,1]]},"k":[115,109,105],"v":[{"d":{"df":1,"dc":[[9,1]]}},{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[44,3]]},"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[30340],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112,101],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[17,1]]},"k":[101,93],"v":[{"k":[100],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]},{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[63],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[118],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[116,40],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]},{"k":[103],"v":[{"k":[39,116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]},{"k":[105],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]},{"k":[109,103,108],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[57,2]]},"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":4,"dc":[[45,1],[57,4],[58,1],[104,1]]},"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[55,1],[61,3],[88,1]]},"k":[101,111,97,114,105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":3,"dc":[[3,1],[86,1],[89,1]]},"k":[12289,61],"v":[{"k":[23376],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]},{"k":[47],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[115,122],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]},{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[117,119],"v":[{"k":[108],"v":[{"k":[100],"v":[{"d":{"df":2,"dc":[[7,1],[52,2]]},"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[40,1]]},"k":[105,101,111],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[112,116],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,49,100],"v":[{"k":[112,101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[40,1]]},"k":[115,58],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[108,115],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[109],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[109],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[39],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[57],"v":[{"k":[56],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[51],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[53],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[99],"v":[{"k":[52],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[49],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[48],"v":[{"k":[54],"v":[{"k":[102],"v":[{"k":[53],"v":[{"k":[57],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[59,3]]},"k":[45,114,46,65292],"v":[{"k":[97,112,103,108,119],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[115,108],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[59,2]]}}]},{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]},{"k":[121],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[59,2]]}}]}]}]}]}]},{"k":[111],"v":[{"d":{"df":1,"dc":[[59,2]]}}]},{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[59,2]]}}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[59,2]]}},{"k":[101],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[21592],"v":[{"k":[36523],"v":[{"k":[20221],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[26639],"v":[{"k":[37324],"v":[{"k":[38754],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[22270],"v":[{"k":[26631],"v":[{"k":[65292],"v":[{"k":[21491],"v":[{"k":[38190],"v":[{"k":[65292],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[45],"v":[{"k":[62],"v":[{"k":[32534],"v":[{"k":[36753],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25152],"v":[{"k":[20197],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[21327],"v":[{"k":[35758],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[40,1]]}},{"k":[102],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[47,1]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]},{"k":[111,97,114,107,115,102,101,121,117,100],"v":[{"k":[114,112],"v":[{"k":[101,121,97],"v":[{"d":{"df":2,"dc":[[4,1],[23,1]]},"k":[65292,65288,46,44],"v":[{"k":[20294],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[29616],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[26696],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[20250],"v":[{"k":[25345],"v":[{"k":[32493],"v":[{"k":[36393],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[22353],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]},{"k":[108,103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[112,115],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[91],"v":[{"k":[39],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]}}]},{"d":{"df":1,"dc":[[36,1]]}},{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]},{"d":{"df":3,"dc":[[45,2],[59,4],[85,2]]},"k":[112,46],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"d":{"df":1,"dc":[[45,2]]}}]}]},{"k":[110,116,114,115],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"k":[117,105,101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[59,4]]},"k":[41,58],"v":[{"d":{"df":1,"dc":[[15,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"d":{"df":3,"dc":[[69,4],[76,2],[106,2]]}}]}]},{"k":[99],"v":[{"d":{"df":2,"dc":[[17,1],[45,1]]},"k":[47,97],"v":[{"d":{"df":1,"dc":[[69,1]]}},{"k":[108],"v":[{"k":[108],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[88,3]]}}]}]}]}]}]},{"d":{"df":4,"dc":[[21,2],[23,1],[37,1],[79,1]]},"k":[65307,20256,46,59],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]},{"k":[32473],"v":[{"d":{"df":1,"dc":[[23,1]]}}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[23,2]]},"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[23,3]]}}]}]},{"k":[116],"v":[{"d":{"df":12,"dc":[[18,1],[20,1],[40,1],[41,1],[45,5],[51,2],[59,4],[65,1],[78,1],[81,1],[85,2],[86,2]]},"k":[101,59,99,40,111,105,96,97,117],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[17,1]]}}]},{"d":{"df":1,"dc":[[18,1]]}},{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]},{"k":[102],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[75,1],[76,2]]}}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"d":{"df":3,"dc":[[85,1],[88,2],[94,1]]}}]}]}]},{"k":[104],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]},{"d":{"df":1,"dc":[[29,1]]},"k":[97,105,91,46,101],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[8,3]]}}]},{"k":[110,112,99],"v":[{"k":[103],"v":[{"d":{"df":5,"dc":[[11,5],[20,1],[29,1],[31,1],[49,3]]},"k":[44,41,105,40,39,34],"v":[{"d":{"df":2,"dc":[[11,1],[29,1]]}},{"d":{"df":1,"dc":[[49,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[11,2]]}}]},{"k":[102],"v":[{"k":[121],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[49,1]]}}]},{"d":{"df":1,"dc":[[77,1]]}}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[39,45],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[39,1],[52,4]]}}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[121],"v":[{"d":{"df":2,"dc":[[82,2],[88,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[77,1]]},"k":[46,41],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[39,2]]},"k":[49,50,51],"v":[{"d":{"df":1,"dc":[[43,2]]},"k":[91,62],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"k":[36755],"v":[{"k":[20837],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,2]]},"k":[62,123,45],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[47],"v":[{"k":[36755],"v":[{"k":[20986],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]},{"k":[21028],"v":[{"k":[26029],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[21512],"v":[{"k":[27861],"v":[{"k":[24615],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]},{"d":{"df":1,"dc":[[43,2]]},"k":[123],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[43,7]]},"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[100],"v":[{"k":[105],"v":[{"k":[111],"v":[{"d":{"df":2,"dc":[[49,1],[57,1]]}}]}]}]},{"k":[111,101],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[44,46,50],"v":[{"d":{"df":1,"dc":[[85,1]]}},{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[92],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[41,50],"v":[{"d":{"df":1,"dc":[[85,1]]}},{"k":[41],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[99,101,97,108,100,114],"v":[{"k":[116],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]},{"k":[99,101],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105,121],"v":[{"k":[101],"v":[{"k":[115,100],"v":[{"d":{"df":1,"dc":[[19,2]]}},{"d":{"df":1,"dc":[[19,3]]}}]}]},{"d":{"df":1,"dc":[[19,5]]}}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]},{"k":[119,99],"v":[{"k":[110],"v":[{"k":[40,99],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[31,1]]},"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[49],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[121],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]}]},{"k":[112,110,122,103,116,109],"v":[{"d":{"df":1,"dc":[[4,1]]}},{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[7,1],[8,2]]},"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":2,"dc":[[12,1],[40,1]]},"k":[41,44,115,58],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,2]]}}]},{"d":{"df":1,"dc":[[12,1]]}},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[110],"v":[{"d":{"df":2,"dc":[[14,1],[19,1]]},"k":[101,97],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[19,4]]}}]},{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[58,109],"v":[{"d":{"df":1,"dc":[[64,1]]}},{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[63],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]},{"k":[104,115,112],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[64],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[11,1],[30,1]]},"k":[114,109,99,110,108,117,102,57],"v":[{"k":[116],"v":[{"k":[101,45,98],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[6,1]]},"k":[91],"v":[{"k":[48],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[119,95],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[112,98],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,2]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[107],"v":[{"k":[101,115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[22,1]]},"k":[58,46],"v":[{"d":{"df":1,"dc":[[17,1]]}},{"k":[111,101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99,115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[59,2]]},"k":[53],"v":[{"k":[65292],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[21495],"v":[{"k":[20026],"v":[{"k":[21018],"v":[{"k":[21018],"v":[{"k":[22312],"v":[{"k":[32534],"v":[{"k":[36753],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[26102],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[30340],"v":[{"k":[26412],"v":[{"k":[26426],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[21495],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[39,1]]},"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":3,"dc":[[45,1],[66,2],[88,3]]},"k":[109,45,115],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]},{"k":[46],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[51],"v":[{"k":[118],"v":[{"k":[99],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[108],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[56],"v":[{"k":[49],"v":[{"k":[104],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[106],"v":[{"k":[110],"v":[{"k":[57],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[118],"v":[{"k":[111],"v":[{"k":[118],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[56],"v":[{"k":[109],"v":[{"k":[104],"v":[{"k":[52],"v":[{"k":[99],"v":[{"k":[106],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[119],"v":[{"k":[54],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[102],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,102,118,110,115,108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[53],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[54],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":2,"dc":[[19,1],[88,1]]},"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"d":{"df":1,"dc":[[35,1]]},"k":[115,100],"v":[{"d":{"df":1,"dc":[[35,6]]},"k":[39,45],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[65288],"v":[{"k":[27801],"v":[{"k":[30418],"v":[{"k":[65289],"v":[{"k":[30340],"v":[{"k":[22312],"v":[{"k":[32447],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]},{"k":[108,116,114,113,101,115,99,110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[10,14],[12,1],[79,5]]}}]}]}]},{"d":{"df":6,"dc":[[10,1],[19,1],[20,2],[64,1],[65,1],[110,1]]},"k":[40,116,117,44,118,105,58,95],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109,110],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[40,102,108],"v":[{"k":[41],"v":[{"d":{"df":3,"dc":[[15,1],[20,1],[32,3]]}}]},{"k":[105,117],"v":[{"k":[98],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[39,3]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[115],"v":[{"d":{"df":2,"dc":[[57,3],[64,1]]},"k":[46,58],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[91],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[112],"v":[{"d":{"df":2,"dc":[[19,1],[45,1]]}}]},{"d":{"df":1,"dc":[[19,6]]}},{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]},{"k":[45,110],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[64,1]]}},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[84,22]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118,105],"v":[{"k":[101,105],"v":[{"d":{"df":1,"dc":[[44,1]]},"k":[114,34],"v":[{"d":{"df":8,"dc":[[11,1],[17,3],[22,1],[24,3],[44,2],[45,8],[82,2],[88,2]]},"k":[41,46,58,59,42,12290,65289,44,47,95],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[99,114,115,101,118,111,98,97,105,106],"v":[{"k":[111,108],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]}]},{"k":[101,111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[91],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[46],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[101,109,108],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[24,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[52,8]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]},{"d":{"df":1,"dc":[[17,1]]}},{"d":{"df":1,"dc":[[17,1]]}},{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[45,2]]}},{"d":{"df":1,"dc":[[45,1]]}},{"d":{"df":1,"dc":[[52,1]]}},{"d":{"df":1,"dc":[[69,1]]}},{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[82,2],[88,2]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[78,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]},{"k":[99,110],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[20,1],[78,1]]},"k":[115,98],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]},{"k":[102],"v":[{"d":{"df":1,"dc":[[35,1]]},"k":[39,59],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,2]]}}]},{"d":{"df":1,"dc":[[35,3]]}}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[108,110],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[40,46,45],"v":[{"k":[39],"v":[{"k":[98,25968],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]},{"k":[25454],"v":[{"k":[24211],"v":[{"k":[21517],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]},{"k":[115,100,105],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[11,4]]},"k":[40],"v":[{"k":[49,51,56],"v":[{"k":[54],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]},{"k":[50],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,2]]}}]}]}]},{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[101],"v":[{"k":[100,110],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[43,3]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[35,1]]},"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]},{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[12,8],[62,2]]},"k":[46,65288,44],"v":[{"k":[103,99,102],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[40],"v":[{"k":[39,100],"v":[{"k":[119,115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[41,59],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"d":{"df":1,"dc":[[12,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[91],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25110],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[65289],"v":[{"k":[20174],"v":[{"k":[20869],"v":[{"k":[37096],"v":[{"k":[33719],"v":[{"k":[24471],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[111,116,114,117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[76,2]]},"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[43,6]]}}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[105,107],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[58],"v":[{"d":{"df":3,"dc":[[64,1],[69,2],[77,1]]}}]}]},{"k":[101],"v":[{"k":[121],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[69,2],[77,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]},{"k":[100],"v":[{"d":{"df":2,"dc":[[68,1],[76,2]]},"k":[40,102],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[68,2],[69,2]]}}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[108,117],"v":[{"d":{"df":5,"dc":[[10,8],[11,1],[65,2],[79,4],[110,1]]},"k":[58,59,105,65292],"v":[{"d":{"df":1,"dc":[[57,1]]}},{"d":{"df":1,"dc":[[79,1]]}},{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]},{"k":[22914],"v":[{"k":[22810],"v":[{"k":[24352],"v":[{"k":[34920],"v":[{"k":[96],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[65292],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[65292],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]},{"k":[104,114,39,115],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97,101],"v":[{"d":{"df":3,"dc":[[11,6],[20,1],[81,2]]},"k":[59,58,44],"v":[{"d":{"df":1,"dc":[[81,1]]}},{"d":{"df":1,"dc":[[81,1]]}},{"d":{"df":1,"dc":[[81,1]]}}]},{"k":[96],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[111,101,105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[45,115],"v":[{"k":[98,114],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[88,4]]},"k":[58],"v":[{"d":{"df":2,"dc":[[41,1],[45,1]]}}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[35,4]]}}]},{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[99,101],"v":[{"d":{"df":5,"dc":[[16,1],[46,1],[50,1],[70,1],[93,1]]},"k":[47,61],"v":[{"d":{"df":1,"dc":[[49,1]]},"k":[119,115],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[16,1]]},"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]},{"k":[34],"v":[{"k":[46,47],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[107],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[100,109],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[62],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[62],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]},{"k":[110,115],"v":[{"k":[99,116],"v":[{"k":[104],"v":[{"k":[114,111],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]},{"k":[116,99],"v":[{"k":[101],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[35,1]]},"k":[112,44],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,3]]}}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]},{"k":[97,105],"v":[{"k":[103,112],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[20,1],[69,1]]},"k":[109,40],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,2]]},"k":[46],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[99,115],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[40,2]]}}]}]},{"k":[116,103,99],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":2,"dc":[[23,2],[68,1]]},"k":[121],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[59,1]]},"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[104],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[59,1]]},"k":[65306,58],"v":[{"d":{"df":1,"dc":[[59,1]]}},{"k":[91],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,104,108],"v":[{"d":{"df":1,"dc":[[21,1]]},"k":[65288,58],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[31471],"v":[{"k":[28210],"v":[{"k":[26579],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[20381],"v":[{"k":[28982],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21482],"v":[{"k":[23558],"v":[{"k":[20854],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[26469],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[21069],"v":[{"k":[21518],"v":[{"k":[31471],"v":[{"k":[20998],"v":[{"k":[31163],"v":[{"k":[30340],"v":[{"k":[20013],"v":[{"k":[12289],"v":[{"k":[23567],"v":[{"k":[22411],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]}}]},{"d":{"df":4,"dc":[[40,7],[45,3],[88,1],[89,1]]},"k":[45],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[65,1],[82,1],[88,2]]},"k":[95],"v":[{"k":[99,115,112,100],"v":[{"k":[101,105],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]},"k":[95],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[99,116],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111,101],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]},{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110,103],"v":[{"d":{"df":1,"dc":[[36,5]]}},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[101,117],"v":[{"k":[101],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]},{"k":[103],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]},{"k":[24320],"v":[{"k":[22987],"v":[{"k":[47,41],"v":[{"k":[32467],"v":[{"k":[26463],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"d":{"df":1,"dc":[[43,2]]}}]}]}]},{"k":[116],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]},{"k":[114,105,101],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[114],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]},{"k":[109],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]},{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":2,"dc":[[58,1],[72,1]]}}]}]}]}]},{"k":[107],"v":[{"d":{"df":4,"dc":[[64,1],[69,4],[74,5],[77,2]]},"k":[115,65306,40,46,91],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[120],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[107],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[123],"v":[{"d":{"df":2,"dc":[[69,2],[77,1]]}}]},{"k":[103,112,117],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21015,32479],"v":[{"k":[65292],"v":[{"k":[32852],"v":[{"k":[24819],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"d":{"df":1,"dc":[[19,1]]},"k":[20559,41,24037,32467,21487,38656],"v":[{"k":[22909],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]},{"k":[36825],"v":[{"k":[20010],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[19968],"v":[{"k":[30452],"v":[{"k":[22256],"v":[{"k":[25200],"v":[{"k":[30528],"v":[{"k":[25105],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[20855],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[26500],"v":[{"k":[22270],"v":[{"d":{"df":1,"dc":[[109,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]},{"k":[33021],"v":[{"k":[20250],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[24744],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[26426],"v":[{"k":[22120],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[20844],"v":[{"k":[38053],"v":[{"k":[26041],"v":[{"k":[21487],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[12290],"v":[{"k":[35831],"v":[{"k":[23558],"v":[{"k":[20844],"v":[{"k":[38053],"v":[{"k":[25335],"v":[{"k":[36125],"v":[{"k":[21040],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[30340],"v":[{"k":[36],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[7,2]]},"k":[111,41,46,65288,97,121,116,113],"v":[{"k":[103,117,121],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"d":{"df":6,"dc":[[7,1],[8,1],[19,12],[29,1],[45,3],[88,4]]},"k":[114,63,33],"v":[{"d":{"df":4,"dc":[[7,1],[19,1],[45,1],[57,1]]}},{"d":{"df":1,"dc":[[43,2]]}},{"d":{"df":1,"dc":[[43,1]]}}]},{"d":{"df":1,"dc":[[43,1]]}}]},{"d":{"df":3,"dc":[[6,1],[7,1],[63,4]]},"k":[59],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[100,111],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]},{"k":[105,114],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[6,1]]}}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,4]]}}]}]}]}]}]},{"k":[21482],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[24471],"v":[{"k":[20986],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]},{"k":[114,104],"v":[{"k":[110],"v":[{"d":{"df":10,"dc":[[20,7],[41,2],[42,1],[49,3],[51,14],[53,4],[54,1],[63,1],[65,2],[67,1]]},"k":[58,65288],"v":[{"d":{"df":1,"dc":[[58,1]]}},{"k":[21253],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]},{"k":[121],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[112],"v":[{"k":[43],"v":[{"k":[109],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[108],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[121],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[120],"v":[{"k":[121],"v":[{"k":[51],"v":[{"k":[119],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[119],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[119],"v":[{"k":[102],"v":[{"k":[119],"v":[{"k":[122],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[106],"v":[{"k":[110],"v":[{"k":[106],"v":[{"k":[107],"v":[{"k":[48],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[98],"v":[{"k":[118],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[121],"v":[{"k":[57],"v":[{"k":[106],"v":[{"k":[116],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[107],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[50],"v":[{"k":[101],"v":[{"k":[53],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[106],"v":[{"k":[57],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[111],"v":[{"k":[122],"v":[{"k":[121],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[43],"v":[{"k":[57],"v":[{"k":[106],"v":[{"k":[102],"v":[{"k":[50],"v":[{"k":[114],"v":[{"k":[106],"v":[{"k":[118],"v":[{"k":[113],"v":[{"k":[109],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[103],"v":[{"k":[118],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[102],"v":[{"k":[104],"v":[{"k":[120],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[112],"v":[{"k":[113],"v":[{"k":[111],"v":[{"k":[50],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31867,21518,38388,21069],"v":[{"k":[30340,24212,24815],"v":[{"d":{"df":1,"dc":[[3,1]]},"k":[12290,38057,24341,24211,19996,21069,24037],"v":[{"k":[20687],"v":[{"k":[25140],"v":[{"k":[23572],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[23376],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]},{"k":[20837],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]},{"k":[26469],"v":[{"k":[21327],"v":[{"k":[21161],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"k":[35199],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[32622],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[65292],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[26356],"v":[{"k":[24555],"v":[{"k":[22320],"v":[{"k":[19978],"v":[{"k":[25163],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20855],"v":[{"k":[21435],"v":[{"k":[20570],"v":[{"k":[24179],"v":[{"k":[38754],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[26102],"v":[{"k":[25165],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[30340],"v":[{"k":[25193],"v":[{"k":[23637],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292,30340,29256,32487,21487],"v":[{"k":[25191,19968],"v":[{"k":[34892],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]},{"k":[27425],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65292,20013,25903],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[20869],"v":[{"k":[32622],"v":[{"k":[20102],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[36824],"v":[{"k":[31639],"v":[{"k":[19981],"v":[{"k":[38169],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25345],"v":[{"k":[20102],"v":[{"k":[96],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[21462],"v":[{"k":[28040],"v":[{"k":[20102],"v":[{"k":[23545],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26412],"v":[{"k":[24050,12290],"v":[{"k":[38598],"v":[{"k":[25104],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]},{"d":{"df":1,"dc":[[82,1]]}}]}]},{"k":[32493],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]},{"k":[20197],"v":[{"k":[32473],"v":[{"k":[35813],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[25913],"v":[{"k":[21517],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]},{"k":[36827],"v":[{"k":[34892],"v":[{"k":[20999],"v":[{"k":[25442],"v":[{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105,44,30475],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[19968],"v":[{"k":[30452],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[25105],"v":[{"k":[20204],"v":[{"k":[22312],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[37324],"v":[{"k":[20250],"v":[{"k":[32463],"v":[{"k":[24120],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[36807],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[23567],"v":[{"k":[25925],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[35828],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[23478],"v":[{"k":[26032],"v":[{"k":[24320],"v":[{"k":[30340],"v":[{"k":[39184],"v":[{"k":[39302],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[22825],"v":[{"k":[30340],"v":[{"k":[39038],"v":[{"k":[23458],"v":[{"k":[37117],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[23478],"v":[{"k":[20250],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[39038],"v":[{"k":[23458],"v":[{"k":[22810],"v":[{"k":[28857],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[28857],"v":[{"k":[36149],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[65307],"v":[{"k":[21478],"v":[{"k":[19968],"v":[{"k":[23478],"v":[{"k":[24635],"v":[{"k":[26159],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[39038],"v":[{"k":[23458],"v":[{"k":[23569],"v":[{"k":[28857],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[65292],"v":[{"k":[22815],"v":[{"k":[21507],"v":[{"k":[23601],"v":[{"k":[34892],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[30701],"v":[{"k":[26399],"v":[{"k":[26469],"v":[{"k":[30475],"v":[{"k":[65292],"v":[{"k":[21069],"v":[{"k":[19968],"v":[{"k":[23478],"v":[{"k":[38065],"v":[{"k":[36186],"v":[{"k":[30340],"v":[{"k":[22810],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[21518],"v":[{"k":[19968],"v":[{"k":[23478],"v":[{"k":[31215],"v":[{"k":[32047],"v":[{"k":[20102],"v":[{"k":[39038],"v":[{"k":[23458],"v":[{"k":[30340],"v":[{"k":[20449],"v":[{"k":[20219],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[24930],"v":[{"k":[24930],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[23478],"v":[{"k":[30340],"v":[{"k":[39038],"v":[{"k":[23458],"v":[{"k":[20250],"v":[{"k":[20943],"v":[{"k":[23569],"v":[{"k":[65292],"v":[{"k":[31532],"v":[{"k":[20108],"v":[{"k":[23478],"v":[{"k":[30340],"v":[{"k":[29983],"v":[{"k":[24847],"v":[{"k":[20250],"v":[{"k":[33976],"v":[{"k":[33976],"v":[{"k":[26085],"v":[{"k":[19978],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21512],"v":[{"k":[19968],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[26377],"v":[{"k":[35302],"v":[{"k":[23631],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[38190],"v":[{"k":[30424],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[25286],"v":[{"k":[21368],"v":[{"k":[12290],"v":[{"k":[22269],"v":[{"k":[20135],"v":[{"k":[21315],"v":[{"k":[20803],"v":[{"k":[26426],"v":[{"k":[24418],"v":[{"k":[24418],"v":[{"k":[33394],"v":[{"k":[33394],"v":[{"k":[65292],"v":[{"k":[22403],"v":[{"k":[22403],"v":[{"k":[22334],"v":[{"k":[22334],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26495,21488],"v":[{"d":{"df":1,"dc":[[3,1]]},"k":[65288,21487,40],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[33021],"v":[{"k":[26356],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[19981],"v":[{"k":[22826],"v":[{"k":[36866],"v":[{"k":[21512],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[12290],"v":[{"k":[25105],"v":[{"k":[29992],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]},{"k":[65289],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[24102],"v":[{"k":[30528],"v":[{"k":[25552,35828],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[24179],"v":[{"k":[26495],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]},{"k":[26126],"v":[{"k":[19968],"v":[{"k":[27874],"v":[{"k":[65292],"v":[{"k":[35813],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[26159],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23581,38500],"v":[{"k":[35797],"v":[{"k":[25645],"v":[{"k":[24314],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[65292],"v":[{"k":[19982],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[25991],"v":[{"k":[20214],"v":[{"k":[20869],"v":[{"k":[30340],"v":[{"k":[26631],"v":[{"k":[39064],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]},{"k":[39564],"v":[{"k":[30456,37325,38477],"v":[{"k":[24046],"v":[{"k":[29978],"v":[{"k":[36828],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]},{"k":[24515],"v":[{"k":[19981],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[25972],"v":[{"k":[20307],"v":[{"k":[24863],"v":[{"k":[35273],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32423],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]},{"k":[21069,24405,26631],"v":[{"k":[26377,30340,65288,20250,25903,21482,22788,25105,26080,20165,24066],"v":[{"k":[20004],"v":[{"k":[31181],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[26159],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26700],"v":[{"k":[38754],"v":[{"k":[25511],"v":[{"k":[21046],"v":[{"k":[23478],"v":[{"k":[37324],"v":[{"k":[30340],"v":[{"k":[38386],"v":[{"k":[32622],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[65288],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[20113],"v":[{"k":[26700],"v":[{"k":[38754],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"k":[35813],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[23601],"v":[{"k":[28041],"v":[{"k":[21450],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"k":[39057],"v":[{"k":[29575],"v":[{"k":[20998],"v":[{"k":[36776],"v":[{"k":[29575],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[12289],"v":[{"k":[32593],"v":[{"k":[32476],"v":[{"k":[24310],"v":[{"k":[36831],"v":[{"k":[12289],"v":[{"k":[23631],"v":[{"k":[24149],"v":[{"k":[38190],"v":[{"k":[30424],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[31561],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"k":[21478],"v":[{"k":[22806],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[26159],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[22909],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38454],"v":[{"k":[27573],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[36798],"v":[{"k":[21040],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[31227],"v":[{"k":[21160],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[23436],"v":[{"k":[32654],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"k":[20598],"v":[{"k":[23572],"v":[{"k":[24102],"v":[{"k":[30528],"v":[{"k":[29609],"v":[{"k":[29609],"v":[{"k":[20498],"v":[{"k":[26159],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[55],"v":[{"k":[65289],"v":[{"k":[36824],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[30340],"v":[{"k":[21807],"v":[{"k":[19968],"v":[{"k":[32034],"v":[{"k":[24341],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25253],"v":[{"k":[38169],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[25345],"v":[{"k":[65306],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[12289],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[12289],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[33521],"v":[{"k":[25991],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20013],"v":[{"k":[25991],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[12290],"v":[{"k":[22320],"v":[{"k":[22336],"v":[{"k":[65306],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20110],"v":[{"k":[33609],"v":[{"k":[31295],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[20154],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26368],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[35299],"v":[{"k":[65292],"v":[{"k":[21435],"v":[{"k":[25481],"v":[{"k":[20102],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25903],"v":[{"k":[25345],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]},{"k":[38754],"v":[{"k":[19978],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[45,1],[69,1]]},"k":[32467,19979,44,29983,20013,37096,32473,19981,20998],"v":[{"k":[26500],"v":[{"d":{"df":5,"dc":[[16,1],[19,1],[23,1],[63,1],[69,1]]},"k":[22823],"v":[{"k":[27010],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[35268],"v":[{"k":[21010],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[70,1]]},"k":[38754,29983,44],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[25104],"v":[{"k":[19968],"v":[{"k":[31995,20010],"v":[{"k":[21015],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"d":{"df":1,"dc":[[53,1]]}}]},{"d":{"df":1,"dc":[[42,1]]},"k":[30475],"v":[{"k":[21040],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[25104],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[32626],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[21024],"v":[{"k":[38500],"v":[{"k":[25481],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]},{"k":[21547],"v":[{"k":[26377],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[65292],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[23376],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37197],"v":[{"k":[23613],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[31616],"v":[{"k":[27905],"v":[{"k":[12289],"v":[{"k":[28165],"v":[{"k":[26224],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26426],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]},{"k":[12290,26412,65306],"v":[{"k":[37117],"v":[{"k":[25402],"v":[{"k":[25240],"v":[{"k":[33150],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]},{"d":{"df":4,"dc":[[67,1],[69,1],[74,1],[78,1]]},"k":[24050,20102,24211,21495,24320,30340,33853,19982,21457,26469,20351,22823,26159,32463],"v":[{"k":[32463],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[20102],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[65292],"v":[{"k":[21482,21518],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[22312],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[20811],"v":[{"k":[38534],"v":[{"k":[19968],"v":[{"k":[20221],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[22312],"v":[{"k":[25216],"v":[{"k":[24039],"v":[{"k":[31687],"v":[{"k":[20250],"v":[{"k":[21033],"v":[{"k":[29992],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[20010],"v":[{"k":[24615],"v":[{"k":[21270],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[20363],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]},{"k":[22987],"v":[{"k":[44],"v":[{"k":[20877],"v":[{"k":[20063],"v":[{"k":[27809],"v":[{"k":[29992],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[27714],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"k":[21518],"v":[{"d":{"df":1,"dc":[[53,1]]}}]},{"d":{"df":1,"dc":[[63,1]]}},{"k":[29983],"v":[{"k":[20102],"v":[{"k":[19981],"v":[{"k":[23569],"v":[{"k":[25913],"v":[{"k":[21160],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[33719],"v":[{"k":[24471],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[22823],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]},{"k":[20110],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[21253],"v":[{"k":[21547],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]},{"k":[27979],"v":[{"k":[35797],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[59,8]]}}]},{"k":[20026],"v":[{"k":[24179],"v":[{"k":[26495],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"k":[65288],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[20063],"v":[{"k":[26377],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[37197],"v":[{"k":[21512],"v":[{"k":[22806],"v":[{"k":[25509],"v":[{"k":[22823],"v":[{"k":[23631],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[26159],"v":[{"k":[20998],"v":[{"k":[36776],"v":[{"k":[29575],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,121,111,114,97,104,105,119,49,115,116,110,98,109,100,46,50,108,99],"v":[{"k":[114,97,115,120,109,101],"v":[{"k":[109],"v":[{"k":[117,105],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[57,2]]},"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":6,"dc":[[6,2],[51,2],[52,1],[53,1],[89,1],[93,1]]},"k":[58,40,105,44,46,93,101,102,115,47],"v":[{"d":{"df":3,"dc":[[12,2],[26,2],[68,3]]}},{"k":[41,39],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[20,2]]}}]},{"k":[103,112,108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[52,4]]}}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[52,3]]}}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[20,1],[52,1]]}},{"k":[99,98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[27,1]]}},{"k":[114],"v":[{"d":{"df":2,"dc":[[31,1],[58,1]]}}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[40],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,2]]}},{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":5,"dc":[[10,1],[45,1],[57,2],[58,1],[104,1]]},"k":[58,41,44,96,46],"v":[{"d":{"df":1,"dc":[[11,3]]}},{"d":{"df":3,"dc":[[21,1],[57,1],[61,1]]}},{"d":{"df":1,"dc":[[21,1]]}},{"d":{"df":1,"dc":[[51,1]]},"k":[24212],"v":[{"k":[29992],"v":[{"k":[44],"v":[{"k":[21491],"v":[{"k":[38190],"v":[{"k":[33756],"v":[{"k":[21333],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115,58],"v":[{"d":{"df":1,"dc":[[17,1]]},"k":[65289],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[20165],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[59,1]]}}]},{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":4,"dc":[[11,3],[23,1],[63,2],[68,1]]},"k":[45,100,58,101,111,61,115,44],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]},{"d":{"df":8,"dc":[[11,4],[12,2],[23,2],[45,2],[63,7],[77,1],[80,2],[81,16]]},"k":[39,107],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[121],"v":[{"k":[58],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]},{"k":[102],"v":[{"d":{"df":3,"dc":[[28,2],[48,1],[49,1]]}}]},{"k":[34],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":2,"dc":[[42,1],[43,1]]},"k":[62],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,2]]}}]}]}]},{"d":{"df":16,"dc":[[19,14],[20,2],[29,1],[30,2],[31,1],[40,1],[41,1],[43,6],[44,1],[45,3],[57,1],[64,1],[68,1],[76,2],[88,2],[94,1]]},"k":[111,116,100,103,112,107,99,117],"v":[{"d":{"df":1,"dc":[[39,3]]},"k":[108],"v":[{"k":[115,45],"v":[{"d":{"df":1,"dc":[[4,1]]}},{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[64,45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":2,"dc":[[12,4],[40,1]]},"k":[44,99],"v":[{"d":{"df":2,"dc":[[12,1],[40,3]]}},{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[79,3]]},"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"d":{"df":4,"dc":[[21,1],[57,1],[90,1],[94,1]]},"k":[41,46,45],"v":[{"d":{"df":1,"dc":[[21,1]]}},{"k":[100],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103,101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[115,105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]},{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[40,7]]}},{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[45,5],[69,2]]},"k":[41,115,12290,44,58,39,26377],"v":[{"d":{"df":1,"dc":[[41,1]]}},{"k":[65292],"v":[{"k":[24182],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[21491],"v":[{"k":[19978],"v":[{"k":[35282],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[20063],"v":[{"k":[20813],"v":[{"k":[21435],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]},{"k":[25928],"v":[{"k":[26399],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[44,2]]}},{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":2,"dc":[[45,1],[88,1]]}}]}]}]},{"k":[121,117,105,97,101],"v":[{"d":{"df":9,"dc":[[5,1],[30,1],[32,4],[48,1],[63,2],[68,2],[69,1],[85,1],[110,1]]},"k":[47],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[32,1]]},"k":[65292],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,110,115],"v":[{"d":{"df":12,"dc":[[11,1],[12,2],[17,1],[26,3],[33,1],[57,20],[63,7],[66,4],[68,9],[69,1],[81,3],[85,1]]},"k":[41,44,59,65292],"v":[{"d":{"df":3,"dc":[[6,1],[12,1],[33,1]]}},{"d":{"df":9,"dc":[[12,3],[26,2],[42,2],[44,1],[57,3],[68,10],[81,1],[85,18],[106,1]]}},{"d":{"df":3,"dc":[[63,3],[65,1],[88,1]]}},{"k":[36825],"v":[{"k":[20010],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"k":[99],"v":[{"d":{"df":1,"dc":[[54,1]]}}]},{"k":[116],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[88,2]]}}]}]}]},{"k":[97],"v":[{"k":[110,108],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[9,2]]}}]}]}]},{"d":{"df":1,"dc":[[106,1]]},"k":[58],"v":[{"k":[35],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21807],"v":[{"k":[19968],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[25110],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[35],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118,100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,5]]},"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[64,2]]},"k":[40,46],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[59,46],"v":[{"d":{"df":1,"dc":[[64,1]]}},{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110,101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[53,2],[54,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]},{"k":[114,98,107,103,115,112],"v":[{"d":{"df":1,"dc":[[88,5]]},"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[19,1],[64,1]]},"k":[61,58,44],"v":[{"k":[34],"v":[{"k":[95],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[34],"v":[{"k":[62],"v":[{"k":[116],"v":[{"k":[101,114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[101],"v":[{"k":[49,50],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}},{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":4,"dc":[[12,1],[65,1],[79,2],[108,2]]},"k":[59,110,44,49,50],"v":[{"d":{"df":1,"dc":[[12,1]]}},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[44,58],"v":[{"d":{"df":1,"dc":[[65,2]]}},{"d":{"df":1,"dc":[[81,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[79,3]]}},{"d":{"df":1,"dc":[[79,1]]}},{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[101],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"d":{"df":2,"dc":[[36,1],[57,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[107],"v":[{"d":{"df":1,"dc":[[43,5]]},"k":[115,50],"v":[{"d":{"df":3,"dc":[[39,1],[43,1],[48,3]]},"k":[46,58],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[110],"v":[{"k":[49,50,51],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]},{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]},{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[40,1],[48,1]]}}]},{"d":{"df":1,"dc":[[43,1]]}}]}]},{"d":{"df":1,"dc":[[54,1]]}}]},{"k":[101,97,105,111,114,110],"v":[{"d":{"df":15,"dc":[[7,1],[8,3],[9,3],[11,2],[19,20],[20,1],[30,4],[31,4],[43,1],[45,3],[59,2],[76,2],[80,3],[88,24],[102,1]]},"k":[114,109,110,102],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"d":{"df":1,"dc":[[8,1]]},"k":[101],"v":[{"d":{"df":2,"dc":[[26,1],[57,1]]},"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"d":{"df":2,"dc":[[40,2],[63,1]]}},{"k":[117],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]},{"k":[116],"v":[{"d":{"df":4,"dc":[[7,3],[8,1],[31,2],[88,1]]}}]},{"k":[115],"v":[{"d":{"df":6,"dc":[[9,1],[20,1],[29,1],[31,1],[40,1],[88,4]]},"k":[46,97,44],"v":[{"k":[116,108,115,112,36,100,102,105,95,114,104],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[103,99],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[108,105],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[39],"v":[{"k":[41,44],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[37],"v":[{"k":[111],"v":[{"k":[41],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[116,114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[23,1]]}}]},{"k":[116],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111,101],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]},{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39,96],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[58],"v":[{"k":[51],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[95],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,97],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[63,8]]},"k":[46,91,59],"v":[{"k":[102,108,112],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,9]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[99,110,101],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,3]]},"k":[46,91],"v":[{"k":[108,112,102],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[110,101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[100,109],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[44,91],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[117,100],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[44,91],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[44,91],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,7]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[29,1]]},"k":[93],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]},{"k":[111,101],"v":[{"k":[119],"v":[{"d":{"df":4,"dc":[[32,7],[39,4],[52,4],[94,1]]}}]},{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]},{"k":[56],"v":[{"k":[120],"v":[{"k":[52],"v":[{"k":[106],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[113],"v":[{"k":[50],"v":[{"k":[120],"v":[{"k":[110],"v":[{"k":[53],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[106],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[49],"v":[{"k":[115],"v":[{"k":[53],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[48],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[119],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[109],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[120],"v":[{"k":[122],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[113],"v":[{"k":[118],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[106],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[104],"v":[{"k":[48],"v":[{"k":[105],"v":[{"k":[48],"v":[{"k":[97],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,116,112,99,110],"v":[{"k":[101,45],"v":[{"d":{"df":1,"dc":[[79,3]]},"k":[115,111,43,58,46],"v":[{"d":{"df":1,"dc":[[35,1]]},"k":[46,116],"v":[{"d":{"df":1,"dc":[[7,2]]}},{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[41,58,115],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[10,1]]}}]},{"d":{"df":1,"dc":[[64,1]]}},{"k":[58],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[15,1],[33,2]]},"k":[58,59,61],"v":[{"d":{"df":2,"dc":[[17,1],[69,1]]}},{"d":{"df":1,"dc":[[33,1]]}},{"k":[53],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[79,2]]}},{"k":[112],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[53,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[11,3],[57,8]]}}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[35,2]]},"k":[105,39],"v":[{"k":[99,103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[7,1]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[35,2]]}}]}]},{"d":{"df":3,"dc":[[10,2],[79,2],[108,1]]},"k":[46],"v":[{"k":[117,96,116,42],"v":[{"k":[105,115],"v":[{"k":[100],"v":[{"d":{"df":2,"dc":[[10,2],[79,4]]},"k":[61],"v":[{"k":[116],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[44],"v":[{"k":[116],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"k":[116],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[44],"v":[{"k":[116],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[61],"v":[{"k":[116],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"k":[116],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[12,2]]},"k":[99,115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[108,121],"v":[{"d":{"df":2,"dc":[[69,1],[106,2]]},"k":[65292,58,39,65306],"v":[{"k":[21363,40664],"v":[{"k":[21040],"v":[{"k":[26399],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[65292],"v":[{"k":[23613],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[26080],"v":[{"k":[29992],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[38271],"v":[{"k":[26399],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35748],"v":[{"k":[36229],"v":[{"k":[26102],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[13,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]},{"d":{"df":1,"dc":[[107,2]]}}]},{"d":{"df":1,"dc":[[40,2]]},"k":[46],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[19,4]]}}]},{"d":{"df":1,"dc":[[43,6]]},"k":[100],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[112],"v":[{"k":[102,112],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[52,1]]},"k":[47],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]},{"k":[110,105,116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[40],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[79,2],[108,1]]},"k":[46],"v":[{"k":[117,118],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[118],"v":[{"k":[49],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]},"k":[46],"v":[{"k":[49,50],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}},{"k":[59],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25311,22411,24335,26495,22359],"v":[{"k":[22120,28857,19968,35774],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"k":[20013],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[25402],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20987],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[39029],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"k":[20010],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65292],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[21644],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65288],"v":[{"k":[26377],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[28085],"v":[{"k":[30422],"v":[{"k":[21040],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65289],"v":[{"k":[30340],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22791],"v":[{"k":[21457],"v":[{"k":[36865],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[65306],"v":[{"d":{"df":1,"dc":[[25,1]]}}]},{"d":{"df":2,"dc":[[48,1],[93,2]]},"k":[31034],"v":[{"k":[20363],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]},{"k":[24341,40664],"v":[{"k":[25806],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[26367],"v":[{"k":[25442],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35748],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[19979],"v":[{"k":[22270],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21270,44,96],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]},{"d":{"df":1,"dc":[[84,1]]}},{"k":[110],"v":[{"k":[103],"v":[{"k":[120],"v":[{"k":[95],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22791,35745,32622],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"d":{"df":5,"dc":[[6,2],[65,1],[72,1],[90,2],[106,1]]},"k":[24037,24605,26680,20869,65292],"v":[{"k":[20855],"v":[{"d":{"df":2,"dc":[[4,1],[58,1]]}}]},{"k":[36335],"v":[{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[24515],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[23481],"v":[{"k":[19978],"v":[{"k":[30340],"v":[{"k":[20248],"v":[{"k":[21155],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32454],"v":[{"k":[30475],"v":[{"k":[12289],"v":[{"k":[28145],"v":[{"k":[24605],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[35268],"v":[{"k":[33539],"v":[{"k":[19978],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[30524],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[33021],"v":[{"k":[21457],"v":[{"k":[29616],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20027],"v":[{"k":[35201],"v":[{"k":[26469],"v":[{"k":[33258],"v":[{"k":[20110],"v":[{"k":[24605],"v":[{"k":[24819],"v":[{"k":[21644],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":6,"dc":[[13,1],[15,1],[28,1],[54,1],[63,1],[101,1]]},"k":[27493,21796,36828,40664,20026,96,21508,20869],"v":[{"k":[39588],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]},{"k":[37266],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[21035],"v":[{"k":[21517],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]},{"k":[35748],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[23646],"v":[{"k":[24615],"v":[{"k":[36824],"v":[{"k":[33021],"v":[{"k":[38459],"v":[{"k":[27490],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26381],"v":[{"k":[21153],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[23384],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[36807],"v":[{"k":[39640],"v":[{"k":[19978],"v":[{"k":[38480],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[36825],"v":[{"k":[19968],"v":[{"k":[39033],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35774,26465,20973,19968],"v":[{"k":[22791],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[22810],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]},{"k":[25968],"v":[{"k":[25454],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]},{"k":[24490],"v":[{"k":[29615],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[26381,31867],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[22810],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[20998],"v":[{"k":[37197],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]},{"k":[22411],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]},{"d":{"df":1,"dc":[[77,1]]},"k":[19968,20840,20004,20960,22810,20010,30528,24515,33258,20154,28608,26790,24535,24191,30340,26497,25152],"v":[{"k":[27573,20010,20123,21477],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[22312],"v":[{"k":[23478],"v":[{"k":[37324],"v":[{"k":[29992],"v":[{"k":[21488],"v":[{"k":[24335],"v":[{"k":[26426],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[29992],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"k":[20004],"v":[{"k":[21488],"v":[{"k":[20027],"v":[{"k":[21147],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[40635],"v":[{"k":[28902],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[25105],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[25226],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[37117],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[21457],"v":[{"k":[29616],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[21253,39037],"v":[{"k":[25351],"v":[{"k":[23450],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"k":[22266],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20250],"v":[{"k":[29301],"v":[{"k":[19968],"v":[{"k":[21457],"v":[{"k":[32780],"v":[{"k":[21160],"v":[{"k":[20840],"v":[{"k":[36523],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[25104],"v":[{"k":[26412],"v":[{"k":[26368],"v":[{"k":[23567],"v":[{"k":[21270],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[25441],"v":[{"k":[20102],"v":[{"k":[33437],"v":[{"k":[40635],"v":[{"k":[20002],"v":[{"k":[20102],"v":[{"k":[35199],"v":[{"k":[29916],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21476],"v":[{"k":[35805],"v":[{"k":[35828],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]},{"k":[23616],"v":[{"k":[30340],"v":[{"k":[39030],"v":[{"k":[37096],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[26639],"v":[{"k":[21644],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]},{"k":[20010,22788],"v":[{"k":[20316],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[19968],"v":[{"k":[26159],"v":[{"k":[22312],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[39318],"v":[{"k":[20808],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21551],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[30340],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[35762],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21488],"v":[{"k":[36127],"v":[{"k":[36733],"v":[{"k":[22343],"v":[{"k":[34913],"v":[{"k":[22120],"v":[{"k":[44],"v":[{"k":[20165],"v":[{"k":[30830],"v":[{"k":[23450],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[25968],"v":[{"k":[37327],"v":[{"k":[44],"v":[{"k":[19981],"v":[{"k":[30830],"v":[{"k":[23450],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[30828],"v":[{"k":[20214],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[23376],"v":[{"k":[24456],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[26126],"v":[{"k":[30333],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]},{"k":[26126],"v":[{"k":[30830],"v":[{"k":[30340],"v":[{"k":[20998],"v":[{"k":[24037],"v":[{"k":[65292],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[23601],"v":[{"k":[26377],"v":[{"k":[20102],"v":[{"k":[35813],"v":[{"k":[20320],"v":[{"k":[24178],"v":[{"k":[30340],"v":[{"k":[21644],"v":[{"k":[27809],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[20320],"v":[{"k":[24178],"v":[{"k":[30340],"v":[{"k":[21306],"v":[{"k":[20998],"v":[{"k":[65292],"v":[{"k":[23646],"v":[{"k":[20110],"v":[{"k":[20320],"v":[{"k":[32844],"v":[{"k":[36131],"v":[{"k":[33539],"v":[{"k":[22260],"v":[{"k":[30340],"v":[{"k":[37027],"v":[{"k":[19968],"v":[{"k":[22359],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[22823],"v":[{"k":[65292],"v":[{"k":[20570],"v":[{"k":[24471],"v":[{"k":[23613],"v":[{"k":[21892],"v":[{"k":[23613],"v":[{"k":[32654],"v":[{"k":[20063],"v":[{"k":[31639],"v":[{"k":[26159],"v":[{"k":[36731],"v":[{"k":[26494],"v":[{"k":[12290],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20320],"v":[{"k":[24178],"v":[{"k":[39044],"v":[{"k":[30340],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[19981],"v":[{"k":[24102],"v":[{"k":[30528],"v":[{"k":[33258],"v":[{"k":[23398],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[36825],"v":[{"k":[19968],"v":[{"k":[22359],"v":[{"k":[30340],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[27424],"v":[{"k":[32570],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26685],"v":[{"k":[33457],"v":[{"k":[33457],"v":[{"k":[19981],"v":[{"k":[24320],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[24515],"v":[{"k":[26685],"v":[{"k":[26611],"v":[{"k":[26611],"v":[{"k":[25104],"v":[{"k":[33643],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36523],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[21644],"v":[{"k":[20860],"v":[{"k":[23481],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[23616],"v":[{"k":[38480],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[19981],"v":[{"k":[25026],"v":[{"k":[21407],"v":[{"k":[29983],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36825],"v":[{"k":[20040],"v":[{"k":[22238],"v":[{"k":[31572],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]},{"k":[24773],"v":[{"d":{"df":1,"dc":[[97,1]]}}]},{"k":[24819],"v":[{"d":{"df":1,"dc":[[97,1]]}}]},{"k":[19981],"v":[{"k":[22312],"v":[{"k":[24180],"v":[{"k":[39640],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[24535],"v":[{"k":[31354],"v":[{"k":[38271],"v":[{"k":[30334],"v":[{"k":[23681],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27867],"v":[{"k":[30340],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[31215],"v":[{"k":[32047],"v":[{"k":[20570],"v":[{"k":[20381],"v":[{"k":[25176],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[22312],"v":[{"k":[30475],"v":[{"k":[24453],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[20250],"v":[{"k":[20174],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[35282],"v":[{"k":[24230],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[21644],"v":[{"k":[25442],"v":[{"k":[20301],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[65292],"v":[{"k":[20250],"v":[{"k":[27604],"v":[{"k":[24120],"v":[{"k":[20154],"v":[{"k":[30475],"v":[{"k":[24471],"v":[{"k":[26356],"v":[{"k":[21152],"v":[{"k":[36879],"v":[{"k":[24443],"v":[{"k":[21644],"v":[{"k":[28165],"v":[{"k":[26224],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[28176],"v":[{"k":[28176],"v":[{"k":[22320],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[23558],"v":[{"k":[24448],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[30340],"v":[{"k":[31934],"v":[{"k":[31070],"v":[{"k":[39046],"v":[{"k":[34966],"v":[{"k":[20301],"v":[{"k":[32622],"v":[{"k":[38752],"v":[{"k":[25314],"v":[{"k":[12290],"v":[{"k":[24605],"v":[{"k":[24819],"v":[{"k":[27604],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[26356],"v":[{"k":[26377],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22797],"v":[{"k":[21046],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[24605],"v":[{"k":[24819],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20154],"v":[{"k":[30830],"v":[{"k":[23454],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[24456],"v":[{"k":[24378],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"k":[20248],"v":[{"k":[31168],"v":[{"k":[30340],"v":[{"k":[29305],"v":[{"k":[27530],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[20010],"v":[{"k":[20363],"v":[{"k":[20801],"v":[{"k":[35768],"v":[{"k":[24573],"v":[{"k":[35270],"v":[{"k":[26412],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[26465],"v":[{"k":[30446],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[32477],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[19979],"v":[{"k":[20855],"v":[{"k":[26377],"v":[{"k":[36981],"v":[{"k":[23432],"v":[{"k":[24847],"v":[{"k":[20041],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24314],"v":[{"k":[26641],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]},{"d":{"df":3,"dc":[[5,1],[36,1],[68,1]]},"k":[24573,19981,19968,32463,39044,36890,35774,21542,36825,30001,30340],"v":[{"k":[30053],"v":[{"k":[25481],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[21478],"v":[{"k":[22806],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65288],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"k":[65289],"v":[{"k":[20043],"v":[{"k":[31867],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21516],"v":[{"k":[27493],"v":[{"k":[12290],"v":[{"k":[32842],"v":[{"k":[22825],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[27493],"v":[{"k":[65292],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[32032],"v":[{"k":[26448],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[39069],"v":[{"k":[22806],"v":[{"k":[30340],"v":[{"k":[21516],"v":[{"k":[27493],"v":[{"k":[31561],"v":[{"k":[31561],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[38752],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]},{"k":[27454,20010],"v":[{"k":[30001,36731],"v":[{"d":{"df":1,"dc":[[14,1]]}},{"k":[37327],"v":[{"k":[32423],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]},{"d":{"df":1,"dc":[[37,1]]},"k":[29992,20165,22522,29420,24320],"v":[{"k":[20110],"v":[{"k":[25506,26500],"v":[{"k":[32034],"v":[{"k":[21644],"v":[{"k":[23454],"v":[{"k":[39564],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]},{"k":[24314],"v":[{"k":[21644],"v":[{"k":[21457],"v":[{"k":[24067],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]},{"k":[26377],"v":[{"d":{"df":1,"dc":[[37,1]]}}]},{"k":[20110],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[31435],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]},{"k":[28304],"v":[{"k":[30340],"v":[{"k":[22270],"v":[{"k":[24418],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[40],"v":[{"k":[22522],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36807],"v":[{"k":[35797],"v":[{"k":[39564],"v":[{"k":[24471],"v":[{"k":[20986],"v":[{"k":[30340],"v":[{"k":[36739],"v":[{"k":[20248],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[22788],"v":[{"k":[29702],"v":[{"k":[20989],"v":[{"k":[25968],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]},{"k":[36807],"v":[{"d":{"df":1,"dc":[[32,1]]}}]},{"k":[32622],"v":[{"k":[21035],"v":[{"k":[21517],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]},{"k":[21551,24050],"v":[{"k":[29992],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[32463],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[35813],"v":[{"k":[32593],"v":[{"k":[31449],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]},{"k":[26679,20010],"v":[{"k":[23376],"v":[{"k":[30340],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]},{"k":[19990],"v":[{"k":[30028],"v":[{"k":[19978],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,3]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[20855,27442,20316],"v":[{"k":[24212,65306,41,31665,65292],"v":[{"k":[24403],"v":[{"k":[26159],"v":[{"k":[29992],"v":[{"k":[26469],"v":[{"k":[25552],"v":[{"k":[21319],"v":[{"k":[29983],"v":[{"k":[20135],"v":[{"k":[21147],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[38477],"v":[{"k":[20302],"v":[{"k":[29983],"v":[{"k":[20135],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"k":[25105],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[32780],"v":[{"k":[35328],"v":[{"k":[65292],"v":[{"k":[40635],"v":[{"k":[28902],"v":[{"k":[27604],"v":[{"k":[26041],"v":[{"k":[20415],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[12290],"v":[{"k":[25105],"v":[{"k":[30446],"v":[{"k":[21069],"v":[{"k":[30340],"v":[{"k":[29702],"v":[{"k":[24819],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[26159],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[23478],"v":[{"k":[37324],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[21488],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[10,1],[31,1],[72,3]]}},{"d":{"df":1,"dc":[[58,2]]}},{"d":{"df":1,"dc":[[60,1]]}},{"k":[22914],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]},{"k":[21892],"v":[{"k":[20854],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[24517],"v":[{"k":[20808],"v":[{"k":[21033],"v":[{"k":[20854],"v":[{"k":[22120],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26632,30340,19981,24180],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[26102],"v":[{"k":[26426],"v":[{"k":[25104],"v":[{"k":[29087],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[20877],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[22238],"v":[{"k":[26469],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[26242],"v":[{"k":[26102],"v":[{"k":[25552],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[21518],"v":[{"k":[38754],"v":[{"k":[22312],"v":[{"k":[25216],"v":[{"k":[24039],"v":[{"k":[31687],"v":[{"k":[20250],"v":[{"k":[37325],"v":[{"k":[28857],"v":[{"k":[35762],"v":[{"k":[35299],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21069,36873],"v":[{"k":[20004],"v":[{"k":[24180],"v":[{"d":{"df":1,"dc":[[95,1]]},"k":[65292],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[36731],"v":[{"k":[26131],"v":[{"k":[36339],"v":[{"k":[27133],"v":[{"k":[12290],"v":[{"k":[22312],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[30340],"v":[{"k":[36339],"v":[{"k":[27133],"v":[{"k":[65292],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[24330],"v":[{"k":[31471],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25321],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]},{"k":[21487,21333],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]},{"k":[32431],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[12290],"v":[{"k":[20154],"v":[{"k":[26080],"v":[{"k":[36828],"v":[{"k":[34385],"v":[{"k":[65292],"v":[{"k":[24517],"v":[{"k":[26377],"v":[{"k":[36817],"v":[{"k":[24551],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38480],"v":[{"k":[19981],"v":[{"k":[28385],"v":[{"k":[19977],"v":[{"k":[24180],"v":[{"k":[65292],"v":[{"k":[33021],"v":[{"k":[21015],"v":[{"k":[20986],"v":[{"k":[19968],"v":[{"k":[22823],"v":[{"k":[22534],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[12289],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[65292],"v":[{"k":[21508],"v":[{"k":[39033],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[29087],"v":[{"k":[32451],"v":[{"k":[25484],"v":[{"k":[25569],"v":[{"k":[12289],"v":[{"k":[31934],"v":[{"k":[36890],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[38754],"v":[{"k":[35797],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21512,32622],"v":[{"d":{"df":5,"dc":[[20,1],[45,1],[54,1],[70,1],[79,1]]},"k":[19968],"v":[{"k":[20010],"v":[{"k":[22823],"v":[{"k":[23631],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[22806],"v":[{"k":[38754],"v":[{"k":[24102],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":13,"dc":[[26,5],[45,4],[49,3],[54,1],[57,2],[61,3],[63,2],[67,2],[68,1],[84,1],[88,2],[92,1],[106,1]]},"k":[30005,36335,21160,26080,20851,19968,36827,26368,44,25991,65306,39033,96,58,25163,24320,25968],"v":[{"k":[28304],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"k":[30001],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[22120,40],"v":[{"d":{"df":1,"dc":[[5,1]]}},{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]},{"k":[24577],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[35299],"v":[{"k":[26512],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]},{"k":[20154],"v":[{"k":[20540],"v":[{"k":[23432],"v":[{"k":[21644],"v":[{"k":[36731],"v":[{"k":[26494],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]},{"k":[38381],"v":[{"d":{"df":1,"dc":[[21,1]]}}]},{"k":[20010],"v":[{"k":[26368],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[30340],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]},{"k":[34892],"v":[{"k":[26367],"v":[{"k":[25442],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]},{"k":[20339],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[23601],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[20214],"v":[{"d":{"df":1,"dc":[[93,1]]},"k":[21442,20462,36335,12290,21487,44],"v":[{"k":[32771],"v":[{"k":[65306],"v":[{"d":{"df":3,"dc":[[41,1],[46,1],[85,1]]}}]}]},{"k":[25913],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[24452],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]},{"d":{"df":1,"dc":[[63,1]]}},{"k":[20197],"v":[{"k":[23558],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[21450],"v":[{"k":[21508],"v":[{"k":[20010],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[20415],"v":[{"k":[20110],"v":[{"k":[21518],"v":[{"k":[36793],"v":[{"k":[20877],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"k":[35843],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[26377],"v":[{"k":[38024],"v":[{"k":[23545],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21442],"v":[{"k":[32771],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"d":{"df":2,"dc":[[44,3],[82,1]]}},{"k":[30446,38750],"v":[{"d":{"df":1,"dc":[[49,1]]}},{"k":[24120],"v":[{"k":[32321],"v":[{"k":[29712],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,2]]}},{"k":[21160],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]},{"k":[26426],"v":[{"k":[33258],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[25454],"v":[{"k":[24211],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[33322,21518,26426,30528],"v":[{"k":[20805],"v":[{"k":[24403],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21103],"v":[{"k":[23631],"v":[{"k":[20020],"v":[{"k":[26102],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[36275],"v":[{"k":[30691],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20250],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[22312],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[22841],"v":[{"k":[24314],"v":[{"k":[31435],"v":[{"k":[32593],"v":[{"k":[31449],"v":[{"k":[25152],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[12290],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[25353],"v":[{"k":[29031],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"k":[65292],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[36865],"v":[{"k":[21040],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[25110],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[20107],"v":[{"k":[20214],"v":[{"k":[19978],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[31185],"v":[{"k":[25216],"v":[{"k":[30340],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[25321,39033],"v":[{"k":[26174,21644,20381,20320],"v":[{"k":[31034],"v":[{"k":[22120],"v":[{"k":[19968],"v":[{"k":[33324],"v":[{"k":[20250],"v":[{"k":[32416],"v":[{"k":[32467],"v":[{"k":[39640],"v":[{"k":[20998],"v":[{"k":[23631],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[39640],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[29575],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[26159],"v":[{"k":[22823],"v":[{"k":[23631],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[24102],"v":[{"k":[40060],"v":[{"k":[23631],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21019],"v":[{"k":[24314],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[14,2]]}}]}]}]}]},{"k":[36182],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[20013],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[25152],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[30340],"v":[{"k":[20027],"v":[{"k":[39064],"v":[{"k":[24182],"v":[{"k":[21551],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[20197],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"d":{"df":14,"dc":[[4,1],[13,1],[14,1],[20,1],[21,1],[26,2],[28,1],[42,1],[50,1],[51,1],[63,1],[68,2],[70,1],[92,1]]},"k":[32773,21333,28789,65292,20854,26159],"v":[{"d":{"df":3,"dc":[[3,1],[59,1],[72,1]]},"k":[20854,20351,30452,28857,21482,26159,36890],"v":[{"k":[20182],"v":[{"k":[41,30340,29615],"v":[{"d":{"df":1,"dc":[[5,2]]}},{"k":[12290],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[23567],"v":[{"k":[30340],"v":[{"k":[31373],"v":[{"k":[38376],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[20889],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22659],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[20301],"v":[{"k":[20110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"k":[25509],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[96],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[20026],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20987],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[26410],"v":[{"k":[21152],"v":[{"k":[36733],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[26576],"v":[{"k":[20010],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[23545],"v":[{"k":[20110],"v":[{"k":[23458],"v":[{"k":[25143],"v":[{"k":[23450],"v":[{"k":[21046],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[21270],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20439],"v":[{"k":[30340],"v":[{"k":[21483],"v":[{"k":[27861],"v":[{"k":[20026],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[21592],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26465],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[26356,21024],"v":[{"k":[25913],"v":[{"d":{"df":1,"dc":[[10,1]]}}]},{"k":[38500],"v":[{"k":[65292],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]},{"k":[27963],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[31181],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[65292],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"k":[21738],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20182],"v":[{"k":[32534],"v":[{"k":[36753],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[20320],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39033],"v":[{"k":[30446],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]},{"d":{"df":5,"dc":[[9,1],[25,1],[27,2],[34,1],[39,1]]},"k":[48,57,55,41,44,54,49,52,46,53],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[119,48,53,41,44,115],"v":[{"d":{"df":1,"dc":[[3,1]]}},{"k":[41,115,48],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[13,2]]}}]},{"d":{"df":1,"dc":[[13,1]]}},{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[57],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[85,1]]}},{"d":{"df":1,"dc":[[106,2]]}},{"d":{"df":1,"dc":[[109,1]]}}]},{"d":{"df":1,"dc":[[44,1]]},"k":[57],"v":[{"k":[41,57],"v":[{"d":{"df":1,"dc":[[10,2]]}},{"k":[57],"v":[{"k":[57],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[10,1]]},"k":[119],"v":[{"k":[122],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[57],"v":[{"k":[109],"v":[{"k":[118],"v":[{"k":[53],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[55],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[52],"v":[{"k":[112],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[51],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[122],"v":[{"k":[56],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[113],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[104],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[104],"v":[{"k":[119],"v":[{"k":[121],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[56],"v":[{"k":[105],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[111],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[31,1]]}}]},{"d":{"df":2,"dc":[[31,1],[48,6]]}},{"k":[56],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[54,109,37],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[109],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[48],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]},{"k":[21521],"v":[{"k":[20805],"v":[{"k":[30005],"v":[{"k":[30340],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[22120],"v":[{"k":[12290],"v":[{"k":[24403],"v":[{"k":[19979],"v":[{"k":[39134],"v":[{"k":[21033],"v":[{"k":[28006],"v":[{"k":[30340],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20806],"v":[{"k":[32593],"v":[{"k":[21475],"v":[{"k":[65292],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[19981],"v":[{"k":[38169],"v":[{"k":[30340],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[18,1]]},"k":[40060],"v":[{"k":[23631],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[51],"v":[{"k":[50],"v":[{"k":[58],"v":[{"k":[57],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]},{"k":[29575],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[20915],"v":[{"k":[23450],"v":[{"k":[20102],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[25317],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[22359],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[23631],"v":[{"k":[24149],"v":[{"k":[12290],"v":[{"k":[24182],"v":[{"k":[19988],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[22806],"v":[{"k":[25509],"v":[{"k":[23631],"v":[{"k":[24149],"v":[{"k":[26469],"v":[{"k":[35828],"v":[{"k":[23601],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[19981],"v":[{"k":[21451],"v":[{"k":[22909],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24102,21160,23450,34892,25105,23398],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[22120],"v":[{"k":[20877],"v":[{"k":[24102],"v":[{"k":[19968],"v":[{"k":[22359],"v":[{"k":[22823],"v":[{"k":[23631],"v":[{"k":[12290],"v":[{"k":[31508],"v":[{"k":[35760],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[19978],"v":[{"k":[26469],"v":[{"k":[35828],"v":[{"k":[21478],"v":[{"k":[22806],"v":[{"k":[25509],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[22823],"v":[{"k":[23631],"v":[{"k":[22815],"v":[{"k":[29992],"v":[{"k":[65288],"v":[{"k":[38024],"v":[{"k":[23545],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29983,25991,37096,23450,37325,23436],"v":[{"k":[25104],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[26723],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]},{"k":[32626],"v":[{"k":[33050],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[20301],"v":[{"k":[21040],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[30340],"v":[{"k":[31070],"v":[{"k":[22120],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21551],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[25104],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]},{"k":[20041],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[25554,26679],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[24335],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"k":[23553],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[23454,27835],"v":[{"k":[29616],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65288],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[39640],"v":[{"k":[23618],"v":[{"k":[27425],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65292],"v":[{"k":[21253],"v":[{"k":[25324],"v":[{"k":[38024],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"k":[30495],"v":[{"k":[21892],"v":[{"k":[32654],"v":[{"k":[33267],"v":[{"k":[39640],"v":[{"k":[20154],"v":[{"k":[29983],"v":[{"k":[22659],"v":[{"k":[30028],"v":[{"k":[33719],"v":[{"k":[24471],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[27492],"v":[{"k":[21069],"v":[{"k":[38754],"v":[{"k":[22235],"v":[{"k":[39033],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[37117],"v":[{"k":[33021],"v":[{"k":[28385],"v":[{"k":[36275],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[39640],"v":[{"k":[23618],"v":[{"k":[27425],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[26041],"v":[{"k":[33021],"v":[{"k":[30456],"v":[{"k":[32487],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[34893],"v":[{"k":[29983],"v":[{"k":[24615],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"k":[33258],"v":[{"k":[25105],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[65292],"v":[{"k":[21457],"v":[{"k":[25381],"v":[{"k":[28508],"v":[{"k":[33021],"v":[{"k":[31561],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30103],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]},{"k":[33021],"v":[{"k":[21147],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]},{"k":[20316],"v":[{"k":[31995,65292],"v":[{"k":[32479],"v":[{"d":{"df":1,"dc":[[3,1]]},"k":[65288],"v":[{"k":[111],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20174],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[36827],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20195,22312,20462,24403,20379,21015],"v":[{"k":[34920],"v":[{"k":[25105],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[24515],"v":[{"k":[24471],"v":[{"k":[19982],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[12290],"v":[{"k":[32431],"v":[{"k":[31929],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[22909],"v":[{"k":[24694],"v":[{"k":[65292],"v":[{"k":[20165],"v":[{"k":[20379],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20844],"v":[{"k":[21496],"v":[{"k":[37197],"v":[{"k":[22791],"v":[{"k":[30340],"v":[{"k":[21150],"v":[{"k":[20844],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[21450],"v":[{"k":[24179],"v":[{"k":[26495],"v":[{"k":[20108],"v":[{"k":[21512],"v":[{"k":[19968],"v":[{"k":[30005],"v":[{"k":[33041],"v":[{"k":[20013],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[36807],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[26032],"v":[{"k":[40092],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20102],"v":[{"k":[35299],"v":[{"k":[27424],"v":[{"k":[32570],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25913],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[40664],"v":[{"k":[35748],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[34987],"v":[{"k":[21344],"v":[{"k":[29992],"v":[{"k":[26102],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[24320],"v":[{"k":[21457],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[20986],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[22312],"v":[{"k":[25105],"v":[{"k":[36523],"v":[{"k":[19978],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[36807],"v":[{"k":[30340],"v":[{"k":[30151],"v":[{"k":[29366],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27491,65292,20869,30340,20197],"v":[{"k":[24335],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[25165],"v":[{"k":[20986],"v":[{"k":[20102],"v":[{"k":[8220],"v":[{"k":[29233],"v":[{"k":[22269],"v":[{"k":[32773],"v":[{"k":[32858],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[8221],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[31245],"v":[{"k":[24494],"v":[{"k":[26377],"v":[{"k":[28857],"v":[{"k":[31070],"v":[{"k":[20284],"v":[{"k":[30340],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24037],"v":[{"k":[20316],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[24180],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[20004],"v":[{"k":[27425],"v":[{"k":[34218],"v":[{"k":[36164],"v":[{"k":[65292],"v":[{"k":[24133],"v":[{"k":[24230],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[27599],"v":[{"k":[24180],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[34218],"v":[{"k":[36164],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[65292],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[20174],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19978],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[24180],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[34218],"v":[{"k":[36164],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[22266],"v":[{"k":[23450],"v":[{"k":[65292],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[19994],"v":[{"k":[32489],"v":[{"k":[25928],"v":[{"k":[30410],"v":[{"k":[32473],"v":[{"k":[20104],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[22870],"v":[{"k":[21169],"v":[{"k":[25110],"v":[{"k":[34218],"v":[{"k":[36164],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[65292],"v":[{"k":[22833],"v":[{"k":[35823],"v":[{"k":[22833],"v":[{"k":[32844],"v":[{"k":[38477],"v":[{"k":[34218],"v":[{"k":[12289],"v":[{"k":[28120],"v":[{"k":[27760],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33829],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[27492],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[25240],"v":[{"k":[33150],"v":[{"k":[36807],"v":[{"k":[19968],"v":[{"k":[27573],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[40657],"v":[{"k":[33529],"v":[{"k":[26524],"v":[{"k":[12290],"v":[{"k":[21518],"v":[{"k":[26469],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31995,27169,22270,33756],"v":[{"k":[32479],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[22359],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,1]]}},{"k":[21333],"v":[{"k":[36229],"v":[{"k":[36807],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[31105],"v":[{"k":[27490],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"d":{"df":1,"dc":[[63,3]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22659],"v":[{"d":{"df":2,"dc":[[45,1],[106,1]]},"k":[65288,37197,21464],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"k":[32622],"v":[{"d":{"df":1,"dc":[[41,1]]}}]},{"k":[37327],"v":[{"d":{"df":1,"dc":[[70,1]]},"k":[21487,65288,37197],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[20004],"v":[{"k":[31181],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]},{"d":{"df":3,"dc":[[7,7],[27,1],[43,1]]},"k":[97,101,41,108,111,121,114,117,105,93,98,100,65292],"v":[{"k":[115,98,114,108],"v":[{"k":[104,101,107],"v":[{"d":{"df":2,"dc":[[45,3],[54,1]]},"k":[47,12290],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[25191],"v":[{"k":[34892],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[26,2],[68,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[68,2]]}}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,2]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":6,"dc":[[26,1],[46,1],[49,1],[63,1],[68,1],[106,1]]},"k":[45,46,58,44],"v":[{"k":[101,112,114,99,108,110],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[106,1]]},"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[114,108,111],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[101,114,102,115],"v":[{"k":[110,115],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[50],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[106,1]]},"k":[45],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[116,105],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[114,100,99,111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[26,1],[106,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[121],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]},{"k":[117,101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[26,1],[106,1]]}}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[46,2],[106,1]]}}]}]}]}]}]}]}]},{"k":[111,108],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[105],"v":[{"d":{"df":2,"dc":[[46,1],[49,1]]}}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[46,2]]}}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]},{"d":{"df":1,"dc":[[58,1]]}},{"d":{"df":1,"dc":[[67,1]]}}]}]}]},{"d":{"df":1,"dc":[[27,2]]},"k":[93,112,116,101],"v":[{"d":{"df":1,"dc":[[27,1]]}},{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[27,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[66,1]]}}]},{"k":[115],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[113],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]},{"d":{"df":6,"dc":[[7,1],[8,1],[30,1],[31,1],[40,2],[52,2]]},"k":[110,116,102,103,104,97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[109,40,101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[107],"v":[{"d":{"df":2,"dc":[[6,1],[33,2]]}}]}]}]},{"k":[39],"v":[{"k":[116,105,115,102,109,60],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]}]},{"k":[110,102],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[47,3]]}}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[33,1]]},"k":[39,101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]},{"k":[60],"v":[{"d":{"df":1,"dc":[[47,3]]}}]}]}]},{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]},{"k":[119,97],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]},{"d":{"df":1,"dc":[[50,1]]}}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[101,95,58,44],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}},{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[101,95],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[7,1],[8,1]]},"k":[59],"v":[{"d":{"df":2,"dc":[[8,1],[27,1]]}}]},{"k":[111],"v":[{"k":[98,103,99],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[95,115,41,46],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46,95],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[77,4]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[77,1]]}},{"k":[111,112],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[101],"v":[{"k":[114,110],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]},{"k":[100],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[42,103,12290],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[107],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"k":[45],"v":[{"d":{"df":1,"dc":[[88,2]]}}]}]}]}]}]}]}]}]},{"k":[100,111,117],"v":[{"k":[121],"v":[{"d":{"df":3,"dc":[[76,1],[79,1],[80,1]]},"k":[112,41,58],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[15,1]]},"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]},{"d":{"df":1,"dc":[[80,2]]}}]}]},{"k":[116,107,108,109],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[40,95],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,3]]},"k":[59],"v":[{"d":{"df":1,"dc":[[20,3]]}}]}]},{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[53],"v":[{"k":[51],"v":[{"k":[53],"v":[{"k":[58],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[44,1]]},"k":[44,46],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[44,3]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"d":{"df":1,"dc":[[53,1]]}}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[23,1]]},"k":[41],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":6,"dc":[[11,1],[19,1],[35,1],[79,2],[82,8],[88,6]]},"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[111,97,101],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41,46,58],"v":[{"d":{"df":1,"dc":[[15,1]]}},{"k":[99,101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[50],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]},{"k":[110,99],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":2,"dc":[[36,4],[45,1]]},"k":[65306,39,46,58,101],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"k":[23601],"v":[{"k":[20250],"v":[{"k":[21015],"v":[{"k":[20986],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[41,1],[45,1]]}},{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[119,97],"v":[{"d":{"df":4,"dc":[[51,2],[54,9],[55,1],[58,1]]}},{"k":[107],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,4]]}}]}]}]}]},{"k":[105,98,102,110,103],"v":[{"k":[108],"v":[{"k":[100],"v":[{"d":{"df":2,"dc":[[45,3],[88,3]]},"k":[46,58,101,40,41,34],"v":[{"d":{"df":1,"dc":[[19,6]]},"k":[115],"v":[{"k":[104],"v":[{"k":[12290,65306],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[26159],"v":[{"k":[25105],"v":[{"k":[25152],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"d":{"df":1,"dc":[[21,1]]}},{"k":[114],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[45,1]]}},{"d":{"df":1,"dc":[[49,1]]}}]}]}]},{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]},{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115,34],"v":[{"d":{"df":1,"dc":[[40,2]]},"k":[47],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,2]]}}]}]}]}]},{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]},{"k":[110,116],"v":[{"d":{"df":1,"dc":[[93,1]]},"k":[100,96],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]},"k":[40],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]},"k":[34],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]},{"k":[109,115],"v":[{"k":[97],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"d":{"df":1,"dc":[[27,1]]}},{"k":[97,46],"v":[{"k":[102],"v":[{"k":[54],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[54],"v":[{"k":[48],"v":[{"k":[98],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[57],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[54],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[56],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[100],"v":[{"k":[54],"v":[{"k":[102],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[39,65292],"v":[{"k":[65292,37027,26469],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]},{"k":[20040],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[23601],"v":[{"k":[21482],"v":[{"k":[21097],"v":[{"k":[19979],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]},{"k":[26631],"v":[{"k":[35760],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[34987],"v":[{"k":[20320],"v":[{"k":[36824],"v":[{"k":[21407],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[20197],"v":[{"k":[21518],"v":[{"k":[20320],"v":[{"k":[24819],"v":[{"k":[26597],"v":[{"k":[30475],"v":[{"k":[35813],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[26102],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105],"v":[{"k":[20204],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[20102],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21482],"v":[{"k":[20250],"v":[{"k":[35828],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[20570],"v":[{"k":[65292],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[19978],"v":[{"k":[25361],"v":[{"k":[19977],"v":[{"k":[25315],"v":[{"k":[22235],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[20808],"v":[{"k":[24320],"v":[{"k":[38500],"v":[{"k":[20320],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[24320],"v":[{"k":[38500],"v":[{"k":[35841],"v":[{"k":[65311],"v":[{"k":[36824],"v":[{"k":[24819],"v":[{"k":[21319],"v":[{"k":[32844],"v":[{"k":[21152],"v":[{"k":[34218],"v":[{"k":[65292],"v":[{"k":[36814],"v":[{"k":[23094],"v":[{"k":[30333],"v":[{"k":[23500],"v":[{"k":[32654],"v":[{"k":[65311],"v":[{"k":[20570],"v":[{"k":[26790],"v":[{"k":[21543],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"d":{"df":3,"dc":[[52,2],[62,2],[93,1]]},"k":[65288],"v":[{"k":[20248],"v":[{"k":[20808],"v":[{"k":[65289],"v":[{"k":[43],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[65288],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22312],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[37324],"v":[{"k":[19968],"v":[{"k":[30452],"v":[{"k":[20834],"v":[{"k":[20834],"v":[{"k":[19994],"v":[{"k":[19994],"v":[{"k":[65292],"v":[{"k":[21508],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[34920],"v":[{"k":[29616],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[20026],"v":[{"k":[31361],"v":[{"k":[20986],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[20063],"v":[{"k":[23646],"v":[{"k":[20110],"v":[{"k":[21069],"v":[{"k":[21015],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[36367],"v":[{"k":[23454],"v":[{"k":[65292],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20132],"v":[{"k":[32473],"v":[{"k":[20182],"v":[{"k":[37117],"v":[{"k":[21313],"v":[{"k":[20998],"v":[{"k":[25918],"v":[{"k":[24515],"v":[{"k":[12290],"v":[{"k":[22312],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[20004],"v":[{"k":[24180],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[24037],"v":[{"k":[36164],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[19978],"v":[{"k":[28072],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[20016,22810],"v":[{"k":[23500],"v":[{"k":[65288],"v":[{"k":[23588],"v":[{"k":[20854],"v":[{"k":[26159],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]},{"k":[20063],"v":[{"k":[38754],"v":[{"k":[20020],"v":[{"k":[30528],"v":[{"k":[22403],"v":[{"k":[22334],"v":[{"k":[36719],"v":[{"k":[20214],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[39118],"v":[{"k":[38505],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24418,34920,30465,29255,30340,26631,65292],"v":[{"k":[30028],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[36719],"v":[{"k":[20214],"v":[{"k":[65289],"v":[{"k":[19988],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[43,1],[56,1]]},"k":[30340,25353],"v":[{"k":[23481],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[26102],"v":[{"k":[38388],"v":[{"k":[23637],"v":[{"k":[31034],"v":[{"k":[22312],"v":[{"k":[32447],"v":[{"k":[29366],"v":[{"k":[20917],"v":[{"k":[21450],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20107],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[20808],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[22312],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[40],"v":[{"k":[25110],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21387,36716],"v":[{"k":[32553],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[58,1],[60,1]]}}]}]},{"k":[25991],"v":[{"k":[23383],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[60,1]]}}]}]}]}]},{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[23450],"v":[{"k":[35201],"v":[{"k":[25353],"v":[{"k":[29031],"v":[{"k":[29305],"v":[{"k":[23450],"v":[{"k":[35268],"v":[{"k":[24459],"v":[{"k":[25490],"v":[{"k":[21015],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[30053],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]},{"k":[26412,36367],"v":[{"d":{"df":1,"dc":[[86,1]]},"k":[47,65306,25209],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[34892],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[33,1]]}},{"k":[37327],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]},{"k":[23454],"v":[{"k":[22320],"v":[{"k":[65292,44],"v":[{"k":[24490],"v":[{"k":[24207],"v":[{"k":[28176],"v":[{"k":[36827],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]},{"k":[20214,26723,31456],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[31649,65306,31034,24341,46,44,21040,20174,65289,32534,65292,29983,25110,20250,25918,12290,22841,36827,30446,36335,20301,20013],"v":[{"k":[29702],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[47],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[65288],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[36941],"v":[{"k":[21382],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[21450],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[19982],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]},"k":[109],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[20837],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[21019],"v":[{"k":[24314],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[24211],"v":[{"k":[44],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[20110],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[40],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[44],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[36731],"v":[{"k":[26131],"v":[{"k":[25913],"v":[{"k":[21160],"v":[{"k":[41],"v":[{"k":[44],"v":[{"k":[36825],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"k":[23427],"v":[{"k":[25918],"v":[{"k":[21040],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[19978],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[25226],"v":[{"k":[21487],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[36,1]]}},{"k":[19978],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24050],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[20013],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[22238],"v":[{"k":[26469],"v":[{"k":[65292],"v":[{"k":[26410],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[20840],"v":[{"k":[37096],"v":[{"k":[20250],"v":[{"k":[22238],"v":[{"k":[28378],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[21152],"v":[{"k":[36733],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[35793],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[24182,39318,22240,110,19979,21442],"v":[{"k":[26681,20197],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[27492],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[26500],"v":[{"k":[24314],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[20808],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[112],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]},{"k":[36733],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[25302],"v":[{"k":[20837],"v":[{"k":[35895],"v":[{"k":[27468],"v":[{"k":[25193],"v":[{"k":[23637],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[24182],"v":[{"k":[24320],"v":[{"k":[21551],"v":[{"k":[65294],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[23436],"v":[{"k":[27605],"v":[{"k":[21518],"v":[{"k":[20250],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[24320],"v":[{"k":[21551],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"k":[30028],"v":[{"k":[38754],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25968],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[24322],"v":[{"k":[27493],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[24102],"v":[{"k":[20837],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[25104],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[32593],"v":[{"k":[39029],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[32773],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[37117],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20808],"v":[{"k":[29992],"v":[{"k":[27492],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[35843],"v":[{"k":[35797],"v":[{"k":[65292],"v":[{"k":[23588],"v":[{"k":[20854],"v":[{"k":[26159],"v":[{"k":[24403],"v":[{"k":[20320],"v":[{"k":[24819],"v":[{"k":[35843],"v":[{"k":[35797],"v":[{"k":[26032],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[30340],"v":[{"k":[20027],"v":[{"k":[39064],"v":[{"k":[26102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33258],"v":[{"k":[21160],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[21040],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":2,"dc":[[45,1],[51,1]]}},{"k":[21527],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[34892],"v":[{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[24405],"v":[{"k":[44],"v":[{"k":[25110],"v":[{"k":[20998],"v":[{"k":[31867],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[23384],"v":[{"k":[25918],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]},{"k":[24452],"v":[{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[32622],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]},{"k":[12290,65307],"v":[{"d":{"df":1,"dc":[[89,1]]}},{"k":[30331],"v":[{"k":[24405],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[74,1]]},"k":[25968,19981,65306,35828,30340,21253,20301,32763,40],"v":[{"k":[25454],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[24314],"v":[{"k":[35758],"v":[{"k":[26597],"v":[{"k":[30475],"v":[{"k":[20013],"v":[{"k":[25991],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[32769],"v":[{"k":[26087],"v":[{"k":[65288],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[26412],"v":[{"k":[25991],"v":[{"k":[26102],"v":[{"k":[30446],"v":[{"k":[21069],"v":[{"k":[33521],"v":[{"k":[25991],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[96],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[96],"v":[{"k":[32780],"v":[{"k":[20013],"v":[{"k":[25991],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[36824],"v":[{"k":[20572],"v":[{"k":[30041],"v":[{"k":[22312],"v":[{"k":[96],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[96],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]}},{"k":[26126],"v":[{"k":[65306],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[113],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[47],"v":[{"k":[50],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[47],"v":[{"k":[54],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32593],"v":[{"k":[31449],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]},{"k":[21547],"v":[{"k":[22312],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[20013],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]},{"k":[20110],"v":[{"k":[96],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[96],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[30340],"v":[{"k":[96],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35793],"v":[{"k":[65306],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35774],"v":[{"k":[35745],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[23383,26102],"v":[{"k":[25968],"v":[{"k":[32479],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]},{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[21153],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[22120,12290,20013],"v":[{"d":{"df":1,"dc":[[48,3]]},"k":[19978,29615,31471,28210,21518],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[31574],"v":[{"k":[30053],"v":[{"k":[19981],"v":[{"k":[19968],"v":[{"k":[33268],"v":[{"k":[31561],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22659],"v":[{"k":[21957],"v":[{"k":[25506],"v":[{"d":{"df":1,"dc":[[58,2]]}}]}]}]},{"d":{"df":2,"dc":[[59,1],[75,1]]},"k":[25509,65306],"v":[{"k":[25910],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]},{"k":[109],"v":[{"k":[118],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]},{"k":[26579],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[31471],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[34,1],[106,1]]}},{"k":[65292],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]},{"k":[38590,31616,22810,26089,23569],"v":[{"k":[21435],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[23436],"v":[{"k":[25972],"v":[{"k":[19988],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[12290],"v":[{"k":[30456],"v":[{"k":[36739],"v":[{"k":[20110],"v":[{"k":[22270],"v":[{"k":[24418],"v":[{"k":[30028],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[26356],"v":[{"k":[21916],"v":[{"k":[27426],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[34892],"v":[{"k":[26469],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[25105],"v":[{"k":[30340],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21333],"v":[{"k":[44],"v":[{"k":[22635],"v":[{"k":[20837],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[21644],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33050,24180,26102,20154],"v":[{"k":[25163],"v":[{"k":[26550],"v":[{"k":[36824],"v":[{"k":[20572],"v":[{"k":[30041],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[36731],"v":[{"k":[20154],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[36215],"v":[{"k":[26469],"v":[{"k":[20284],"v":[{"k":[20046],"v":[{"k":[20174],"v":[{"k":[26469],"v":[{"k":[19981],"v":[{"k":[22810],"v":[{"k":[21152],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[24819],"v":[{"k":[35937],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[20250],"v":[{"k":[36319],"v":[{"k":[30528],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[25351],"v":[{"k":[31034],"v":[{"k":[21435],"v":[{"k":[20570],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[20973],"v":[{"k":[30528],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[24863],"v":[{"k":[35273],"v":[{"k":[21435],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[12290],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[65292],"v":[{"k":[19978],"v":[{"k":[27425],"v":[{"k":[20570],"v":[{"k":[36807],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[27425],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[20570],"v":[{"k":[12290],"v":[{"k":[23601],"v":[{"k":[20687],"v":[{"k":[37027],"v":[{"k":[20123],"v":[{"k":[36335],"v":[{"k":[30450],"v":[{"k":[19968],"v":[{"k":[26679],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[22320],"v":[{"k":[26041],"v":[{"k":[21435],"v":[{"k":[36807],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[27425],"v":[{"k":[65292],"v":[{"k":[27704],"v":[{"k":[36828],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[35760],"v":[{"k":[24471],"v":[{"k":[22914],"v":[{"k":[20309],"v":[{"k":[36208],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20505],"v":[{"k":[19981,65292],"v":[{"k":[29992],"v":[{"k":[22826],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[25805],"v":[{"k":[24515],"v":[{"k":[35813],"v":[{"k":[24590],"v":[{"k":[20040],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[26435],"v":[{"k":[21147],"v":[{"k":[21644],"v":[{"k":[32844],"v":[{"k":[36131],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[22871],"v":[{"k":[26082],"v":[{"k":[23450],"v":[{"k":[30340],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[65292],"v":[{"k":[21040],"v":[{"k":[21738],"v":[{"k":[19968],"v":[{"k":[29615],"v":[{"k":[33410],"v":[{"k":[35813],"v":[{"k":[24590],"v":[{"k":[20040],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[65292],"v":[{"k":[36981],"v":[{"k":[23432],"v":[{"k":[35268],"v":[{"k":[33539],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21592],"v":[{"k":[24037],"v":[{"k":[32473],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[21019],"v":[{"k":[36896],"v":[{"k":[30340],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[36828],"v":[{"k":[36828],"v":[{"k":[19981],"v":[{"k":[27490],"v":[{"k":[24037],"v":[{"k":[36164],"v":[{"k":[30340],"v":[{"k":[21313],"v":[{"k":[20493],"v":[{"k":[30334],"v":[{"k":[20493],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[21364],"v":[{"k":[32463],"v":[{"k":[24120],"v":[{"k":[36935],"v":[{"k":[35265],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23545,20250],"v":[{"k":[20110],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[25152],"v":[{"k":[22788],"v":[{"k":[30340],"v":[{"k":[36523],"v":[{"k":[20221],"v":[{"k":[24182],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[21313],"v":[{"k":[20998],"v":[{"k":[26126],"v":[{"k":[30830],"v":[{"k":[30340],"v":[{"k":[35748],"v":[{"k":[35782],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21482],"v":[{"k":[25343],"v":[{"k":[21333],"v":[{"k":[20301],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[20869],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"k":[26469],"v":[{"k":[34913],"v":[{"k":[37327],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20043],"v":[{"k":[21069],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[25509],"v":[{"k":[21040],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[19968],"v":[{"k":[27454],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[32593],"v":[{"k":[20851],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[12290],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[32463],"v":[{"k":[29702],"v":[{"k":[30340],"v":[{"k":[24819],"v":[{"k":[27861],"v":[{"k":[26159],"v":[{"k":[23558],"v":[{"k":[21463],"v":[{"k":[20247],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[32676],"v":[{"k":[20307],"v":[{"k":[23450],"v":[{"k":[20301],"v":[{"k":[22312],"v":[{"k":[38738],"v":[{"k":[24180],"v":[{"k":[20154],"v":[{"k":[12290],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[23601],"v":[{"k":[36319],"v":[{"k":[23567],"v":[{"k":[31859],"v":[{"k":[8212],"v":[{"k":[8212],"v":[{"k":[8220],"v":[{"k":[20026],"v":[{"k":[21457],"v":[{"k":[28903],"v":[{"k":[32780],"v":[{"k":[29983],"v":[{"k":[8221],"v":[{"k":[19981],"v":[{"k":[35851],"v":[{"k":[32780],"v":[{"k":[21512],"v":[{"k":[65292],"v":[{"k":[30452],"v":[{"k":[38754],"v":[{"k":[36814],"v":[{"k":[26469],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[36824],"v":[{"k":[31639],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[24378],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[31454],"v":[{"k":[20105],"v":[{"k":[23545],"v":[{"k":[25163],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[22312],"v":[{"k":[21069],"v":[{"k":[20004],"v":[{"k":[24180],"v":[{"k":[36339],"v":[{"k":[27133],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[23601],"v":[{"k":[33021],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[22823],"v":[{"k":[28072],"v":[{"k":[24133],"v":[{"k":[30340],"v":[{"k":[65288],"v":[{"k":[53],"v":[{"k":[48],"v":[{"k":[37],"v":[{"k":[43],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[36825],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[22312],"v":[{"k":[36339],"v":[{"k":[27133],"v":[{"k":[19978],"v":[{"k":[33457],"v":[{"k":[24515],"v":[{"k":[24605],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20214],"v":[{"k":[24456],"v":[{"k":[36153],"v":[{"k":[33041],"v":[{"k":[21448],"v":[{"k":[25910],"v":[{"k":[30410],"v":[{"k":[19981],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892,24067,36865,34920,29616],"v":[{"k":[29256],"v":[{"d":{"df":1,"dc":[[3,1]]},"k":[26412],"v":[{"k":[65292],"v":[{"k":[22823],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[37117],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[36229],"v":[{"k":[36807],"v":[{"k":[21322],"v":[{"k":[24180],"v":[{"k":[65292],"v":[{"k":[29992],"v":[{"k":[30528],"v":[{"k":[29992],"v":[{"k":[30528],"v":[{"k":[30340],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[20250],"v":[{"k":[36935],"v":[{"k":[21040],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[19981],"v":[{"k":[37325],"v":[{"k":[35013],"v":[{"k":[37117],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[19981],"v":[{"k":[20102],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[36719],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21644,33267,27979,31169],"v":[{"k":[20998],"v":[{"k":[20139],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[50,1]]}},{"k":[35797],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]},{"k":[26377],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]},{"k":[28040,35831,21040],"v":[{"k":[24687],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[27714],"v":[{"k":[65292],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[40664,21018],"v":[{"k":[35748],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[34987],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]},{"k":[25165],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[30340],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[34987],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[30475],"v":[{"k":[27861],"v":[{"k":[21644],"v":[{"k":[24314],"v":[{"k":[35758],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]},{"k":[38382],"v":[{"k":[39064],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[30340],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[12289],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[30528],"v":[{"k":[25163],"v":[{"k":[12290],"v":[{"k":[22810],"v":[{"k":[21160],"v":[{"k":[25163],"v":[{"k":[65292],"v":[{"k":[23569],"v":[{"k":[21160],"v":[{"k":[21475],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[30634],"v":[{"k":[19968],"v":[{"k":[30524],"v":[{"k":[27809],"v":[{"k":[30475],"v":[{"k":[21040],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[25152],"v":[{"k":[22312],"v":[{"k":[23601],"v":[{"k":[31435],"v":[{"k":[39532],"v":[{"k":[24352],"v":[{"k":[22068],"v":[{"k":[38382],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[19981],"v":[{"k":[20165],"v":[{"k":[20250],"v":[{"k":[20351],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[20007],"v":[{"k":[22833],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[20250],"v":[{"k":[28010],"v":[{"k":[36153],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22312],"v":[{"k":[22312,24050,25105],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[37324],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[35013],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]},{"k":[32463],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[20204],"v":[{"k":[26377],"v":[{"k":[20102],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[21644],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[35753],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[26469],"v":[{"k":[35797],"v":[{"k":[30528],"v":[{"k":[29992],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":13,"dc":[[7,11],[8,1],[11,1],[19,8],[27,2],[29,2],[30,2],[31,3],[33,4],[40,1],[43,2],[45,2],[76,2]]},"k":[114,112,117,110,108,99,116,115,119,100,93,102,106,46,41,45,118,49,58,122,120,107,105,50,65292],"v":[{"k":[99,114,101,103,105,98,100],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[3,1]]}}]},{"d":{"df":4,"dc":[[15,2],[48,5],[63,3],[79,2]]},"k":[97,46,91,111,59],"v":[{"k":[121],"v":[{"d":{"df":5,"dc":[[7,1],[8,2],[29,1],[30,3],[31,1]]},"k":[44,46],"v":[{"d":{"df":2,"dc":[[7,1],[8,1]]}},{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[91],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,105,108,114,102,112,109],"v":[{"k":[111,112],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[48,105],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[8,1]]},"k":[41],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97,101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[48,2]]},"k":[41,59],"v":[{"d":{"df":1,"dc":[[63,2]]},"k":[59],"v":[{"d":{"df":1,"dc":[[15,2]]}}]},{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,10]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[91],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[63,4]]},"k":[93],"v":[{"k":[46],"v":[{"k":[99,108,111],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[63,5]]},"k":[46],"v":[{"k":[108,112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[63,4]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[63,7]]}}]},{"d":{"df":5,"dc":[[8,2],[12,2],[19,1],[43,2],[45,1]]}},{"k":[115,117,58],"v":[{"d":{"df":3,"dc":[[11,1],[33,1],[81,1]]},"k":[41,91,46,44,58],"v":[{"d":{"df":2,"dc":[[11,1],[81,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[33,2]]}}]},{"k":[48],"v":[{"k":[93],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[91,123],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[80,2]]}},{"d":{"df":1,"dc":[[81,1]]}}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}}]},{"k":[97],"v":[{"k":[108,50],"v":[{"d":{"df":1,"dc":[[35,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]},{"d":{"df":1,"dc":[[54,3]]},"k":[99],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[112,107,105,97,101,116],"v":[{"d":{"df":17,"dc":[[4,1],[11,1],[16,1],[18,1],[19,2],[20,8],[21,1],[23,2],[25,1],[45,2],[63,2],[69,3],[72,2],[78,1],[81,1],[93,1],[103,1]]},"k":[101,46,108,95,99,115,109,44,58,47,59,41,45],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[7,3]]}}]}]}]},{"d":{"df":1,"dc":[[19,1]]},"k":[117,108,106,99,116,103,105,109,114,115],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[40,108,59],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[107,114,97,40],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[114,97],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":2,"dc":[[18,1],[69,2]]}}]}]}]}]},{"k":[99],"v":[{"k":[116],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[18,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[70,1]]}}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[112,51,97],"v":[{"k":[111,114],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":3,"dc":[[18,1],[20,2],[78,1]]}}]}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":3,"dc":[[16,2],[77,1],[93,2]]},"k":[58,111],"v":[{"d":{"df":1,"dc":[[18,1]]}},{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[19,1]]}}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[117,40],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[111,102],"v":[{"k":[107],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,101],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[14,1],[19,1]]},"k":[12290,65289,112,47],"v":[{"d":{"df":1,"dc":[[14,1]]}},{"k":[65292],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[21644],"v":[{"k":[25551],"v":[{"k":[36848],"v":[{"k":[65292],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[22270],"v":[{"k":[26631],"v":[{"k":[65288],"v":[{"k":[21487],"v":[{"k":[36873],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[35,1]]},"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[107],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[53],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[20,2]]},"k":[46],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[58,41],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,4]]},"k":[44],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]}},{"d":{"df":2,"dc":[[20,1],[26,1]]},"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]},{"d":{"df":1,"dc":[[69,1]]},"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[36,1]]},"k":[39],"v":[{"k":[23601,65292],"v":[{"k":[20250],"v":[{"k":[22686,23558],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"d":{"df":1,"dc":[[36,1]]}}]}]},{"k":[35813],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[69,2]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[85,4]]}}]}]}]}]}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[19,1]]}}]},{"d":{"df":4,"dc":[[20,2],[64,4],[74,1],[79,1]]},"k":[58,96,111,65292],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[35],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[26085],"v":[{"k":[26399],"v":[{"k":[35],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[21453],"v":[{"k":[21521],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[100,97,115],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[107],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]},{"k":[107,99],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20570],"v":[{"k":[20570],"v":[{"k":[19978],"v":[{"k":[23618],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[38590],"v":[{"k":[26377],"v":[{"k":[26356],"v":[{"k":[28145],"v":[{"k":[30340],"v":[{"k":[31361],"v":[{"k":[30772],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[12289],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[120],"v":[{"k":[12289],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[120],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[45],"v":[{"k":[103,107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"d":{"df":2,"dc":[[61,1],[88,6]]}}]}]},{"k":[101],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[111,104],"v":[{"d":{"df":2,"dc":[[45,2],[57,1]]},"k":[112,109,106,45,99,115,114,108,102,59],"v":[{"k":[111,114],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[102],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]},{"k":[101,111],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[120],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[112],"v":[{"d":{"df":2,"dc":[[54,1],[58,2]]}}]}]}]},{"k":[117],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108,111],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[45],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[97],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"d":{"df":1,"dc":[[88,1]]}}]},{"d":{"df":1,"dc":[[69,5]]},"k":[111,99,59,58],"v":[{"k":[114],"v":[{"d":{"df":3,"dc":[[11,4],[79,1],[80,1]]},"k":[58,40,109,46,44,105],"v":[{"d":{"df":1,"dc":[[11,2]]}},{"k":[102,95,112],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[46],"v":[{"k":[104,99],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,102,103],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[11,1]]}},{"k":[122],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[88,3]]}}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[40,21152],"v":[{"k":[97,39],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41,44],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[56],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[122],"v":[{"k":[113],"v":[{"k":[109],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[56],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[112],"v":[{"k":[122],"v":[{"k":[107],"v":[{"k":[118],"v":[{"k":[108],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[119],"v":[{"k":[120],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[122],"v":[{"k":[43],"v":[{"k":[121],"v":[{"k":[120],"v":[{"k":[53],"v":[{"k":[107],"v":[{"k":[53],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[113],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23494],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[69,1]]}},{"d":{"df":1,"dc":[[77,1]]}}]}]}]},{"d":{"df":3,"dc":[[7,4],[8,1],[31,1]]},"k":[100,121,116,111,105,97,110,103],"v":[{"d":{"df":12,"dc":[[8,1],[10,2],[20,2],[30,1],[31,1],[43,1],[45,1],[52,1],[58,1],[65,1],[76,2],[79,1]]},"k":[114],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[19,3]]},"k":[46,47],"v":[{"d":{"df":1,"dc":[[19,1]]}},{"k":[54],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[19,1],[49,1],[88,1]]},"k":[91],"v":[{"k":[93],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]},{"k":[109],"v":[{"k":[101,97],"v":[{"k":[45],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[121],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20102],"v":[{"k":[35299],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119,103,108,112,115,111,105,109,116],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[115],"v":[{"d":{"df":4,"dc":[[7,1],[8,1],[11,1],[41,1]]}}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]},{"d":{"df":4,"dc":[[8,1],[19,4],[85,1],[88,2]]},"k":[99,111,61],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[99,119],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46,44],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]},{"k":[101,110],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,13]]}}]}]}]}]}]}]},{"k":[40],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[58],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[88,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[18,1]]}}]}]}]},{"k":[111],"v":[{"d":{"df":2,"dc":[[19,2],[20,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[19,4]]}}]}]},{"k":[97,99],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[19,2],[45,1]]},"k":[58,110],"v":[{"d":{"df":2,"dc":[[42,1],[68,1]]}},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[21035],"v":[{"k":[21517],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[45,44],"v":[{"k":[62],"v":[{"k":[62],"v":[{"k":[106,43],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]},{"k":[106],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,116,114],"v":[{"k":[101,111,117],"v":[{"k":[112,115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[8,1],[31,1]]}}]}]},{"k":[115],"v":[{"d":{"df":3,"dc":[[41,1],[45,4],[106,1]]},"k":[95],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]},{"k":[109],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[118,111],"v":[{"k":[101,97],"v":[{"d":{"df":2,"dc":[[43,1],[65,1]]},"k":[115,44],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[43,1],[65,4]]}}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"d":{"df":3,"dc":[[23,3],[45,1],[64,2]]},"k":[115,41,61,58],"v":[{"d":{"df":2,"dc":[[23,3],[37,1]]},"k":[46,58],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[23,2],[64,1]]}}]},{"d":{"df":1,"dc":[[23,1]]}},{"k":[36,100],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[64,3]]}}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]},{"d":{"df":6,"dc":[[9,1],[12,4],[24,1],[45,3],[88,1],[94,9]]},"k":[58,108,111,116],"v":[{"d":{"df":1,"dc":[[17,1]]}},{"d":{"df":1,"dc":[[47,1]]},"k":[40,115],"v":[{"k":[39],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[54,52,49],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]},{"k":[46],"v":[{"k":[52],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]},{"k":[46],"v":[{"k":[54],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]}]},{"k":[40],"v":[{"k":[39],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[54,52,49],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]},{"k":[46],"v":[{"k":[52],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]},{"k":[46],"v":[{"k":[54],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"d":{"df":2,"dc":[[57,5],[104,1]]},"k":[12289,45],"v":[{"k":[118],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[98,106,109,116],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[115,117],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,121],"v":[{"k":[114],"v":[{"k":[109,110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[64],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[52],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[64],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[64],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[44,40],"v":[{"d":{"df":1,"dc":[[81,1]]}},{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":8,"dc":[[10,2],[12,2],[19,1],[23,2],[39,1],[79,7],[88,1],[106,1]]},"k":[121,115,100],"v":[{"k":[110],"v":[{"k":[99],"v":[{"d":{"df":16,"dc":[[12,6],[18,1],[20,4],[22,2],[24,1],[27,2],[48,3],[52,7],[62,3],[63,1],[65,2],[68,3],[69,3],[75,4],[106,1],[110,1]]},"k":[47],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":3,"dc":[[20,1],[32,2],[64,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116,114],"v":[{"d":{"df":1,"dc":[[44,1]]}},{"k":[116],"v":[{"d":{"df":1,"dc":[[52,1]]},"k":[46,45,40],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,7]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[49,108],"v":[{"d":{"df":1,"dc":[[79,1]]}},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":20,"dc":[[12,15],[13,3],[18,1],[20,9],[27,5],[32,3],[39,2],[48,1],[52,8],[62,2],[63,1],[64,1],[65,8],[68,2],[69,14],[75,8],[77,2],[79,2],[106,2],[110,6]]}}]}]}]},{"k":[100,118],"v":[{"d":{"df":17,"dc":[[17,1],[20,5],[26,5],[27,1],[36,5],[41,2],[42,1],[43,5],[44,2],[45,3],[49,2],[51,3],[53,3],[63,1],[65,1],[66,3],[88,1]]},"k":[40,114,39,65306,105,95,117],"v":[{"k":[105,115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[24,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]},{"k":[21629],"v":[{"k":[20196],"v":[{"k":[26469],"v":[{"k":[22686],"v":[{"k":[21152],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[31471],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[36,1]]}},{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[104],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[82,3],[88,2]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":3,"dc":[[31,1],[43,5],[79,1]]},"k":[95,58,125],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[108,102,109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[33,1]]}},{"k":[103,99,102],"v":[{"d":{"df":1,"dc":[[36,1]]}},{"d":{"df":1,"dc":[[36,1]]}},{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]}]}]},{"k":[97,101,103],"v":[{"d":{"df":2,"dc":[[52,1],[106,1]]},"k":[105,64,12289],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[48],"v":[{"k":[46],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[121],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]},{"d":{"df":1,"dc":[[43,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"d":{"df":1,"dc":[[52,1]]}},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":3,"dc":[[75,1],[77,4],[78,1]]},"k":[45,95,46],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[53,4],[77,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,106],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41,39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]},{"k":[99,115,97],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":2,"dc":[[58,1],[72,1]]}}]}]}]},{"k":[47],"v":[{"k":[115],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"d":{"df":1,"dc":[[99,1]]},"k":[114],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]},{"k":[118],"v":[{"k":[53],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[120],"v":[{"k":[122],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[53],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[119],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[122],"v":[{"k":[50],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[53],"v":[{"k":[106],"v":[{"k":[98],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[43],"v":[{"k":[105],"v":[{"k":[113],"v":[{"k":[101],"v":[{"k":[43],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[104],"v":[{"k":[115],"v":[{"k":[100],"v":[{"k":[98],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[106],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[121],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20197,26080],"v":[{"k":[21069],"v":[{"k":[22312],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[37324],"v":[{"k":[20570],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[65288],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[24178],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[24180],"v":[{"k":[21322],"v":[{"k":[65292],"v":[{"k":[36716],"v":[{"k":[21040],"v":[{"k":[20570],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24378],"v":[{"k":[36843],"v":[{"k":[20542],"v":[{"k":[21521],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]},{"k":[25311],"v":[{"k":[26426,20986,29616],"v":[{"k":[65288],"v":[{"k":[24050],"v":[{"k":[25104],"v":[{"k":[24320],"v":[{"k":[26426],"v":[{"k":[24517],"v":[{"k":[39035],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[29992],"v":[{"k":[38025],"v":[{"k":[38025],"v":[{"k":[20043],"v":[{"k":[31867],"v":[{"k":[30340],"v":[{"k":[32842],"v":[{"k":[22825],"v":[{"k":[27807],"v":[{"k":[36890],"v":[{"k":[65289],"v":[{"k":[20869],"v":[{"k":[22806],"v":[{"k":[21452],"v":[{"k":[21521],"v":[{"k":[30340],"v":[{"k":[22797],"v":[{"k":[21046],"v":[{"k":[31896],"v":[{"k":[36148],"v":[{"k":[65292],"v":[{"k":[32463],"v":[{"k":[24120],"v":[{"k":[20250],"v":[{"k":[22833],"v":[{"k":[28789],"v":[{"k":[65292],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[25972],"v":[{"k":[20010],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[21345],"v":[{"k":[20303],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[20010],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[30340],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[22810],"v":[{"k":[21488],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[26102],"v":[{"k":[30830],"v":[{"k":[23454],"v":[{"k":[33410],"v":[{"k":[32422],"v":[{"k":[20102],"v":[{"k":[19981],"v":[{"k":[23569],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[21834],"v":[{"k":[65281],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23454],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]},{"d":{"df":15,"dc":[[11,1],[14,1],[26,1],[33,1],[36,1],[41,1],[44,4],[45,2],[57,1],[69,1],[70,1],[75,1],[79,2],[106,2],[108,1]]},"k":[29366,21487],"v":[{"k":[24577],"v":[{"k":[26639],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25163],"v":[{"k":[21160],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[22312],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[23631],"v":[{"k":[24149],"v":[{"k":[19979],"v":[{"k":[37117],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21333],"v":[{"k":[29420],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[32463],"v":[{"k":[24120],"v":[{"k":[20250],"v":[{"k":[22833],"v":[{"k":[28789],"v":[{"k":[65288],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[36879],"v":[{"k":[26126],"v":[{"k":[24230],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12289],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[20572],"v":[{"k":[27490],"v":[{"k":[12289],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[33756],"v":[{"k":[21333],"v":[{"k":[19981],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[31561],"v":[{"k":[31561],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[96],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[22797],"v":[{"k":[29992],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30496],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[21796],"v":[{"k":[37266],"v":[{"k":[65292],"v":[{"k":[20598],"v":[{"k":[23572],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[20851],"v":[{"k":[26426],"v":[{"k":[65292],"v":[{"k":[26497],"v":[{"k":[23569],"v":[{"k":[25968],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[19979],"v":[{"k":[20063],"v":[{"k":[20250],"v":[{"k":[33707],"v":[{"k":[21517],"v":[{"k":[20854],"v":[{"k":[22937],"v":[{"k":[31361],"v":[{"k":[28982],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[36319],"v":[{"k":[39537],"v":[{"k":[21160],"v":[{"k":[19981],"v":[{"k":[20840],"v":[{"k":[26377],"v":[{"k":[20851],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[28982],"v":[{"d":{"df":1,"dc":[[86,1]]},"k":[38382,26377,32463,25105,21487],"v":[{"k":[39064],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[20381],"v":[{"k":[28982],"v":[{"k":[21193],"v":[{"k":[24378],"v":[{"k":[33021],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"k":[27605],"v":[{"k":[31455],"v":[{"k":[35813],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[30340],"v":[{"k":[20307],"v":[{"k":[39564],"v":[{"k":[25509],"v":[{"k":[36817],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[20154],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[22909],"v":[{"k":[65292],"v":[{"k":[36215],"v":[{"k":[27493],"v":[{"k":[39640],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[25104],"v":[{"k":[19981],"v":[{"k":[21464],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[25509],"v":[{"k":[19979],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[36825],"v":[{"k":[20960],"v":[{"k":[24180],"v":[{"k":[30340],"v":[{"k":[21162],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[36275],"v":[{"k":[20197],"v":[{"k":[25289],"v":[{"k":[24320],"v":[{"k":[20154],"v":[{"k":[29983],"v":[{"k":[30340],"v":[{"k":[24046],"v":[{"k":[36317],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24120],"v":[{"k":[20250],"v":[{"k":[21548],"v":[{"k":[21040],"v":[{"k":[8220],"v":[{"k":[20154],"v":[{"k":[19985],"v":[{"k":[23601],"v":[{"k":[35201],"v":[{"k":[22810],"v":[{"k":[35835],"v":[{"k":[20070],"v":[{"k":[8221],"v":[{"k":[12289],"v":[{"k":[8220],"v":[{"k":[20154],"v":[{"k":[31351],"v":[{"k":[23601],"v":[{"k":[35201],"v":[{"k":[22810],"v":[{"k":[35835],"v":[{"k":[20070],"v":[{"k":[8221],"v":[{"k":[30340],"v":[{"k":[40657],"v":[{"k":[26775],"v":[{"k":[65292],"v":[{"k":[35835],"v":[{"k":[20070],"v":[{"k":[30340],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[24615],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[24456],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20063],"v":[{"k":[19968],"v":[{"k":[30452],"v":[{"k":[19981],"v":[{"k":[24895],"v":[{"k":[24847],"v":[{"k":[38754],"v":[{"k":[23545],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[23454],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[20040],"v":[{"k":[19968],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[28010],"v":[{"k":[36153],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24471,20026],"v":[{"k":[19968],"v":[{"k":[25552],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[29609],"v":[{"k":[24615],"v":[{"k":[26356],"v":[{"k":[24378],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[65292],"v":[{"k":[25972],"v":[{"k":[20010],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[30028],"v":[{"k":[38754],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]}]}]}]}]}]},{"k":[21487,25913,26159,20250,38656,21482],"v":[{"k":[20197],"v":[{"k":[28789],"v":[{"k":[27963],"v":[{"k":[22320],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20687],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[27604],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21495],"v":[{"k":[65288],"v":[{"k":[49],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[29992],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[26469],"v":[{"k":[35780],"v":[{"k":[21028],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[32780],"v":[{"k":[24050],"v":[{"k":[12290],"v":[{"k":[20309],"v":[{"k":[24517],"v":[{"k":[38075],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[22810],"v":[{"k":[29275],"v":[{"k":[35282],"v":[{"k":[23574],"v":[{"k":[65292],"v":[{"k":[25630],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[23601],"v":[{"k":[27785],"v":[{"k":[19979],"v":[{"k":[24515],"v":[{"k":[25630],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26679,21488,33324,20010,39033,26049,38190,27425,26465,30452,26085,26041,26681,19987,20221,31867,21482],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24213],"v":[{"k":[37096],"v":[{"k":[30340],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[26639],"v":[{"k":[12290],"v":[{"k":[24895],"v":[{"k":[24847],"v":[{"k":[25240],"v":[{"k":[33150],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[27604],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24179,33529,36335,36127],"v":[{"k":[26495],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26524],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]},{"k":[30001],"v":[{"k":[22120],"v":[{"k":[40],"v":[{"k":[38656],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[21160],"v":[{"k":[24577],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[35299],"v":[{"k":[26512],"v":[{"k":[44],"v":[{"k":[22914],"v":[{"k":[33457],"v":[{"k":[29983],"v":[{"k":[22771],"v":[{"k":[41],"v":[{"k":[44],"v":[{"k":[21518],"v":[{"k":[32493],"v":[{"k":[25105],"v":[{"k":[20250],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[21160],"v":[{"k":[24577],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[35299],"v":[{"k":[26512],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36733],"v":[{"k":[22343],"v":[{"k":[34913],"v":[{"k":[22120],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"k":[21452],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[13,1],[41,1]]},"k":[26159,24773,36825,32780],"v":[{"k":[22312],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]},{"k":[20917],"v":[{"k":[19979],"v":[{"k":[44,65292],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[21040],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[26159],"v":[{"k":[20390],"v":[{"k":[21548],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[65292],"v":[{"k":[38598],"v":[{"k":[25104],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20026],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37324],"v":[{"k":[25105],"v":[{"k":[22635],"v":[{"k":[20837],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[35328],"v":[{"k":[65292],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[31119],"v":[{"k":[21033],"v":[{"k":[20063],"v":[{"k":[20250],"v":[{"k":[36739],"v":[{"k":[20026],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22797,26159,31243,24320,24052,20154,24211],"v":[{"k":[26434],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[40],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[104,118],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24207],"v":[{"k":[26377,21592],"v":[{"d":{"df":1,"dc":[[71,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[25918],"v":[{"k":[24179],"v":[{"k":[21488],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[22823],"v":[{"k":[27010],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[25484],"v":[{"k":[25293],"v":[{"k":[20063],"v":[{"k":[25293],"v":[{"k":[19981],"v":[{"k":[21709],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[20182],"v":[{"k":[36129],"v":[{"k":[29486],"v":[{"k":[20102],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[20182],"v":[{"k":[33021],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[20010],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[19981],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24341],"v":[{"k":[20837],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[21527],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20248],"v":[{"k":[21270],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[21518],"v":[{"k":[37325],"v":[{"k":[22797],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[21152],"v":[{"k":[21495],"v":[{"k":[8220],"v":[{"k":[43],"v":[{"k":[8221],"v":[{"k":[65292],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[23427],"v":[{"k":[65292],"v":[{"k":[23427],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[21015],"v":[{"k":[20986],"v":[{"k":[20320],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[21482],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[21018],"v":[{"k":[25165],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23433],"v":[{"k":[35013],"v":[{"k":[33050],"v":[{"k":[26412],"v":[{"k":[32593],"v":[{"k":[31449],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]},{"k":[24615,65292],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]},{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}},{"k":[25353],"v":[{"k":[22238],"v":[{"k":[36710],"v":[{"k":[65292],"v":[{"k":[32467],"v":[{"k":[26463],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[19981],"v":[{"k":[35835],"v":[{"k":[20070],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[20154],"v":[{"k":[30475],"v":[{"k":[24471],"v":[{"k":[20986],"v":[{"k":[65307],"v":[{"k":[19968],"v":[{"k":[21608],"v":[{"k":[19981],"v":[{"k":[35835],"v":[{"k":[20070],"v":[{"k":[65292],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"k":[20250],"v":[{"k":[29190],"v":[{"k":[31895],"v":[{"k":[65307],"v":[{"k":[19968],"v":[{"k":[26376],"v":[{"k":[19981],"v":[{"k":[35835],"v":[{"k":[20070],"v":[{"k":[65292],"v":[{"k":[26234],"v":[{"k":[21830],"v":[{"k":[36755],"v":[{"k":[32473],"v":[{"k":[29482],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[36215],"v":[{"k":[34218],"v":[{"k":[21040],"v":[{"k":[20301],"v":[{"k":[65292],"v":[{"k":[35753],"v":[{"k":[20154],"v":[{"k":[19968],"v":[{"k":[26469],"v":[{"k":[23601],"v":[{"k":[26377],"v":[{"k":[24178],"v":[{"k":[21170],"v":[{"k":[12290],"v":[{"k":[21478],"v":[{"k":[19968],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[21152],"v":[{"k":[34218],"v":[{"k":[21040],"v":[{"k":[20301],"v":[{"k":[65292],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[24635],"v":[{"k":[26159],"v":[{"k":[30475],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[21152],"v":[{"k":[34218],"v":[{"k":[26469],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[24453],"v":[{"k":[36935],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[12290],"v":[{"k":[37325],"v":[{"k":[20154],"v":[{"k":[25165],"v":[{"k":[65292],"v":[{"k":[24796],"v":[{"k":[20154],"v":[{"k":[25165],"v":[{"k":[65292],"v":[{"k":[33293],"v":[{"k":[24471],"v":[{"k":[35753],"v":[{"k":[21033],"v":[{"k":[20110],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31607],"v":[{"k":[23376],"v":[{"k":[36731],"v":[{"k":[36731],"v":[{"k":[34987],"v":[{"k":[25240],"v":[{"k":[26029],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]},{"k":[22810],"v":[{"k":[33021],"v":[{"d":{"df":1,"dc":[[98,1]]},"k":[30340],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[20855],"v":[{"k":[22791],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[29305],"v":[{"k":[24449],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20248],"v":[{"k":[31168],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[30340],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[26631],"v":[{"k":[20934],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[29305],"v":[{"k":[27530],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[20026],"v":[{"k":[65292],"v":[{"k":[20174],"v":[{"k":[23567],"v":[{"k":[20852],"v":[{"k":[36259],"v":[{"k":[25152],"v":[{"k":[22312],"v":[{"k":[65292],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[38750],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[19987],"v":[{"k":[19994],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[24180],"v":[{"k":[33258],"v":[{"k":[23398],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27700],"v":[{"k":[26742],"v":[{"k":[33021],"v":[{"k":[35013],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[27700],"v":[{"k":[21462],"v":[{"k":[20915],"v":[{"k":[20110],"v":[{"k":[23427],"v":[{"k":[26368],"v":[{"k":[30701],"v":[{"k":[30340],"v":[{"k":[37027],"v":[{"k":[22359],"v":[{"k":[26408],"v":[{"k":[26495],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[45,1],[63,1]]},"k":[23436,36733,26597,21320,38754,20351,65289,65292,27966,30340,19968,31227,40664,26377,29992,27425],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[3,1]]}}]}]}]},{"k":[30340,32447,22320,65306,46,23433,65292,36824],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[22312],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"k":[26410],"v":[{"k":[30693],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[20026],"v":[{"k":[20801],"v":[{"k":[35768],"v":[{"k":[20219],"v":[{"k":[20309],"v":[{"k":[26469],"v":[{"k":[28304],"v":[{"k":[65292],"v":[{"k":[25165],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31243],"v":[{"k":[25968],"v":[{"k":[19978],"v":[{"k":[38480],"v":[{"k":[21462],"v":[{"k":[20915],"v":[{"k":[20110],"v":[{"k":[33021],"v":[{"k":[20998],"v":[{"k":[20986],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[29255],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22336],"v":[{"k":[58,65306],"v":[{"d":{"df":2,"dc":[[57,1],[61,1]]}},{"d":{"df":1,"dc":[[57,2]]}}]}]},{"d":{"df":1,"dc":[[59,2]]}},{"k":[114],"v":[{"k":[99],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]},{"k":[35013],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]},{"k":[26469],"v":[{"k":[28304],"v":[{"k":[21508],"v":[{"k":[20010],"v":[{"k":[32452],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[23884],"v":[{"k":[20837],"v":[{"k":[24335],"v":[{"k":[12289],"v":[{"k":[31227],"v":[{"k":[21160],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12289],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[31471],"v":[{"k":[65292],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]},{"k":[35810],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[96],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[26356],"v":[{"k":[20248],"v":[{"k":[12290],"v":[{"k":[65288],"v":[{"k":[23454],"v":[{"k":[20363],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[20013],"v":[{"k":[23558],"v":[{"k":[96],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[26367],"v":[{"k":[25442],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[24050],"v":[{"k":[26377],"v":[{"k":[34920],"v":[{"k":[36305],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[52],"v":[{"k":[58],"v":[{"k":[52],"v":[{"k":[50],"v":[{"k":[58],"v":[{"k":[53],"v":[{"k":[57],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[20174,26159,29992,28155],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[30340],"v":[{"k":[23454],"v":[{"k":[35762],"v":[{"k":[35299],"v":[{"k":[21508],"v":[{"k":[20010],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[30340],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105],"v":[{"k":[25152],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[20363],"v":[{"k":[20010],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[35299],"v":[{"k":[20309],"v":[{"k":[20026],"v":[{"k":[20248],"v":[{"k":[38597],"v":[{"k":[30340],"v":[{"k":[20803],"v":[{"k":[32534],"v":[{"k":[31243],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"k":[19968],"v":[{"k":[34892],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]},{"k":[29992],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[45,2]]}},{"k":[25191],"v":[{"k":[34892],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[26412],"v":[{"k":[22320],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[52,1],[59,3]]},"k":[27867],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[25351],"v":[{"k":[23450],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[38454],"v":[{"k":[27573],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[63,1]]}},{"k":[35748],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[23545],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[74,1]]}},{"d":{"df":1,"dc":[[74,1]]}},{"k":[35831],"v":[{"k":[27714],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20250],"v":[{"k":[37325,20002],"v":[{"k":[22797],"v":[{"k":[26412],"v":[{"k":[27425],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[26399],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22833],"v":[{"k":[26412],"v":[{"k":[27425],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[26399],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29575,26524],"v":[{"k":[24037,30340,39640],"v":[{"k":[20855],"v":[{"d":{"df":1,"dc":[[4,1]]}}]},{"k":[30830],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[26631],"v":[{"k":[20934],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[26367],"v":[{"k":[20195],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]}]},{"k":[35797],"v":[{"d":{"df":5,"dc":[[33,1],[45,1],[65,1],[90,2],[103,1]]},"k":[24037,25968,32467,42,26694,29992,36335,33050,31034,26041,20026,20195,23433,36890,65306,30446,39537,25253,35206,21069,21518],"v":[{"k":[20855],"v":[{"d":{"df":1,"dc":[[4,1]]}}]},{"k":[25454],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]},{"k":[26524],"v":[{"d":{"df":1,"dc":[[76,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[26550],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"k":[20363],"v":[{"k":[39035,21442],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[23436],"v":[{"k":[25972],"v":[{"k":[65292],"v":[{"k":[25226],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[37117],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[32771],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[30001],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"k":[26412],"v":[{"d":{"df":1,"dc":[[52,1]]}}]},{"k":[20363],"v":[{"k":[23545],"v":[{"k":[27604],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]},{"k":[24335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]},{"k":[29992],"v":[{"k":[25143],"v":[{"k":[34892],"v":[{"k":[20026],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20197],"v":[{"k":[20960],"v":[{"k":[31867],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30340],"v":[{"k":[24773],"v":[{"k":[24418],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30721],"v":[{"k":[58,32534],"v":[{"d":{"df":1,"dc":[[77,1]]}},{"k":[35793],"v":[{"k":[19981],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]},{"k":[35013],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]},{"k":[36807],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]},{"k":[98],"v":[{"k":[100],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]},{"k":[24405],"v":[{"k":[65292],"v":[{"k":[38750],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[65288],"v":[{"k":[25110],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[65289],"v":[{"k":[20197],"v":[{"k":[96],"v":[{"k":[95],"v":[{"k":[96],"v":[{"k":[24320],"v":[{"k":[22836],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21160],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[65288],"v":[{"k":[32534],"v":[{"k":[20889],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[21270],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21578],"v":[{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[30422],"v":[{"k":[29575],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[38656,20063],"v":[{"k":[35201],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65288],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[19988],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[19982],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[20914],"v":[{"k":[31361],"v":[{"k":[65288],"v":[{"k":[24182],"v":[{"k":[34892],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65288],"v":[{"k":[20197],"v":[{"k":[20813],"v":[{"k":[21069],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[22833],"v":[{"k":[36133],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[26410],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[32780],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[27745],"v":[{"k":[26579],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[28165],"v":[{"k":[31354],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[20043],"v":[{"k":[31867],"v":[{"k":[30340],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[20813],"v":[{"k":[23545],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26415],"v":[{"k":[30456,36873,26632,20154],"v":[{"k":[20851],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[24120],"v":[{"k":[35782],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]},{"k":[22411],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[22270],"v":[{"k":[24418],"v":[{"k":[39564],"v":[{"k":[35777],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[21253],"v":[{"k":[21547],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[26368],"v":[{"k":[21021],"v":[{"k":[30340],"v":[{"k":[36523],"v":[{"k":[20221],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[31639],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24037],"v":[{"k":[31243],"v":[{"k":[24072],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36182,28982,27425],"v":[{"k":[32773,20110,39033,21253],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[34892],"v":[{"k":[21457],"v":[{"k":[28903],"v":[{"k":[21451],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20013],"v":[{"k":[30340],"v":[{"k":[25351],"v":[{"k":[23450],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[40],"v":[{"k":[26087],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21644],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[27809,25152],"v":[{"k":[26377],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[65292],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[30340],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[21543],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[30340],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[20250],"v":[{"k":[34987],"v":[{"k":[20840],"v":[{"k":[37096],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[36827],"v":[{"k":[26469],"v":[{"k":[40],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[27704],"v":[{"k":[36828],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[34987],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[41],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36755],"v":[{"k":[20986],"v":[{"d":{"df":1,"dc":[[27,2]]}}]}]}]},{"k":[29992],"v":[{"k":[23433,30340,22330,24615,23454,31243,93,35774,37096],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[4,1]]}}]},{"k":[27491],"v":[{"k":[24335],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[65292],"v":[{"k":[24744],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[12289],"v":[{"k":[22330],"v":[{"k":[26223],"v":[{"k":[12289],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30028],"v":[{"k":[38754],"v":[{"k":[31561],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[23558],"v":[{"k":[20854],"v":[{"k":[21457],"v":[{"k":[24067],"v":[{"k":[20026],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21487],"v":[{"k":[20379],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26223],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[24,1]]},"k":[26381,35745],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[38388],"v":[{"k":[36890],"v":[{"k":[20449],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]},{"k":[21010],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[36739],"v":[{"k":[24046],"v":[{"k":[46],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]},{"k":[38469],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24207],"v":[{"k":[20869,35774],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[77,1]]}}]},{"k":[32622],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]},{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[122],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"d":{"df":1,"dc":[[78,1]]}}]},{"k":[20998],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]},{"k":[20840,35013],"v":[{"d":{"df":1,"dc":[[73,1]]},"k":[24615],"v":[{"k":[19982],"v":[{"k":[38544],"v":[{"k":[31169],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]},{"d":{"df":17,"dc":[[4,2],[11,1],[19,2],[20,1],[26,3],[42,1],[45,6],[49,2],[51,1],[54,2],[55,1],[57,2],[61,1],[84,1],[88,3],[92,2],[106,1]]},"k":[21508,58,34394,20351,25351,20381,39033,29983,31034,21551,37197,23436,65306,25152,96,25104],"v":[{"k":[31867],"v":[{"k":[20381],"v":[{"k":[36182],"v":[{"k":[44],"v":[{"k":[20859],"v":[{"k":[25104],"v":[{"k":[33391],"v":[{"k":[22909],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[44],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"k":[20174],"v":[{"k":[96],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[36215],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[26,4]]}},{"k":[25311],"v":[{"k":[26426],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[21335],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[119],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[122],"v":[{"k":[104],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[51],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[55],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[57],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36182],"v":[{"d":{"df":1,"dc":[[51,2]]}}]},{"k":[30446],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[20381],"v":[{"k":[36182],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]},{"k":[25104],"v":[{"k":[35813],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]},{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]},{"k":[21160],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]},{"k":[32622],"v":[{"d":{"df":2,"dc":[[57,1],[88,1]]},"k":[20027],"v":[{"k":[39064],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[25104],"v":[{"k":[21518],"v":[{"d":{"df":1,"dc":[[61,1]]},"k":[44,20174],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"d":{"df":1,"dc":[[57,2]]}}]}]}]},{"d":{"df":1,"dc":[[61,1]]}},{"k":[38656],"v":[{"k":[30340],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21151],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[35768],"v":[{"k":[20174,25105,36328,29992],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[20301],"v":[{"k":[32622],"v":[{"k":[19979],"v":[{"k":[36733],"v":[{"k":[30340],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20204],"v":[{"k":[22312],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"k":[21382],"v":[{"k":[21490],"v":[{"k":[20043],"v":[{"k":[38388],"v":[{"k":[31359],"v":[{"k":[26797],"v":[{"k":[65292],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22495],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[24456],"v":[{"k":[21361],"v":[{"k":[38505],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[25143],"v":[{"k":[19979],"v":[{"k":[25289],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[65288],"v":[{"k":[25163],"v":[{"k":[21160],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20026,29992,21464,21892,21517],"v":[{"k":[8220,39318],"v":[{"k":[20219],"v":[{"k":[20309],"v":[{"k":[26469],"v":[{"k":[28304],"v":[{"k":[8221],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]},{"k":[23383],"v":[{"k":[27597],"v":[{"k":[22823],"v":[{"k":[20889],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]}},{"k":[29366,33258],"v":[{"k":[24577],"v":[{"d":{"df":1,"dc":[[23,2]]}}]},{"k":[36523],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]},{"d":{"df":1,"dc":[[39,1]]},"k":[23398],"v":[{"k":[20064],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[65292],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]},{"k":[20837,20986],"v":[{"d":{"df":1,"dc":[[57,2]]},"k":[23494,47,19968,58,65306],"v":[{"k":[30721],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[65292],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[20877],"v":[{"k":[37325],"v":[{"k":[22797],"v":[{"k":[19978],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[27493],"v":[{"k":[39588],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36755],"v":[{"k":[20986],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[20010],"v":[{"k":[21517],"v":[{"k":[23383],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[23601],"v":[{"k":[22635],"v":[{"k":[20837],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"d":{"df":1,"dc":[[65,1]]}}]},{"d":{"df":1,"dc":[[27,1]]},"k":[24212,32467,65306,30446],"v":[{"k":[35813],"v":[{"k":[20026],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]},{"k":[26524],"v":[{"k":[24456],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[65,1]]}},{"k":[24405],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[36807,30693,24120,29992],"v":[{"d":{"df":5,"dc":[[4,1],[5,1],[54,1],[69,1],[79,1]]},"k":[99,103,96,29615,20462],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[23558],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[21512],"v":[{"k":[24182],"v":[{"k":[25104],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[23553],"v":[{"k":[35013],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]},{"k":[22659],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]},{"k":[25913],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[20462],"v":[{"k":[22797],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35302],"v":[{"k":[21457],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]},{"k":[26377,20004],"v":[{"k":[20004],"v":[{"k":[31181],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[26469],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[21021],"v":[{"k":[22987],"v":[{"k":[21270],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[32773],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[30456],"v":[{"k":[36817],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]},{"k":[31867,38169],"v":[{"d":{"df":1,"dc":[[93,1]]}},{"k":[35823],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]},{"k":[20196],"v":[{"d":{"df":2,"dc":[[51,1],[89,1]]},"k":[34892,21442,65292,25191,26684,30340,12290],"v":[{"d":{"df":2,"dc":[[4,1],[41,1]]},"k":[24037,31383],"v":[{"k":[20855],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[21475],"v":[{"k":[65292],"v":[{"k":[99],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[25968],"v":[{"k":[21442,65306],"v":[{"k":[32771],"v":[{"d":{"df":1,"dc":[[13,1]]}}]},{"d":{"df":1,"dc":[[19,1]]}}]}]},{"k":[20363,25191],"v":[{"k":[22914],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]},{"k":[34892],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[19978],"v":[{"k":[26159],"v":[{"k":[23558],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[28857],"v":[{"k":[20174],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24335],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[31616],"v":[{"k":[20889],"v":[{"k":[20026],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[89,1]]}}]}]},{"k":[31471,32467,27490],"v":[{"k":[21629,65292],"v":[{"k":[20196],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]},{"k":[21152],"v":[{"k":[19978],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[30340],"v":[{"k":[34394],"v":[{"k":[25311],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[19978],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[25552],"v":[{"k":[26435],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[23433],"v":[{"k":[20840],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[28857],"v":[{"d":{"df":1,"dc":[[75,2]]},"k":[40],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[23631,37096,23616],"v":[{"k":[31105],"v":[{"k":[27490],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[35282],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[59,1]]},"k":[25191],"v":[{"k":[34892],"v":[{"k":[23436],"v":[{"k":[44],"v":[{"k":[20877],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]},{"k":[23433],"v":[{"k":[35013],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]},{"k":[21246,24320,21253,21360],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]},{"d":{"df":1,"dc":[[45,1]]},"k":[39318,32456],"v":[{"k":[39029],"v":[{"d":{"df":1,"dc":[[15,1]]}}]},{"k":[31471],"v":[{"k":[44],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[24037,36807,20248,12290,30340],"v":[{"k":[20855],"v":[{"d":{"df":1,"dc":[[16,1]]}}]},{"k":[22823],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]},{"k":[21270],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]},{"k":[21253],"v":[{"k":[21547],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[12289],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[12289],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[65288],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39033],"v":[{"k":[30446],"v":[{"k":[20013],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[20570],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"k":[38381,32852,27880,20110],"v":[{"d":{"df":2,"dc":[[4,1],[5,1]]},"k":[40664],"v":[{"k":[35748],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]},{"k":[21040],"v":[{"d":{"df":1,"dc":[[75,2]]}}]},{"k":[33021],"v":[{"k":[21147],"v":[{"k":[30340],"v":[{"k":[25104],"v":[{"k":[38271],"v":[{"k":[65292],"v":[{"k":[24453],"v":[{"k":[36935],"v":[{"k":[30340],"v":[{"k":[25552],"v":[{"k":[21319],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21019,37329],"v":[{"k":[19994],"v":[{"d":{"df":1,"dc":[[95,1]]}}]},{"k":[38065],"v":[{"k":[35266],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]},{"k":[38754],"v":[{"d":{"df":1,"dc":[[54,1]]},"k":[44,26174],"v":[{"k":[22312],"v":[{"k":[39030],"v":[{"k":[37096],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[26639],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[8220],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[8221],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[4,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31034],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[26080],"v":[{"k":[20851],"v":[{"k":[32852],"v":[{"k":[30340],"v":[{"k":[22534],"v":[{"k":[30732],"v":[{"k":[65292],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[30452],"v":[{"k":[35266],"v":[{"k":[20943],"v":[{"k":[23569],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24847,20876,20837],"v":[{"d":{"df":2,"dc":[[65,1],[70,1]]},"k":[65306,19979,39064,20107,36825,35843,58,35201,28857,31532,36923],"v":[{"d":{"df":1,"dc":[[4,1]]},"k":[35813],"v":[{"k":[22270],"v":[{"k":[29255],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[30340],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25105],"v":[{"k":[22635],"v":[{"k":[30340],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[24178],"v":[{"k":[20013],"v":[{"k":[25552],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]},{"k":[39033],"v":[{"d":{"df":6,"dc":[[13,1],[26,1],[66,1],[78,1],[80,1],[100,1]]}}]},{"k":[37324],"v":[{"k":[30340,44],"v":[{"d":{"df":1,"dc":[[42,1]]}},{"d":{"df":2,"dc":[[75,1],[77,1]]}}]}]},{"k":[29992],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"d":{"df":2,"dc":[[67,1],[76,1]]}},{"k":[28155],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]},{"d":{"df":1,"dc":[[89,2]]},"k":[65306],"v":[{"d":{"df":2,"dc":[[71,1],[106,1]]}}]},{"d":{"df":1,"dc":[[75,1]]}},{"k":[36753],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"k":[65292],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[29575],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[21152],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[50,1],[109,1]]},"k":[33457,21644,21518,22320,25554,35774,39057,25104],"v":[{"k":[29983],"v":[{"k":[22771],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]},{"k":[30331],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[14,2]]}}]}]},{"k":[65292],"v":[{"k":[24744],"v":[{"k":[20250],"v":[{"k":[25910],"v":[{"k":[21040],"v":[{"k":[19968],"v":[{"k":[23553],"v":[{"k":[39564],"v":[{"k":[35777],"v":[{"k":[37038],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[37038],"v":[{"k":[20214],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[38142],"v":[{"k":[25509],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[28608],"v":[{"k":[27963],"v":[{"k":[24744],"v":[{"k":[30340],"v":[{"k":[36134],"v":[{"k":[21495],"v":[{"k":[12290],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[24744],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22336],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]},{"k":[20214],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[22791],"v":[{"d":{"df":1,"dc":[[76,1]]}}]},{"k":[29575],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"d":{"df":1,"dc":[[107,1]]},"k":[27599],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]},{"k":[21151],"v":[{"k":[21518],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[35813],"v":[{"k":[96],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[96],"v":[{"k":[65307],"v":[{"k":[21028],"v":[{"k":[26029],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[21462],"v":[{"k":[21040],"v":[{"k":[38750],"v":[{"k":[96],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[96],"v":[{"k":[20540],"v":[{"k":[65292],"v":[{"k":[31105],"v":[{"k":[27490],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[21,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[26377,35013,24517],"v":[{"d":{"df":2,"dc":[[5,1],[57,2]]},"k":[22823,24517,39129],"v":[{"k":[37327],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[35777],"v":[{"k":[26126],"v":[{"k":[20999],"v":[{"k":[23454],"v":[{"k":[31526],"v":[{"k":[21512],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[25172],"v":[{"k":[21040],"v":[{"k":[25968,26381,32593],"v":[{"k":[25454],"v":[{"k":[20013],"v":[{"k":[24515],"v":[{"k":[21435],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]},{"k":[21153],"v":[{"k":[22120],"v":[{"k":[19978],"v":[{"k":[21435],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]},{"k":[20851],"v":[{"k":[19978],"v":[{"k":[21435],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[21319],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26377],"v":[{"k":[24322],"v":[{"k":[24120],"v":[{"k":[26410],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}},{"k":[35201],"v":[{"k":[25918],"v":[{"k":[22312],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[37324],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[25918],"v":[{"k":[21040],"v":[{"k":[22806],"v":[{"k":[36793],"v":[{"k":[65292],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[20849],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":9,"dc":[[6,2],[10,5],[48,3],[54,1],[63,4],[65,4],[69,1],[79,5],[108,1]]},"k":[62,63,44,39,59,36,96],"v":[{"d":{"df":1,"dc":[[5,1]]}},{"d":{"df":3,"dc":[[10,11],[65,2],[79,2]]},"k":[36],"v":[{"k":[123],"v":[{"k":[119],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[65,1]]}},{"k":[44,41],"v":[{"d":{"df":2,"dc":[[65,1],[79,2]]}},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[65,3],[83,2]]}}]}]}]},{"d":{"df":1,"dc":[[79,2]]}},{"k":[123],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]},{"k":[25152,30830,35270],"v":[{"k":[35859],"v":[{"k":[44],"v":[{"k":[24037],"v":[{"k":[27442],"v":[{"k":[21892],"v":[{"k":[20854],"v":[{"k":[20107],"v":[{"k":[24517],"v":[{"k":[20808],"v":[{"k":[21033],"v":[{"k":[20854],"v":[{"k":[22120],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[20570,23039],"v":[{"k":[27861],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]},{"k":[21183],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[32570],"v":[{"k":[28857],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]},{"k":[22791],"v":[{"d":{"df":1,"dc":[[5,1]]},"k":[24037],"v":[{"k":[20316],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"d":{"df":19,"dc":[[5,2],[7,1],[13,1],[27,2],[30,1],[31,1],[32,1],[40,8],[42,1],[48,2],[53,1],[57,3],[63,4],[65,1],[66,1],[68,1],[79,1],[85,4],[88,1]]},"k":[41,59,44,125,93,107,37,46,58,126,34],"v":[{"d":{"df":8,"dc":[[15,1],[21,1],[42,1],[48,2],[62,2],[68,1],[79,1],[85,1]]},"k":[91],"v":[{"k":[48],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]},{"d":{"df":6,"dc":[[10,2],[15,1],[27,3],[32,1],[33,1],[110,2]]}},{"d":{"df":5,"dc":[[15,2],[68,2],[69,2],[85,5],[106,1]]}},{"d":{"df":1,"dc":[[23,1]]}},{"d":{"df":1,"dc":[[48,1]]},"k":[41,59],"v":[{"d":{"df":1,"dc":[[31,1]]}},{"d":{"df":1,"dc":[[48,3]]}}]},{"d":{"df":1,"dc":[[40,1]]},"k":[98],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[40,4]]}},{"d":{"df":3,"dc":[[67,1],[89,1],[105,1]]},"k":[48,57],"v":[{"k":[50,51,53,37],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[40,1]]}},{"k":[117,115,110,119,104],"v":[{"k":[115],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[121,105,116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[105],"v":[{"k":[44],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[37],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[105],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[48],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[12290],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[20889],"v":[{"k":[23450],"v":[{"k":[26102],"v":[{"k":[33050],"v":[{"k":[26412],"v":[{"k":[30417],"v":[{"k":[25511],"v":[{"k":[24182],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[22336,22522],"v":[{"d":{"df":2,"dc":[[40,1],[84,1]]},"k":[20998,36827,30340,20026],"v":[{"k":[37197],"v":[{"d":{"df":1,"dc":[[5,1]]}}]},{"k":[34892],"v":[{"k":[32465],"v":[{"k":[23450],"v":[{"k":[44],"v":[{"k":[20998],"v":[{"k":[37197],"v":[{"k":[22266],"v":[{"k":[23450],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]},{"k":[36828],"v":[{"k":[31243],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[24211],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[20811],"v":[{"k":[38534],"v":[{"k":[21040],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[30001,27773,12290],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]},"k":[35774,22120,30340,24314,37197,40],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[5,1]]}}]},{"k":[43,37197],"v":[{"k":[33457],"v":[{"k":[29983],"v":[{"k":[22771],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"k":[32622],"v":[{"k":[33457],"v":[{"k":[29983],"v":[{"k":[22771],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]},{"k":[35774],"v":[{"k":[23450],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]},{"k":[35758],"v":[{"k":[20540],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[54,2]]}}]}]}]},{"k":[32622],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[105],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]},{"k":[36710],"v":[{"k":[65292],"v":[{"k":[38382],"v":[{"k":[21496],"v":[{"k":[26426],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[31449],"v":[{"k":[36807],"v":[{"k":[19981],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[94,1]]}}]},{"k":[24577],"v":[{"d":{"df":1,"dc":[[5,1]]},"k":[25991,36164],"v":[{"k":[20214],"v":[{"k":[24341],"v":[{"k":[29992],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"k":[28304],"v":[{"k":[30340],"v":[{"k":[36335],"v":[{"k":[24452],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]},{"k":[21475],"v":[{"d":{"df":1,"dc":[[68,1]]},"k":[36716,40,30417,65292,21495],"v":[{"k":[21457],"v":[{"k":[25110,30340],"v":[{"d":{"df":1,"dc":[[5,1]]}},{"k":[35805],"v":[{"k":[44],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]},{"k":[21442],"v":[{"k":[32771],"v":[{"k":[19979],"v":[{"k":[25991],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]},{"k":[21548],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[20250],"v":[{"k":[33268],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[22833],"v":[{"k":[36133],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[81,1]]}}]}]},{"k":[26426,35201,26525,39064,20307,38190],"v":[{"k":[21151,21363,21517,22320],"v":[{"k":[33021],"v":[{"k":[44],"v":[{"k":[21017],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[36716],"v":[{"k":[21457],"v":[{"k":[46],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[23558],"v":[{"k":[26412],"v":[{"k":[26426],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]},{"d":{"df":1,"dc":[[48,1]]}},{"k":[22336],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]},{"k":[26597,26377,36890,38024],"v":[{"k":[35810],"v":[{"k":[65292],"v":[{"k":[116],"v":[{"k":[52],"v":[{"k":[12289],"v":[{"k":[116],"v":[{"k":[53],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]},{"k":[20004],"v":[{"k":[31181],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]},{"k":[36807],"v":[{"d":{"df":1,"dc":[[79,1]]}}]},{"k":[23545],"v":[{"k":[21019],"v":[{"k":[19994],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[30340],"v":[{"k":[24635],"v":[{"k":[32467],"v":[{"k":[24402],"v":[{"k":[32435],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[35813],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[61,1]]},"k":[21644],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[61,2]]}}]}]}]},{"k":[32467],"v":[{"k":[26500],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]},{"k":[27809],"v":[{"k":[26377],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[33258],"v":[{"k":[22686],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]},{"k":[30721,29702],"v":[{"d":{"df":2,"dc":[[43,1],[46,1]]},"k":[41,31034,20179,21487,22359,35299,65292,36716,36816,25552,30340,22534,26159,40,27880,37325,65306,35206],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[5,1]]}}]},{"k":[20363],"v":[{"d":{"df":1,"dc":[[13,1]]}}]},{"k":[24211],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[20197],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[25191],"v":[{"k":[34892],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[25243],"v":[{"k":[20986],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]},{"k":[26512],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[22312],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"d":{"df":1,"dc":[[58,2]]}},{"k":[34892],"v":[{"d":{"df":1,"dc":[[60,1]]}}]},{"k":[20132],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,2]]}}]}]},{"k":[20215,35774],"v":[{"k":[20540],"v":[{"k":[20250],"v":[{"k":[36234],"v":[{"k":[26469],"v":[{"k":[36234],"v":[{"k":[20302],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[35745],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[24443],"v":[{"k":[24471],"v":[{"k":[22810],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[24265],"v":[{"k":[20215],"v":[{"k":[30340],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[20027],"v":[{"k":[35201],"v":[{"k":[34913],"v":[{"k":[37327],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]},{"k":[37322],"v":[{"k":[29575],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[22797],"v":[{"k":[29575],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"d":{"df":1,"dc":[[106,1]]}},{"k":[30422],"v":[{"k":[29575],"v":[{"k":[35201],"v":[{"k":[27714],"v":[{"k":[96],"v":[{"k":[57],"v":[{"k":[53],"v":[{"k":[37],"v":[{"k":[96],"v":[{"k":[20197],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[96],"v":[{"k":[57],"v":[{"k":[48],"v":[{"k":[37],"v":[{"k":[96],"v":[{"k":[20197],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[24322],"v":[{"k":[24120],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[21644],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65306,36719,26381],"v":[{"d":{"df":1,"dc":[[54,1]]}},{"k":[20214],"v":[{"k":[65292],"v":[{"k":[36895],"v":[{"k":[24230],"v":[{"k":[24555],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36328],"v":[{"k":[24179],"v":[{"k":[21488],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21153],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]},{"d":{"df":1,"dc":[[83,1]]},"k":[38047,32423,39029,25903,37197,21035,27835,25285,20102,20197],"v":[{"d":{"df":1,"dc":[[101,1]]},"k":[46,20197,21482,20869],"v":[{"d":{"df":1,"dc":[[5,1]]}},{"k":[20869],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[22810],"v":[{"k":[19981],"v":[{"k":[36229],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]},{"d":{"df":1,"dc":[[109,1]]}}]},{"k":[36941,21015],"v":[{"k":[21382],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]},{"k":[34920],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"d":{"df":1,"dc":[[12,1]]},"k":[35831,26597],"v":[{"k":[27714],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[35810],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[19978,34987,19979,26159,40,41],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[36825],"v":[{"k":[26102],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26500],"v":[{"k":[24314],"v":[{"k":[21644],"v":[{"k":[38519],"v":[{"k":[20837],"v":[{"k":[26500],"v":[{"k":[24314],"v":[{"k":[24490],"v":[{"k":[29615],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36827],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[28304],"v":[{"k":[30721],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]},{"k":[26159],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[31449],"v":[{"k":[28857],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[48,2]]}},{"k":[32473,23384],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[21644],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25918],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[21644],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[30340],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27861],"v":[{"d":{"df":1,"dc":[[71,1]]}}]},{"k":[20182],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]},{"k":[20219],"v":[{"k":[21153],"v":[{"k":[24456],"v":[{"k":[24555],"v":[{"k":[23601],"v":[{"k":[33021],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]},{"k":[19978],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"d":{"df":56,"dc":[[5,2],[6,18],[7,10],[8,2],[9,4],[10,15],[11,26],[12,44],[13,2],[15,17],[17,3],[18,5],[20,14],[21,7],[22,3],[23,10],[24,2],[26,10],[27,22],[28,2],[29,1],[30,1],[31,1],[32,2],[33,21],[39,10],[40,2],[42,8],[43,7],[45,2],[46,1],[47,4],[48,31],[49,2],[52,9],[53,4],[57,2],[62,11],[63,105],[64,15],[65,37],[66,13],[68,17],[69,45],[70,7],[75,15],[76,31],[77,20],[79,22],[80,3],[81,17],[85,6],[88,1],[106,2],[108,1],[110,15]]},"k":[62,61,101],"v":[{"d":{"df":44,"dc":[[5,1],[6,8],[7,6],[8,6],[9,1],[10,4],[11,7],[12,8],[13,1],[15,9],[17,3],[18,2],[20,6],[21,5],[22,4],[23,2],[24,3],[27,7],[29,2],[30,2],[31,2],[32,21],[33,3],[39,2],[42,1],[48,7],[52,8],[53,1],[62,5],[63,42],[64,7],[65,9],[68,4],[69,8],[70,1],[75,9],[76,11],[77,5],[79,14],[80,2],[81,2],[85,2],[106,1],[110,3]]}},{"d":{"df":1,"dc":[[45,4]]},"k":[61,62],"v":[{"d":{"df":19,"dc":[[6,3],[7,1],[8,1],[12,1],[15,2],[21,1],[28,2],[33,1],[48,3],[62,3],[63,79],[65,1],[69,8],[75,1],[76,1],[79,3],[80,1],[85,1],[110,1]]},"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[61],"v":[{"d":{"df":1,"dc":[[39,3]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[29,3],[43,2]]}}]},{"k":[119],"v":[{"k":[119],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"d":{"df":54,"dc":[[5,5],[6,9],[10,8],[11,26],[12,30],[13,1],[15,20],[16,1],[17,9],[18,2],[20,41],[21,13],[22,4],[23,23],[24,3],[26,20],[27,12],[28,10],[32,31],[33,21],[39,29],[42,5],[43,14],[44,7],[45,4],[47,8],[48,14],[49,10],[50,1],[51,1],[52,36],[53,6],[57,18],[62,13],[63,75],[64,15],[65,20],[67,2],[68,47],[69,35],[70,1],[75,12],[76,30],[77,7],[78,4],[79,33],[80,9],[81,31],[82,2],[85,21],[88,5],[106,8],[107,1],[110,13]]},"k":[125,110,105,116,99,111,104,98,49],"v":[{"d":{"df":7,"dc":[[20,5],[42,1],[57,52],[64,1],[68,2],[85,1],[110,1]]},"k":[59,44,41],"v":[{"d":{"df":8,"dc":[[6,1],[21,1],[23,1],[39,1],[42,1],[62,1],[79,1],[110,1]]}},{"d":{"df":5,"dc":[[12,1],[27,4],[64,1],[75,1],[85,2]]}},{"d":{"df":2,"dc":[[65,1],[69,1]]},"k":[58,59],"v":[{"d":{"df":1,"dc":[[49,1]]}},{"d":{"df":2,"dc":[[76,1],[79,2]]}}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[91,125],"v":[{"k":[93],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]},{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[117,109],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[23,5]]}}]}]}]},{"k":[109],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[124],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[124],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[125],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]},{"k":[104],"v":[{"k":[125],"v":[{"k":[58],"v":[{"k":[123],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[125],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[58],"v":[{"k":[49],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"d":{"df":48,"dc":[[5,3],[6,2],[10,4],[11,14],[12,23],[15,8],[16,1],[17,4],[20,33],[21,3],[23,15],[26,6],[27,10],[28,2],[32,14],[33,9],[39,6],[42,3],[43,10],[44,7],[45,4],[48,9],[49,9],[50,1],[51,1],[52,9],[53,4],[57,13],[62,9],[63,53],[64,9],[65,12],[67,2],[68,22],[69,21],[75,5],[76,14],[77,2],[78,4],[79,25],[80,7],[81,11],[82,2],[85,12],[88,6],[106,5],[107,1],[110,9]]},"k":[41,59,44,93,40,58,39],"v":[{"d":{"df":15,"dc":[[5,1],[11,1],[12,1],[20,3],[21,3],[26,1],[28,2],[32,5],[39,6],[52,2],[68,2],[76,2],[79,2],[80,2],[81,1]]},"k":[59,41,46,40,44,96],"v":[{"d":{"df":41,"dc":[[5,1],[6,5],[10,4],[11,6],[12,7],[13,1],[15,3],[17,4],[18,2],[20,6],[21,4],[22,4],[23,1],[24,3],[26,1],[27,2],[28,5],[32,7],[33,7],[39,10],[42,1],[43,6],[47,8],[48,2],[52,33],[53,1],[63,8],[64,5],[65,3],[68,8],[69,8],[70,2],[75,6],[76,4],[77,4],[79,2],[80,2],[81,6],[85,2],[106,1],[110,3]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[11,4]]}}]},{"k":[116,97,101,99,115],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[40,102,114],"v":[{"k":[41,97,118,120,114],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[62],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[64,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[120],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":9,"dc":[[13,1],[32,2],[39,2],[48,1],[64,1],[69,1],[75,1],[77,2],[110,2]]}}]}]},{"d":{"df":3,"dc":[[26,6],[68,2],[83,3]]}},{"k":[65292],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21152],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]},{"d":{"df":24,"dc":[[6,2],[11,2],[15,2],[20,1],[21,5],[23,8],[26,2],[33,5],[39,2],[42,1],[43,1],[48,3],[49,1],[62,4],[63,11],[64,3],[65,4],[68,3],[69,7],[75,4],[76,8],[77,1],[81,3],[110,1]]}},{"d":{"df":21,"dc":[[11,6],[12,2],[15,7],[17,2],[20,1],[21,2],[26,6],[32,3],[39,3],[53,1],[57,4],[63,4],[64,4],[65,1],[68,12],[69,1],[76,2],[79,3],[81,15],[85,7],[106,2]]}},{"d":{"df":2,"dc":[[63,1],[79,1]]},"k":[44,93],"v":[{"d":{"df":3,"dc":[[26,3],[68,1],[79,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[105],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[49,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]},{"d":{"df":11,"dc":[[16,4],[19,1],[40,3],[41,1],[44,1],[45,3],[51,3],[53,2],[63,1],[89,1],[93,2]]},"k":[99,108,102,109,46,116,115,111,98,101,97,47,103,105,106,26469,100,118,122,34,114],"v":[{"k":[114,97],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40,102,112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[32,4]]}}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":2,"dc":[[39,3],[52,2]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115,109],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[115,49],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]},{"k":[105,111],"v":[{"k":[108,110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[40],"v":[{"k":[41,96],"v":[{"d":{"df":1,"dc":[[12,1]]}},{"k":[36],"v":[{"k":[123],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[58],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[58],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[40,110],"v":[{"k":[120,105,106,91],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[6,1]]}}]},{"k":[41,44],"v":[{"d":{"df":1,"dc":[[29,1]]}},{"d":{"df":1,"dc":[[63,2]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[63,2]]}}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"d":{"df":9,"dc":[[21,2],[27,2],[28,1],[33,1],[43,1],[44,1],[49,1],[53,1],[79,2]]},"k":[46,111,99],"v":[{"k":[46],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[9,2]]},"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[10,2]]},"k":[46],"v":[{"d":{"df":1,"dc":[[10,2]]},"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[46],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[47,2]]},"k":[46],"v":[{"d":{"df":1,"dc":[[47,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[44,101],"v":[{"d":{"df":1,"dc":[[12,2]]}},{"k":[99],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[41],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104,114],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[32,1]]},"k":[40],"v":[{"k":[40,102,99],"v":[{"k":[114,120,123,112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,2]]}}]}]}]},{"k":[41],"v":[{"d":{"df":2,"dc":[[12,2],[32,5]]}}]},{"d":{"df":1,"dc":[[20,1]]}},{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":3,"dc":[[28,4],[39,6],[52,2]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,3]]}}]}]}]}]}]}]}]}]}]},{"k":[111,101,112],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[91,40],"v":[{"k":[39],"v":[{"k":[36],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,4]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116,100,118,40],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,4]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[39,58],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[29,1]]}}]},{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]},{"k":[102,112,104],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[115,40],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[118,116],"v":[{"k":[49],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]},{"k":[45],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]},{"k":[105,117,97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]},{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[114],"v":[{"k":[99],"v":[{"d":{"df":2,"dc":[[26,1],[106,1]]}}]}]}]}]}]}]},{"k":[120,115,110],"v":[{"k":[101,112],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[50,39],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[41],"v":[{"d":{"df":2,"dc":[[20,1],[52,4]]}}]}]}]},{"k":[104,111,102],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[107],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114,105],"v":[{"k":[99],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":2,"dc":[[26,1],[49,1]]},"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]},{"k":[103],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[40],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[52,4]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[100,114],"v":[{"k":[100],"v":[{"k":[40,116,98],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[97],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[110,98,112,104,115,99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[101,97,110],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]}]}]}]}]}]},{"k":[118],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[106,2]]}}]}]},{"k":[121],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[45,2]]}}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[111,104],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[100],"v":[{"k":[48],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[48],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,108,101,111],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[82,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,5]]},"k":[58],"v":[{"d":{"df":1,"dc":[[88,3]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101,105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[47],"v":[{"k":[39,115,118,116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[113],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[111,102],"v":[{"k":[107],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[106,1]]},"k":[105],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[79,1]]},"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"k":[20837],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[36807],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[26032],"v":[{"k":[22686],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,115],"v":[{"k":[112,118],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[121],"v":[{"k":[95],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[55,1]]}}]},{"k":[95],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[99],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[67,1]]}}]},{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[48],"v":[{"k":[22825,26102,20998,31186],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[64,5],[79,2]]},"k":[99,97,105,59,44,36,121,47,114,109,108,116,110,118,64,100,39,107,49,115,41,117,112,104,46,102,103,119,101,98,91,34,40,42,12298,123,60,92,48,111,120,30446,26681,39033,29992,27963,25928,25968,35,106,55,23494,113,35831,25104,24179,26368,21152,25163,27880,26356,30495,24615,23454,24320],"v":[{"k":[111,104,119,109,100,118,98,115],"v":[{"k":[110,109,117],"v":[{"k":[116,110],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]},{"k":[109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39,46],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[97,105],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[108],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[92],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]},{"k":[100,101],"v":[{"k":[39,45],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"k":[97,115,96,107,49],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[108,106,117,100,114,115],"v":[{"k":[39,101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[102],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[112],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[117,100,108,114],"v":[{"k":[112],"v":[{"k":[39],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[58],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[58],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[58],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[58],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[108,106],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[39],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[58],"v":[{"k":[39],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[58],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[110,98],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[109],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[101,115],"v":[{"k":[99],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[81,1]]},"k":[112,117,114,100,116,99,108,105,109,110,115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[47,112],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104,111],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[35,11]]}},{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[61],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[120],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[56],"v":[{"k":[54],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[116,98],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[58],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116,99],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[106,1]]},"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[120],"v":[{"k":[32593],"v":[{"k":[39029],"v":[{"k":[29256],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[113],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[100,99],"v":[{"k":[102],"v":[{"k":[122],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]},{"k":[39],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[110,112,116,109,111],"v":[{"k":[115,101,99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"k":[39,108],"v":[{"k":[58,44],"v":[{"d":{"df":1,"dc":[[23,1]]}},{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[28,2]]}}]}]}]}]}]}]},{"k":[118],"v":[{"k":[52],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[91],"v":[{"k":[48],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[39],"v":[{"k":[44,41],"v":[{"d":{"df":1,"dc":[[63,6]]}},{"d":{"df":1,"dc":[[63,4]]}}]}]}]}]},{"k":[112,97],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[101,110,114],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[106,112],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[99,101,109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[100,97],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[109,103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[10,2]]}},{"d":{"df":2,"dc":[[15,1],[39,1]]},"k":[39],"v":[{"k":[59,37],"v":[{"d":{"df":1,"dc":[[10,2]]}},{"k":[50],"v":[{"k":[48],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[123,46,112],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]},{"k":[99],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]},{"k":[121,117],"v":[{"k":[121],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]},{"k":[103,39,95,98,108,100,97,105,52,117,116],"v":[{"k":[114,117],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[11,2]]},"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"d":{"df":3,"dc":[[20,1],[26,1],[52,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[42,1]]},"k":[59,44],"v":[{"d":{"df":1,"dc":[[42,1]]}},{"d":{"df":1,"dc":[[42,4]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[95,97,100,102,106],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[47],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[47],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[52,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[52,4]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[99],"v":[{"k":[63],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]},{"k":[112,115],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[47,115],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,101],"v":[{"k":[111],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[39],"v":[{"d":{"df":1,"dc":[[12,2]]},"k":[44],"v":[{"d":{"df":2,"dc":[[11,2],[12,2]]}}]}]}]}]},{"k":[97,100,116,108],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[39,45],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]},{"k":[114,100],"v":[{"k":[101,111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]},{"k":[117,105],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,2]]}}]}]}]},{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[27,2]]}}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[28,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]}]}]}]}]}]},{"k":[121,117,111,105,101,97],"v":[{"k":[115,102],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[39,120],"v":[{"d":{"df":1,"dc":[[81,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]},{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]},{"k":[122,98,110],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[47],"v":[{"k":[53],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[15,2]]}}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[39],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[50],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[110,108],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]},{"k":[111,97,105,98],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[44],"v":[{"d":{"df":2,"dc":[[12,2],[81,1]]}}]}]}]}]}]}]}]}]}]},{"k":[121,116],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]}]},{"k":[98,115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[35,3]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[101,119,105,114,100,116],"v":[{"k":[120,115,114,108],"v":[{"k":[116],"v":[{"k":[40,39,47],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[112,104,99,106],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[52,4]]},"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[39,50,20107],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[59,44,41],"v":[{"d":{"df":1,"dc":[[33,1]]}},{"d":{"df":1,"dc":[[33,1]]}},{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]},{"k":[50,20107],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[20214],"v":[{"k":[20013],"v":[{"k":[24515],"v":[{"k":[30340],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[20013],"v":[{"k":[24515],"v":[{"k":[30340],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]},{"k":[92],"v":[{"k":[45],"v":[{"k":[107,115],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]},{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]},{"k":[111,101,105,117],"v":[{"k":[39,45],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[110,98],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[115,118],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,4]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[68,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[109],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[35,2]]}}]}]}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[105,97,117,112],"v":[{"k":[114,115],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]},{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[49,50,51,52],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[39],"v":[{"d":{"df":1,"dc":[[33,2]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[39,45,47],"v":[{"k":[59,93],"v":[{"d":{"df":1,"dc":[[63,1]]}},{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[109,110],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[120],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99,112,115,116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,3]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,97,103,119,95],"v":[{"k":[109,99,102,118,115,112],"v":[{"k":[111],"v":[{"k":[48,39],"v":[{"k":[50,51],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[39],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[39,111],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[23,1]]}}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[41,44],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[116,39],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[49,1]]},"k":[39],"v":[{"k":[41,44],"v":[{"d":{"df":1,"dc":[[63,7]]}},{"d":{"df":1,"dc":[[63,3]]}}]}]}]}]}]}]},{"k":[101,39],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41,125,59],"v":[{"d":{"df":2,"dc":[[63,1],[69,1]]}},{"k":[34,96],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[70,1]]}}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]},{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[65,2]]}}]}]},{"k":[99],"v":[{"k":[114,39],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[121],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[116,121],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]},{"d":{"df":7,"dc":[[15,1],[26,1],[48,1],[49,1],[65,1],[81,10],[108,5]]},"k":[41,44,59,125],"v":[{"d":{"df":3,"dc":[[12,1],[63,20],[85,3]]},"k":[125,59],"v":[{"k":[47],"v":[{"k":[36],"v":[{"k":[123],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[95],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[85,1]]}}]},{"d":{"df":4,"dc":[[15,1],[63,3],[64,2],[75,1]]}},{"d":{"df":2,"dc":[[43,2],[79,1]]}},{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[101,97],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44,41],"v":[{"d":{"df":1,"dc":[[12,1]]}},{"k":[44,46],"v":[{"d":{"df":1,"dc":[[52,1]]}},{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]},{"k":[50,46,51],"v":[{"k":[55,51],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":3,"dc":[[13,1],[17,1],[94,1]]}}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[52],"v":[{"k":[46],"v":[{"k":[52],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[47,6]]}}]}]}]}]}]}]},{"k":[50],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,112,111,116,117,99,113,121],"v":[{"k":[116,99,113,114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]},{"k":[99,117,110],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[35,2]]}}]}]}]},{"k":[103],"v":[{"k":[116],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[35,1]]},"k":[97,111],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[97,104],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"d":{"df":1,"dc":[[63,4]]}}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]},"k":[91,59,125],"v":[{"k":[50],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[59],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[91],"v":[{"k":[48],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[76,2]]}},{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[114,115,116,110,117],"v":[{"k":[108],"v":[{"k":[22320],"v":[{"k":[22336],"v":[{"k":[44],"v":[{"k":[21644],"v":[{"k":[35856],"v":[{"k":[20320],"v":[{"k":[25105],"v":[{"k":[20182],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"d":{"df":2,"dc":[[39,1],[52,4]]},"k":[114],"v":[{"k":[45,39],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[81,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[81,3]]}}]}]}]}]},{"k":[102],"v":[{"k":[56,45],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[41],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[123],"v":[{"k":[123],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[110],"v":[{"k":[125],"v":[{"k":[125],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[56],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[111,97,114,105,110,101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[39],"v":[{"k":[44,59],"v":[{"d":{"df":3,"dc":[[15,1],[28,2],[52,4]]}},{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[103,116,115,99,110],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[115],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[52,2]]}}]}]}]}]}]}]},{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[58],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[117,100,108,114],"v":[{"k":[112],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[99,112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46,39],"v":[{"k":[110,97],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[70,1]]}}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[105],"v":[{"k":[95],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[103],"v":[{"k":[102],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]},{"k":[103],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]},{"k":[114],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]},{"k":[97,101,116,105,121,111],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[108,118],"v":[{"k":[111],"v":[{"d":{"df":2,"dc":[[18,1],[22,1]]},"k":[39],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[112],"v":[{"k":[58,115],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[108,115],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[119],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58,39],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103,99],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[118],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[113],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[50],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[112],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[107],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[115,110,39],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[91],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[20027],"v":[{"k":[26426],"v":[{"k":[93],"v":[{"k":[59],"v":[{"k":[100,115],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[61],"v":[{"k":[91],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[93],"v":[{"k":[59],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[61],"v":[{"k":[91],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[23494],"v":[{"k":[38053],"v":[{"k":[93],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[59],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[61],"v":[{"k":[91],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[23494],"v":[{"k":[38053],"v":[{"k":[93],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]},{"k":[47,46,106,99,109,118],"v":[{"k":[97,46,99,95,114],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,3]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,97],"v":[{"k":[117,110],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]},{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]},{"k":[47,46],"v":[{"k":[97,46,115,100,108,105],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[47],"v":[{"k":[97,99,98],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[99],"v":[{"k":[47,39],"v":[{"k":[109,105],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[120,39],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[41],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39,47],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[68,2]]},"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[115],"v":[{"k":[111,120],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[115,117,97,111,105],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[20,1],[63,2]]}}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[39,116],"v":[{"d":{"df":1,"dc":[[27,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[28,2]]},"k":[41],"v":[{"d":{"df":1,"dc":[[28,2]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,2]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[63,2]]},"k":[44,41,93],"v":[{"d":{"df":1,"dc":[[63,2]]}},{"d":{"df":1,"dc":[[63,2]]},"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[40],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[45,110],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101,104,122,39],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[44],"v":[{"d":{"df":3,"dc":[[20,1],[52,4],[69,1]]}}]}]}]},{"k":[95],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[61],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]},{"k":[111,101,105,119,98,113],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[33],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[113,122],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[35,4]]}}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]},{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[52,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[52,3]]}}]}]}]}]}]}]},{"k":[49],"v":[{"k":[48],"v":[{"k":[56],"v":[{"k":[52],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[55],"v":[{"k":[51],"v":[{"k":[51],"v":[{"k":[48],"v":[{"k":[53],"v":[{"k":[122],"v":[{"k":[122],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[118],"v":[{"k":[51],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[53],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[48],"v":[{"k":[108],"v":[{"k":[54],"v":[{"k":[51],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]},{"k":[115,110,99,108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[98],"v":[{"k":[110],"v":[{"k":[98],"v":[{"k":[45,47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,97,113,100],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]},{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[61],"v":[{"k":[91],"v":[{"k":[115],"v":[{"k":[98],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[20027],"v":[{"k":[26426],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[59],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[91],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[31574],"v":[{"k":[30053],"v":[{"k":[93],"v":[{"k":[59],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[61],"v":[{"k":[91],"v":[{"k":[120],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[23494],"v":[{"k":[38053],"v":[{"k":[93],"v":[{"k":[59],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[61],"v":[{"k":[91],"v":[{"k":[20107],"v":[{"k":[20214],"v":[{"k":[23454],"v":[{"k":[20307],"v":[{"k":[93],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104,111],"v":[{"k":[111],"v":[{"d":{"df":2,"dc":[[54,1],[55,1]]}}]},{"k":[110],"v":[{"k":[110],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[94,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39,45],"v":[{"d":{"df":1,"dc":[[63,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,117,109,111],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[101,108,99],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[49,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]}}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[39],"v":[{"k":[93],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[100],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]},{"k":[110,105,100],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[106,91],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[104,101],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[116],"v":[{"k":[93],"v":[{"k":[63],"v":[{"k":[91],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[93],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[91],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[93],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[93],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[112,62],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[39],"v":[{"d":{"df":2,"dc":[[26,1],[68,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[60,39],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]},{"d":{"df":1,"dc":[[43,2]]}}]}]},{"k":[36],"v":[{"k":[49],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]},{"k":[46,39],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[40,2]]}}]}]}]}]},{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[22242],"v":[{"k":[38431],"v":[{"k":[39046],"v":[{"k":[34966],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[35745],"v":[{"k":[21010],"v":[{"k":[12299],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[76,1]]},"k":[121],"v":[{"k":[121],"v":[{"k":[121],"v":[{"k":[121],"v":[{"k":[125],"v":[{"k":[45],"v":[{"k":[123],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[125],"v":[{"k":[45],"v":[{"k":[123],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100,47,112],"v":[{"k":[105],"v":[{"k":[118],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]},{"k":[100,99],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[62],"v":[{"k":[39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[62],"v":[{"k":[60],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[62],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[59],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]},{"k":[110],"v":[{"k":[35],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[46,39],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"d":{"df":1,"dc":[[108,1]]}}]},{"k":[107,98,102,114],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[52,2]]}}]}]}]},{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]}]}]}]},{"k":[102],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[103],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[120,45],"v":[{"k":[120],"v":[{"k":[49,115,120],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[50,49,52,51],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[39,120],"v":[{"d":{"df":2,"dc":[[69,1],[77,1]]},"k":[44],"v":[{"d":{"df":2,"dc":[[69,2],[77,2]]}}]},{"k":[120],"v":[{"k":[120],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115,111,101],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24405],"v":[{"d":{"df":1,"dc":[[63,6]]}}]},{"k":[30446],"v":[{"k":[24405],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[30446],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[25143],"v":[{"k":[39,21517,105],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[81,1],[108,1]]}}]}]},{"k":[100],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,2]]}}]}]}]}]}]},{"k":[36291],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[65288],"v":[{"k":[31186],"v":[{"k":[65289],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]},{"k":[29575],"v":[{"k":[65288],"v":[{"k":[37],"v":[{"k":[65289],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]},{"k":[25454],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[65288],"v":[{"k":[36716],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25139],"v":[{"k":[65289],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,115],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115,112],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[103],"v":[{"k":[39],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[51],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[30721],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[81,1],[108,1]]}}]}]}]},{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]},{"k":[27714],"v":[{"k":[27425],"v":[{"k":[25968],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]},{"k":[21151],"v":[{"k":[27425],"v":[{"k":[25968],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]},{"k":[22343],"v":[{"k":[21709],"v":[{"k":[24212],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]},{"k":[22823,23567],"v":[{"k":[21709],"v":[{"k":[24212],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]},{"k":[21709],"v":[{"k":[24212],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]},{"k":[30416],"v":[{"k":[21152],"v":[{"k":[23494],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]},{"k":[26426],"v":[{"k":[21495],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]},{"k":[20876],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]},{"k":[26032],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]},{"k":[23454],"v":[{"k":[22995],"v":[{"k":[21517],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]},{"k":[21035],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]},{"k":[21517],"v":[{"k":[35748],"v":[{"k":[35777],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]},{"k":[21457],"v":[{"k":[32773],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]},{"k":[22914,35774],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[21160],"v":[{"k":[24577],"v":[{"k":[35299],"v":[{"k":[26512],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]}]}]}]}]}]}]},{"k":[29616,20195,26381,22788,35813,30446,26377,20320,36825],"v":[{"k":[26377],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[29992],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]}]}]}]}]}]},{"k":[30721],"v":[{"k":[22359],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[25243],"v":[{"k":[20986],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]},{"k":[21153],"v":[{"k":[31471],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[20869],"v":[{"k":[37096],"v":[{"k":[20390],"v":[{"k":[21548],"v":[{"k":[30340],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[20026],"v":[{"k":[65306],"v":[{"k":[96],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[56],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29702],"v":[{"k":[30340],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[48,2]]}}]}]}]}]}]}]}]}]}]},{"k":[20540],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]},{"k":[21069],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]},{"k":[36825,20004],"v":[{"k":[26679],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65306],"v":[{"k":[26234],"v":[{"k":[33021],"v":[{"k":[38376],"v":[{"k":[38145],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[35299],"v":[{"k":[38145],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[12290],"v":[{"k":[22312],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[32676],"v":[{"k":[37324],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21453],"v":[{"k":[39304],"v":[{"k":[35828],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]},{"k":[20174],"v":[{"k":[24212],"v":[{"k":[23626],"v":[{"k":[29983],"v":[{"k":[27605],"v":[{"k":[19994],"v":[{"k":[26102],"v":[{"k":[26376],"v":[{"k":[34218],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19977],"v":[{"k":[24180],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]},{"k":[20986],"v":[{"k":[31070],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"k":[21463],"v":[{"k":[21543],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[5,1]]}}]}]}]},{"d":{"df":1,"dc":[[91,1]]},"k":[24515,44],"v":[{"k":[23383,20195,44,46,24605],"v":[{"k":[27573],"v":[{"d":{"df":1,"dc":[[6,2]]}}]},{"k":[30721],"v":[{"d":{"df":2,"dc":[[23,1],[69,1]]},"k":[65306,24320],"v":[{"d":{"df":1,"dc":[[33,1]]}},{"k":[22987],"v":[{"d":{"df":1,"dc":[[64,3]]}}]}]}]},{"d":{"df":1,"dc":[[48,5]]}},{"d":{"df":1,"dc":[[48,1]]}},{"k":[24819],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"d":{"df":2,"dc":[[71,1],[73,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[91,1]]}}]},{"d":{"df":6,"dc":[[6,39],[20,1],[43,24],[45,1],[49,1],[59,13]]},"k":[124,95,62,26657],"v":[{"d":{"df":11,"dc":[[6,1],[21,1],[28,1],[43,6],[63,2],[64,1],[65,2],[68,1],[70,3],[78,1],[79,2]]}},{"k":[99,114,97,115,109],"v":[{"k":[111],"v":[{"k":[109,110],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[27,4],[70,1]]}},{"k":[39564],"v":[{"k":[22833,25104],"v":[{"k":[36133],"v":[{"k":[124],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]},{"k":[21151],"v":[{"k":[124],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[51],"v":[{"k":[91],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20986,35810,30475,25214,23572],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]},{"k":[20248,24615,25509,65292,20986,32467],"v":[{"k":[21270],"v":[{"d":{"df":1,"dc":[[10,1]]}}]},{"k":[33021],"v":[{"k":[24179],"v":[{"k":[20998],"v":[{"k":[31179],"v":[{"k":[33394],"v":[{"k":[12290],"v":[{"k":[22810],"v":[{"k":[27425],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[21457],"v":[{"k":[29616],"v":[{"k":[96],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[30053],"v":[{"k":[39640],"v":[{"k":[20110],"v":[{"k":[96],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21475],"v":[{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[28982],"v":[{"k":[21518],"v":[{"k":[20877],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"k":[38169],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[110,1]]},"k":[19981],"v":[{"k":[33021],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]},{"k":[26524],"v":[{"k":[20026],"v":[{"k":[31354],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]},{"k":[26426,21382,21629,30913,20869,24110,23454],"v":[{"k":[22120],"v":[{"k":[30340],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[21040],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21490],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"k":[65292],"v":[{"k":[35813],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20196],"v":[{"k":[21382],"v":[{"k":[21490],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[20415],"v":[{"k":[30830],"v":[{"k":[23450],"v":[{"k":[35201],"v":[{"k":[22238],"v":[{"k":[21040],"v":[{"k":[26410],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[21738],"v":[{"k":[20010],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30424],"v":[{"k":[21487],"v":[{"k":[29992],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]},{"k":[23384],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"k":[21161],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[20363],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[20026],"v":[{"k":[20363],"v":[{"d":{"df":1,"dc":[[64,2]]}}]}]}]}]}]}]},{"k":[21487,24182,19968],"v":[{"k":[29992],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]},{"k":[19979],"v":[{"k":[36733],"v":[{"k":[26368],"v":[{"k":[26032],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[88,3]]}}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[23454],"v":[{"k":[21517],"v":[{"k":[35748],"v":[{"k":[35777],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26031],"v":[{"k":[183],"v":[{"k":[36798],"v":[{"k":[23572],"v":[{"k":[25991],"v":[{"k":[65288],"v":[{"k":[36798],"v":[{"k":[20811],"v":[{"k":[25928],"v":[{"k":[24212],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24418],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]}]}]}]},{"k":[26395],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[6,2]]}}]}]}]}]},{"k":[24402],"v":[{"d":{"df":1,"dc":[[6,1]]},"k":[26041,21024],"v":[{"k":[27861],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]},{"k":[38500],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]},{"d":{"df":9,"dc":[[6,2],[40,1],[43,2],[45,1],[48,3],[63,4],[65,2],[69,1],[79,1]]},"k":[36,105,45,100,97,99,50,49,52,58],"v":[{"k":[123],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[39],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[111],"v":[{"k":[110,99],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[49],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]},{"k":[99,102],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]}]}]},{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[43,4]]}}]}]}]}]},{"k":[100,48],"v":[{"d":{"df":1,"dc":[[43,1]]}},{"k":[104],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[56],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"d":{"df":1,"dc":[[84,7]]}}]},{"k":[39064],"v":[{"d":{"df":1,"dc":[[39,1]]},"k":[49,50,25551,65306,29616,35299,23450,35268],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[6,2]]}}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[6,1]]}}]},{"k":[36848],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]},{"k":[29992],"v":[{"k":[20110],"v":[{"k":[25551],"v":[{"k":[36848],"v":[{"k":[24744],"v":[{"k":[24819],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]},{"k":[35937],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[20915],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]},{"k":[20301],"v":[{"d":{"df":1,"dc":[[94,1]]}}]},{"k":[36991],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]},{"k":[27425,19968,26085,20010,20998,22825,21608,23567,31181,38548],"v":[{"k":[37117,37096,26356],"v":[{"k":[23558],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[23436],"v":[{"k":[25972],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[36941],"v":[{"k":[21382],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]},{"k":[32626],"v":[{"k":[30340],"v":[{"k":[27493],"v":[{"k":[39588],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[25353],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[19977],"v":[{"k":[27493],"v":[{"k":[26469],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26032],"v":[{"k":[28304],"v":[{"k":[31449],"v":[{"k":[26368],"v":[{"k":[26032],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"d":{"df":1,"dc":[[66,2]]}}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[65292],"v":[{"k":[39318],"v":[{"k":[23614],"v":[{"k":[25968],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[20026],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26500,36235],"v":[{"k":[24314],"v":[{"d":{"df":1,"dc":[[41,1]]}}]},{"k":[21183],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[48,2]]},"k":[39029,20250,20154],"v":[{"k":[38754],"v":[{"k":[28210],"v":[{"k":[26579],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[21518],"v":[{"k":[25163],"v":[{"k":[21160],"v":[{"k":[28210],"v":[{"k":[26579],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[35805],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38543],"v":[{"k":[26426],"v":[{"k":[21807],"v":[{"k":[19968],"v":[{"k":[30340],"v":[{"k":[27169],"v":[{"k":[25311],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37117],"v":[{"k":[26377,24212],"v":[{"k":[33258,25104],"v":[{"k":[24049],"v":[{"k":[21560],"v":[{"k":[25910],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[21516],"v":[{"k":[23398],"v":[{"k":[21916],"v":[{"k":[27426],"v":[{"k":[30475],"v":[{"k":[34892],"v":[{"k":[19994],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[30340],"v":[{"k":[26032],"v":[{"k":[38395],"v":[{"k":[12289],"v":[{"k":[21338],"v":[{"k":[23458],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[21516],"v":[{"k":[23398],"v":[{"k":[21916],"v":[{"k":[27426],"v":[{"k":[30475],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[35270],"v":[{"k":[39057],"v":[{"k":[12289],"v":[{"k":[35762],"v":[{"k":[24231],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[26377],"v":[{"k":[21916],"v":[{"k":[27426],"v":[{"k":[30475],"v":[{"k":[20070],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20026],"v":[{"k":[22823],"v":[{"k":[29275],"v":[{"k":[30340],"v":[{"k":[28508],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32463],"v":[{"k":[21463],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[32771],"v":[{"k":[39564],"v":[{"k":[65292],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[22266],"v":[{"k":[28982],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[36824],"v":[{"k":[26377],"v":[{"k":[26356],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[24605],"v":[{"k":[24819],"v":[{"k":[12289],"v":[{"k":[21644],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[12290],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[65292],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[24930],"v":[{"k":[24930],"v":[{"k":[30340],"v":[{"k":[32047],"v":[{"k":[31215],"v":[{"k":[65292],"v":[{"k":[25552],"v":[{"k":[28860],"v":[{"k":[25552],"v":[{"k":[21319],"v":[{"k":[24605],"v":[{"k":[24819],"v":[{"k":[22659],"v":[{"k":[30028],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35813],"v":[{"k":[23545],"v":[{"k":[26410],"v":[{"k":[26469],"v":[{"k":[26377],"v":[{"k":[30528],"v":[{"k":[26126],"v":[{"k":[30830],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[21521],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38047],"v":[{"k":[25235,25191],"v":[{"k":[21462],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]},{"k":[34892],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[65,2]]},"k":[30340],"v":[{"d":{"df":1,"dc":[[83,1]]}}]},{"k":[19968],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[26102],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[83,1]]}}]}]},{"k":[35821],"v":[{"k":[35328],"v":[{"k":[37117],"v":[{"k":[26377],"v":[{"k":[33258],"v":[{"k":[36523],"v":[{"k":[30340],"v":[{"k":[20248],"v":[{"k":[21183],"v":[{"k":[21644],"v":[{"k":[19981],"v":[{"k":[36275],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[36866],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[20219],"v":[{"k":[20309],"v":[{"k":[22330],"v":[{"k":[26223],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[105,1]]}}]},{"k":[29615],"v":[{"k":[27425,31639,33258,20026,23436,38169,20307],"v":[{"k":[25968],"v":[{"k":[26368,58],"v":[{"k":[22810],"v":[{"d":{"df":1,"dc":[[6,1]]}}]},{"d":{"df":1,"dc":[[6,1]]}}]}]},{"k":[27861],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]},{"k":[19979],"v":[{"k":[32780],"v":[{"k":[19978],"v":[{"k":[36941],"v":[{"k":[21382],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]},{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[25104],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[30340],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35823],"v":[{"k":[51],"v":[{"k":[27425],"v":[{"k":[65292],"v":[{"k":[21152],"v":[{"k":[19978],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[36824],"v":[{"k":[20877],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[30340],"v":[{"k":[49],"v":[{"k":[27425],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[36864],"v":[{"k":[20986],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"k":[98],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[6,1],[109,2]]},"k":[65289,12290,30340,26597],"v":[{"k":[65292],"v":[{"k":[21644],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[38382],"v":[{"k":[39064],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[35810],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[32423,21457,65292],"v":[{"k":[28145],"v":[{"k":[24230],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]},{"k":[20986,29983],"v":[{"d":{"df":1,"dc":[[23,1]]}},{"k":[30456],"v":[{"k":[24212],"v":[{"k":[30340],"v":[{"k":[21453],"v":[{"k":[24212],"v":[{"k":[32473],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20174],"v":[{"k":[32780],"v":[{"k":[35753],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]},{"k":[31639,21010],"v":[{"k":[28145,39029],"v":[{"k":[24230],"v":[{"d":{"df":1,"dc":[[6,1]]}}]},{"k":[25968],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[20219],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]},{"k":[38388],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[24230],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]},{"k":[29992],"v":[{"d":{"df":10,"dc":[[11,3],[20,1],[34,2],[44,1],[45,4],[51,1],[54,1],[59,1],[68,1],[69,1]]},"k":[96,65306,65288,20854,22330,20869,21069,25554,31034,35828,29992,25968,20197],"v":[{"k":[109,46],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[96],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"d":{"df":1,"dc":[[6,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[20,1],[46,2]]}},{"k":[108],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[12289],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20182],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]},{"k":[26223],"v":[{"d":{"df":1,"dc":[[47,1]]}}]},{"k":[32622],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]},{"k":[30830],"v":[{"k":[20445],"v":[{"k":[24744],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[26680],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[27492],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[65306],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[26126],"v":[{"k":[65292],"v":[{"k":[25972],"v":[{"k":[21512],"v":[{"k":[36827],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[20013],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]},{"k":[39548],"v":[{"k":[23792],"v":[{"k":[21629],"v":[{"k":[21517],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]},{"k":[25454],"v":[{"k":[27169],"v":[{"k":[22411],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[19979],"v":[{"k":[20219],"v":[{"k":[24847],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]}]}]}]},{"d":{"df":3,"dc":[[6,2],[10,12],[33,4]]}},{"k":[30446],"v":[{"d":{"df":3,"dc":[[7,2],[8,1],[9,1]]},"k":[22320],"v":[{"k":[22336],"v":[{"k":[58],"v":[{"d":{"df":4,"dc":[[7,1],[8,1],[9,1],[31,1]]}}]}]}]}]},{"k":[26696],"v":[{"k":[65306,58],"v":[{"d":{"df":6,"dc":[[7,1],[8,2],[9,1],[29,1],[30,1],[31,1]]}},{"d":{"df":1,"dc":[[7,1]]}}]}]},{"d":{"df":3,"dc":[[7,1],[48,2],[85,1]]},"k":[100,115,99,109,104],"v":[{"d":{"df":1,"dc":[[15,1]]}},{"d":{"df":2,"dc":[[24,1],[85,1]]},"k":[39,34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[24,1]]}}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]},{"k":[112],"v":[{"k":[117],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[101],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[58],"v":[{"k":[37],"v":[{"k":[109],"v":[{"k":[34],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[20986,19979],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[22855],"v":[{"k":[25968],"v":[{"k":[20301],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26377,20197,35762,22312,35859],"v":[{"k":[20803,38656,24320],"v":[{"k":[32032],"v":[{"k":[37117],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[20102],"v":[{"k":[20004],"v":[{"k":[27425],"v":[{"k":[44],"v":[{"k":[38500],"v":[{"k":[20102],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[44],"v":[{"k":[25214],"v":[{"k":[20986],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[23396],"v":[{"k":[31435],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[20570],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[30340],"v":[{"k":[22330],"v":[{"k":[26223],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[37117],"v":[{"k":[20808],"v":[{"k":[20570],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[23545],"v":[{"k":[27604],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[29615],"v":[{"k":[33410],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[23630],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[33021],"v":[{"k":[36861],"v":[{"k":[28335],"v":[{"k":[21040],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[29615],"v":[{"k":[33410],"v":[{"k":[12290],"v":[{"k":[20174],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[29615],"v":[{"k":[33410],"v":[{"k":[23601],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[22909],"v":[{"k":[22914],"v":[{"k":[20309],"v":[{"k":[35268],"v":[{"k":[36991],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[30340],"v":[{"k":[21457],"v":[{"k":[29983],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105,65292,21482,38656,21069,44,36825,42,36755,20808,20250,23601],"v":[{"k":[20204,23558],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[23601],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]},{"k":[33258],"v":[{"k":[21160],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[25913],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[20018],"v":[{"k":[34892],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22312,20320],"v":[{"d":{"df":1,"dc":[[45,1]]}},{"k":[24517],"v":[{"k":[39035],"v":[{"k":[35201],"v":[{"k":[20174],"v":[{"k":[22522],"v":[{"k":[23618],"v":[{"k":[20570],"v":[{"k":[36215],"v":[{"k":[12290],"v":[{"k":[24403],"v":[{"k":[28982],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[35859],"v":[{"k":[30340],"v":[{"k":[22522],"v":[{"k":[23618],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[31471],"v":[{"k":[33590],"v":[{"k":[20498],"v":[{"k":[27700],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[22810],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[20307],"v":[{"k":[39564],"v":[{"k":[65292],"v":[{"k":[24635],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[23475],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"k":[35201],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[26356],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[25163],"v":[{"k":[27573],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[37319],"v":[{"k":[38598],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31471],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"d":{"df":2,"dc":[[70,1],[91,1]]}},{"k":[26679],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[21629],"v":[{"k":[21517],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]},{"k":[42],"v":[{"k":[95],"v":[{"k":[24378],"v":[{"k":[20869],"v":[{"k":[32858],"v":[{"k":[21644],"v":[{"k":[24369],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[26159],"v":[{"k":[30456],"v":[{"k":[36741],"v":[{"k":[30456],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[33391],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[26159],"v":[{"k":[30001],"v":[{"k":[33509],"v":[{"k":[24178],"v":[{"k":[20010],"v":[{"k":[24378],"v":[{"k":[20869],"v":[{"k":[32858],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[20197],"v":[{"k":[24369],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[32452],"v":[{"k":[35013],"v":[{"k":[36215],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20986],"v":[{"k":[30340],"v":[{"k":[22270],"v":[{"k":[34920],"v":[{"k":[12289],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[37117],"v":[{"k":[35201],"v":[{"k":[35268],"v":[{"k":[33539],"v":[{"k":[12290],"v":[{"k":[36825],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[35201],"v":[{"k":[27714],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35774],"v":[{"k":[35745],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[34920],"v":[{"k":[12290],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[34920],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[33267],"v":[{"k":[23569],"v":[{"k":[20004],"v":[{"k":[24352],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[24352],"v":[{"k":[26159],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[23384],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[12289],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[31561],"v":[{"k":[25110],"v":[{"k":[26368],"v":[{"k":[24120],"v":[{"k":[29992],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65307],"v":[{"k":[21478],"v":[{"k":[19968],"v":[{"k":[24352],"v":[{"k":[26159],"v":[{"k":[35748],"v":[{"k":[35777],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[24403],"v":[{"k":[28982],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[20026],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[12289],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[24314],"v":[{"k":[20004],"v":[{"k":[24352],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[35748],"v":[{"k":[35777],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25215],"v":[{"k":[25285],"v":[{"k":[24456],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[21387],"v":[{"k":[21147],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19981],"v":[{"k":[33021],"v":[{"k":[23558],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[24046],"v":[{"k":[19981],"v":[{"k":[22810],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]},{"k":[30340],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[36807],"v":[{"k":[24230],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[25351],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[30001],"v":[{"k":[20110],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[30340],"v":[{"k":[25928],"v":[{"k":[26524],"v":[{"k":[30456],"v":[{"k":[21453],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[39,2]]},"k":[23376,39064,22914],"v":[{"k":[58,65306],"v":[{"d":{"df":2,"dc":[[7,1],[39,1]]}},{"d":{"df":1,"dc":[[64,1]]}}]},{"d":{"df":3,"dc":[[29,1],[30,1],[31,1]]}},{"k":[58,65306],"v":[{"d":{"df":1,"dc":[[36,2]]}},{"d":{"df":1,"dc":[[36,1]]}}]}]},{"k":[27714,20351,21019,37325,26597,35753,21892,23398],"v":[{"d":{"df":2,"dc":[[53,1],[101,1]]},"k":[65306],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[30340],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"k":[26159],"v":[{"k":[32447],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[24230],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[19988],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[29992],"v":[{"k":[39069],"v":[{"k":[22806],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[23384],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[14,1]]}}]},{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65292],"v":[{"k":[24744],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[24038],"v":[{"k":[19978],"v":[{"k":[35282],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36820],"v":[{"k":[26410],"v":[{"k":[26469],"v":[{"k":[65292],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]},{"k":[35810],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]},{"k":[20854],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[40],"v":[{"k":[26080],"v":[{"k":[35770],"v":[{"k":[26159],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20869],"v":[{"k":[30340],"v":[{"k":[39046],"v":[{"k":[23548],"v":[{"k":[44],"v":[{"k":[21516],"v":[{"k":[20107],"v":[{"k":[44],"v":[{"k":[19979],"v":[{"k":[23646],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20110],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[65292],"v":[{"k":[21892],"v":[{"k":[20110],"v":[{"k":[20998],"v":[{"k":[20139],"v":[{"k":[65292],"v":[{"k":[20419],"v":[{"k":[36827],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20849],"v":[{"k":[21516],"v":[{"k":[36827],"v":[{"k":[27493],"v":[{"k":[65292],"v":[{"k":[20445],"v":[{"k":[25345],"v":[{"k":[25191],"v":[{"k":[30528],"v":[{"k":[19982],"v":[{"k":[28608],"v":[{"k":[24773],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20250],"v":[{"k":[25442],"v":[{"k":[20301],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[12289],"v":[{"k":[36777],"v":[{"k":[35777],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[65292],"v":[{"k":[20445],"v":[{"k":[25345],"v":[{"k":[23458],"v":[{"k":[35266],"v":[{"k":[12289],"v":[{"k":[20919],"v":[{"k":[38745],"v":[{"k":[65292],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[28216],"v":[{"k":[20995],"v":[{"k":[26377],"v":[{"k":[20313],"v":[{"k":[12290],"v":[{"k":[20961],"v":[{"k":[20107],"v":[{"k":[30342],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[20999],"v":[{"k":[24524],"v":[{"k":[38075],"v":[{"k":[29275],"v":[{"k":[35282],"v":[{"k":[23574],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[26497],"v":[{"k":[31471],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39064,26377,22240,25968,21017,29702,22411,22987],"v":[{"k":[22320],"v":[{"k":[22336],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]},{"k":[20195,29992],"v":[{"k":[30721],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[25143],"v":[{"k":[36134],"v":[{"k":[21495],"v":[{"k":[20307],"v":[{"k":[31995],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21495],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"k":[12289],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"k":[22312],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[36825],"v":[{"k":[39033],"v":[{"k":[26032],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[24341],"v":[{"k":[23548],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[32465],"v":[{"k":[23450],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[65292],"v":[{"k":[20801],"v":[{"k":[35768],"v":[{"k":[21407],"v":[{"k":[26377],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[22686],"v":[{"k":[21152],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"k":[23562],"v":[{"k":[37325],"v":[{"k":[21407],"v":[{"k":[26377],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[30340],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[65292],"v":[{"k":[36880],"v":[{"k":[27493],"v":[{"k":[22521],"v":[{"k":[20859],"v":[{"k":[32465],"v":[{"k":[23450],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21495],"v":[{"k":[30340],"v":[{"k":[23433],"v":[{"k":[20840],"v":[{"k":[34892],"v":[{"k":[20026],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[24378],"v":[{"k":[21046],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[23558],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"k":[20063],"v":[{"k":[25913],"v":[{"k":[20026],"v":[{"k":[29992],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21495],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377,65306],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[20960],"v":[{"k":[28857],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[110,1]]}}]},{"k":[32452],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[20803],"v":[{"k":[32032],"v":[{"k":[32463],"v":[{"k":[36807],"v":[{"k":[35813],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[21518],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[20803],"v":[{"k":[32032],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19978],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[20808],"v":[{"k":[20889],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65292],"v":[{"k":[20877],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[32534],"v":[{"k":[30721],"v":[{"k":[65307],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[32039],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20808],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[21153],"v":[{"k":[24517],"v":[{"k":[21518],"v":[{"k":[32493],"v":[{"k":[32500],"v":[{"k":[25252],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[23558],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[34917],"v":[{"k":[20805],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35762],"v":[{"k":[35299],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]},{"d":{"df":1,"dc":[[72,1]]}},{"k":[35775],"v":[{"k":[23458],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]},{"k":[39064,37322,26500,20915,21387],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"d":{"df":2,"dc":[[7,1],[9,1]]}}]}]},{"k":[19968],"v":[{"k":[19979],"v":[{"k":[44],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[20851],"v":[{"k":[38190],"v":[{"k":[27493],"v":[{"k":[39588],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[36171],"v":[{"k":[20540],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[26041,21518,38382],"v":[{"k":[26696,27861],"v":[{"d":{"df":1,"dc":[[53,1]]}},{"k":[65292],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[20877],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]},{"k":[39064],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]},{"k":[21518],"v":[{"k":[96],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[44],"v":[{"k":[21452],"v":[{"k":[20987],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25110,27493,24120],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[30340],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[20844],"v":[{"k":[24335],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26041,20195],"v":[{"k":[27861],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]},{"k":[30721],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]},{"k":[25429,22788],"v":[{"k":[33719],"v":[{"d":{"df":1,"dc":[[63,16]]}}]},{"k":[29702],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]},{"d":{"df":3,"dc":[[7,16],[8,1],[94,1]]}},{"d":{"df":1,"dc":[[7,1]]}},{"k":[20844,22238,20110],"v":[{"k":[24335],"v":[{"d":{"df":1,"dc":[[7,3]]}}]},{"k":[35843],"v":[{"k":[20989],"v":[{"k":[25968],"v":[{"k":[30340],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[20540],"v":[{"k":[32452],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[26032],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19981,21453],"v":[{"k":[21516],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"k":[22343],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"k":[20195],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]},{"k":[27492,20026],"v":[{"k":[21482],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[25968],"v":[{"k":[23383],"v":[{"k":[24322],"v":[{"k":[25110],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[42,1],[77,1]]},"k":[36825,20551,22312,96],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[30028],"v":[{"k":[38754],"v":[{"k":[19978],"v":[{"k":[24182],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[21160],"v":[{"k":[24577],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35774],"v":[{"k":[25105],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]},{"k":[26576],"v":[{"k":[19968],"v":[{"k":[39046],"v":[{"k":[22495],"v":[{"k":[31934],"v":[{"k":[36890],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[20320],"v":[{"k":[25152],"v":[{"k":[20570],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[26159],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[36731],"v":[{"k":[26131],"v":[{"k":[25509],"v":[{"k":[25163],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[25152],"v":[{"k":[33021],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[33021],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[25152],"v":[{"k":[20570],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[21462],"v":[{"k":[20195],"v":[{"k":[19981],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[24615],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[21487],"v":[{"k":[24819],"v":[{"k":[32780],"v":[{"k":[30693],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35774],"v":[{"k":[35745],"v":[{"k":[24605],"v":[{"k":[24819],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":14,"dc":[[7,2],[9,5],[10,6],[12,3],[19,9],[23,2],[30,1],[39,11],[49,1],[64,1],[65,6],[76,2],[79,10],[83,5]]},"k":[47,42,46,41],"v":[{"d":{"df":13,"dc":[[7,1],[12,1],[15,3],[26,1],[39,5],[48,1],[52,2],[63,3],[69,1],[70,1],[79,2],[81,1],[85,1]]},"k":[49],"v":[{"d":{"df":2,"dc":[[65,2],[83,2]]}}]},{"k":[95,49,50,51,110,52,53,54,55,56,57,111,105,118,97,104,26799,27491,21462,106,27169,35843,35774,21333,38454,63],"v":[{"k":[27880,33150,23545,24182,116],"v":[{"k":[24847,65306,95],"v":[{"k":[95,65306],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]},{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":2,"dc":[[47,1],[52,1]]}}]}]}]}]},{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]},{"k":[42],"v":[{"k":[42],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[36824],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[96],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[96],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35759],"v":[{"k":[20113],"v":[{"k":[47],"v":[{"k":[113],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22806],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[20302],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[65292],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[23545],"v":[{"k":[20869],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[39640],"v":[{"k":[20869],"v":[{"k":[32858],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[65306],"v":[{"k":[106],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,2]]}}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,2]]}}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[58,49,50],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[46],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[104],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]},{"k":[115],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[58],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]},{"k":[124],"v":[{"k":[23376],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]},{"k":[21017],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]},{"k":[33394],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[58,2]]}}]}]},{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[58,2]]}}]}]}]},{"k":[25311],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"d":{"df":1,"dc":[[58,2]]}}]}]}]},{"k":[35797],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]},{"k":[35745],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[20301],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]},{"k":[27573],"v":[{"k":[24615],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"k":[27719],"v":[{"k":[24635],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"d":{"df":2,"dc":[[40,1],[50,1]]}}]}]}]},{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[112,114,110,99,103,116,109,105,115,117],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[7,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":3,"dc":[[7,1],[12,1],[39,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99,112,115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]},{"k":[108],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[101,102],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]},{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39,41],"v":[{"k":[47],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[39,50],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"k":[39],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[123],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]},"k":[126,47,96],"v":[{"k":[97,112,99],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[120],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[40],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[122,115],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[99],"v":[{"d":{"df":2,"dc":[[45,2],[61,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[88,3]]},"k":[47],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"k":[22312],"v":[{"k":[24377],"v":[{"k":[20986],"v":[{"k":[30340],"v":[{"k":[25511],"v":[{"k":[21046],"v":[{"k":[21488],"v":[{"k":[20013],"v":[{"k":[36755],"v":[{"k":[20837],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26524,35770,26500],"v":[{"k":[20026,26469,25253,26174,20250],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[65292],"v":[{"k":[20808],"v":[{"k":[21464],"v":[{"k":[25104],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"k":[65288],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[96],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[20877],"v":[{"k":[24378],"v":[{"k":[21046],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[36716],"v":[{"k":[25442],"v":[{"k":[20026],"v":[{"k":[25968],"v":[{"k":[23383],"v":[{"k":[65288],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[126],"v":[{"k":[126],"v":[{"k":[96],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33258],"v":[{"k":[20110],"v":[{"k":[30334],"v":[{"k":[19975],"v":[{"k":[26465],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[21315],"v":[{"k":[26465],"v":[{"k":[20026],"v":[{"k":[25286],"v":[{"k":[20998],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[25554],"v":[{"k":[20837],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[65288],"v":[{"k":[19979],"v":[{"k":[25991],"v":[{"k":[30340],"v":[{"k":[25554],"v":[{"k":[20837],"v":[{"k":[21516],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21578],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"d":{"df":1,"dc":[[47,1]]}}]}]}]},{"k":[31034],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]},{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[33,1]]}},{"d":{"df":1,"dc":[[81,1]]},"k":[20063,65306],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[28151],"v":[{"k":[20081],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[107,1]]}}]}]},{"k":[25968],"v":[{"k":[20010],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"k":[20301],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[26469],"v":[{"k":[27714],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[20540],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24615,33394,28857],"v":[{"k":[65292,30340,26469,12289],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]}]}]},{"k":[20960],"v":[{"k":[28857],"v":[{"k":[35828],"v":[{"k":[26126],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]},{"k":[21024],"v":[{"k":[38500],"v":[{"k":[26087],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[21333],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[32452],"v":[{"k":[20214],"v":[{"k":[65288],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[21270],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65306],"v":[{"d":{"df":2,"dc":[[52,2],[63,1]]}}]}]},{"k":[20851,21516,20114],"v":[{"k":[25945,36164,58,25991,65306,30340],"v":[{"k":[31243],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[8,1]]}}]}]},{"k":[28304],"v":[{"d":{"df":1,"dc":[[25,1]]}}]},{"d":{"df":1,"dc":[[26,1]]}},{"k":[20214],"v":[{"k":[47],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[22841],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[54,1]]}},{"k":[44],"v":[{"k":[37117],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[36305],"v":[{"k":[36890],"v":[{"k":[44],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[25105],"v":[{"k":[23601],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[25630],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29256,30340],"v":[{"k":[26412],"v":[{"k":[21495],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[21453],"v":[{"k":[22797],"v":[{"k":[21457],"v":[{"k":[24067],"v":[{"k":[12290],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[38477],"v":[{"k":[32423],"v":[{"k":[21457],"v":[{"k":[24067],"v":[{"k":[12290],"v":[{"k":[27599],"v":[{"k":[27425],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[24182],"v":[{"k":[32047],"v":[{"k":[21152],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36215],"v":[{"k":[34218],"v":[{"k":[65292],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[37],"v":[{"k":[30340],"v":[{"k":[24046],"v":[{"k":[36317],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29468],"v":[{"k":[24524],"v":[{"k":[20250],"v":[{"k":[24341],"v":[{"k":[36215],"v":[{"k":[21246],"v":[{"k":[24515],"v":[{"k":[26007],"v":[{"k":[35282],"v":[{"k":[12290],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[38388],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[22374],"v":[{"k":[35802],"v":[{"k":[30456],"v":[{"k":[24453],"v":[{"k":[65292],"v":[{"k":[22868],"v":[{"k":[30528],"v":[{"k":[20849],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[36827],"v":[{"k":[27493],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[9,1]]},"k":[53,50,41,44,46,49,48,51],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[109],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[53],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"d":{"df":1,"dc":[[27,1]]}},{"d":{"df":2,"dc":[[31,1],[48,6]]}},{"d":{"df":2,"dc":[[45,1],[90,1]]},"k":[22833,54],"v":[{"k":[36133],"v":[{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[46],"v":[{"k":[48],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"k":[41,37,48],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[73,1]]}},{"d":{"df":1,"dc":[[88,1]]}}]},{"k":[50],"v":[{"k":[52],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]},{"d":{"df":5,"dc":[[9,1],[48,1],[91,1],[94,1],[95,1]]},"k":[48,54,46,44,93,51,107],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[65292,37,59],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]},{"k":[31934],"v":[{"k":[21147],"v":[{"k":[25918],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[82,1],[88,1]]}}]},{"k":[52],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[44,48],"v":[{"d":{"df":1,"dc":[[10,3]]}},{"k":[48],"v":[{"k":[48],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[39],"v":[{"k":[121],"v":[{"k":[121],"v":[{"k":[121],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[48,22833,53],"v":[{"d":{"df":1,"dc":[[12,2]]},"k":[46],"v":[{"k":[48],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]},{"k":[36133],"v":[{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[107],"v":[{"d":{"df":1,"dc":[[97,1]]},"k":[65289],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[20381],"v":[{"k":[28982],"v":[{"k":[33853],"v":[{"k":[21518],"v":[{"k":[20110],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[21516],"v":[{"k":[23398],"v":[{"k":[26379],"v":[{"k":[21451],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[29976],"v":[{"k":[31163],"v":[{"k":[32844],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[31,1],[48,5]]},"k":[57],"v":[{"k":[56,57],"v":[{"k":[48],"v":[{"k":[44],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]},{"k":[48],"v":[{"k":[44],"v":[{"k":[55],"v":[{"k":[53],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[48,1]]}},{"k":[56],"v":[{"k":[56],"v":[{"k":[54],"v":[{"k":[48],"v":[{"k":[56],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[20004],"v":[{"k":[24180],"v":[{"k":[24037,21518],"v":[{"k":[20316],"v":[{"k":[19979],"v":[{"k":[26469],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]},{"k":[36798],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]},{"k":[25104,21069,28982,37096,25105,19979,20135,26102,20320],"v":[{"k":[25968],"v":[{"k":[23398],"v":[{"k":[39064],"v":[{"k":[26469],"v":[{"k":[20570],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]},{"k":[26085,20351],"v":[{"k":[26399],"v":[{"k":[65306],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[26085],"v":[{"k":[26399],"v":[{"k":[25110],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[22330],"v":[{"k":[26223],"v":[{"k":[65306],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[23432],"v":[{"k":[25252],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968,20320,44],"v":[{"k":[33324],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[19979],"v":[{"k":[26159],"v":[{"k":[29992],"v":[{"k":[19981],"v":[{"k":[30528],"v":[{"k":[36825],"v":[{"k":[20040],"v":[{"k":[20570],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[33021],"v":[{"k":[35273],"v":[{"k":[24471],"v":[{"k":[36825],"v":[{"k":[20040],"v":[{"k":[20889],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[24456],"v":[{"k":[20302],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24456],"v":[{"k":[22810],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[26426],"v":[{"k":[20250],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[19982],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[22810],"v":[{"k":[20154],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[30340],"v":[{"k":[38754],"v":[{"k":[23545],"v":[{"k":[38754],"v":[{"k":[21435],"v":[{"k":[27807],"v":[{"k":[36890],"v":[{"k":[20132],"v":[{"k":[27969],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32626],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[27983],"v":[{"k":[35272],"v":[{"k":[22120],"v":[{"k":[20013],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"k":[91],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20889,20197],"v":[{"k":[19968],"v":[{"k":[20010,27573],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[26102],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[22312],"v":[{"k":[24819],"v":[{"k":[20123],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27979],"v":[{"k":[35797],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[22312],"v":[{"k":[24819],"v":[{"k":[20123],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27979],"v":[{"k":[35797],"v":[{"k":[39537],"v":[{"k":[21160],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[22312],"v":[{"k":[24819],"v":[{"k":[20123],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36825],"v":[{"k":[20010],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[65292],"v":[{"k":[20154],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[32463],"v":[{"k":[29702],"v":[{"k":[65292],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[37326],"v":[{"k":[36335],"v":[{"k":[23376],"v":[{"k":[22914],"v":[{"k":[38632],"v":[{"k":[21518],"v":[{"k":[26149],"v":[{"k":[31499],"v":[{"k":[65292],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[32463],"v":[{"k":[29702],"v":[{"k":[20964],"v":[{"k":[27611],"v":[{"k":[40607],"v":[{"k":[35282],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21697],"v":[{"k":[32463],"v":[{"k":[29702],"v":[{"k":[25293],"v":[{"k":[25293],"v":[{"k":[33041],"v":[{"k":[34955],"v":[{"k":[25552],"v":[{"k":[20986],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24819],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[35813],"v":[{"k":[20570],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[26159],"v":[{"k":[65292],"v":[{"k":[35753],"v":[{"k":[20182],"v":[{"k":[20808],"v":[{"k":[21435],"v":[{"k":[20570],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[35814],"v":[{"k":[32454],"v":[{"k":[30340],"v":[{"k":[24066],"v":[{"k":[22330],"v":[{"k":[35843],"v":[{"k":[30740],"v":[{"k":[65292],"v":[{"k":[32473],"v":[{"k":[20986],"v":[{"k":[25253],"v":[{"k":[21578],"v":[{"k":[21644],"v":[{"k":[21487],"v":[{"k":[34892],"v":[{"k":[24615],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105],"v":[{"k":[25552],"v":[{"k":[20986],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38024],"v":[{"k":[23545],"v":[{"k":[32769],"v":[{"k":[40836],"v":[{"k":[21270],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[24819],"v":[{"k":[65292],"v":[{"k":[20027],"v":[{"k":[39064],"v":[{"k":[26159],"v":[{"k":[20667],"v":[{"k":[29916],"v":[{"k":[21270],"v":[{"k":[12289],"v":[{"k":[30495],"v":[{"k":[26234],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[35753],"v":[{"k":[20013],"v":[{"k":[32769],"v":[{"k":[24180],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[33021],"v":[{"k":[36731],"v":[{"k":[26494],"v":[{"k":[19978],"v":[{"k":[25163],"v":[{"k":[30340],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[12290],"v":[{"k":[30452],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23545],"v":[{"k":[20110],"v":[{"k":[20107],"v":[{"k":[19994],"v":[{"k":[26377],"v":[{"k":[20102],"v":[{"k":[26356],"v":[{"k":[39640],"v":[{"k":[30340],"v":[{"k":[35748],"v":[{"k":[30693],"v":[{"k":[65292],"v":[{"k":[37329],"v":[{"k":[38065],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[38468],"v":[{"k":[23646],"v":[{"k":[21697],"v":[{"k":[65292],"v":[{"k":[23427],"v":[{"k":[24517],"v":[{"k":[28982],"v":[{"k":[23646],"v":[{"k":[20110],"v":[{"k":[20320],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49,50,51,110,19968,20108,19977,22235,20116],"v":[{"k":[34892],"v":[{"k":[65292],"v":[{"k":[49],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[27714],"v":[{"k":[21644],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[65292],"v":[{"k":[50],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[65292],"v":[{"k":[51],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[65292],"v":[{"k":[110],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]}]}]},{"k":[27493],"v":[{"k":[20998,65306],"v":[{"k":[26512],"v":[{"k":[65292],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[21644],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[65288],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[20808],"v":[{"k":[19981],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[65289],"v":[{"k":[20004],"v":[{"k":[31181],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23450],"v":[{"k":[20301],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]},{"k":[27493,20010],"v":[{"k":[65306],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]},{"k":[24490],"v":[{"k":[29615],"v":[{"k":[26465],"v":[{"k":[20214],"v":[{"k":[20013],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]},{"k":[27493],"v":[{"k":[65306],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[34920],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[27493],"v":[{"k":[65306],"v":[{"k":[25645],"v":[{"k":[24314],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]},{"k":[27493],"v":[{"k":[65306],"v":[{"k":[36845],"v":[{"k":[20195],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]},{"k":[21644],"v":[{"k":[20844],"v":[{"k":[24335],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]}]}]},{"k":[39033],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[9,1]]}}]}]},{"k":[25968,30446],"v":[{"d":{"df":1,"dc":[[9,1]]}},{"k":[28304,31034,21021,27169,26681,20869,35785,37324,20301,30446,20013,30340,37197,65292],"v":[{"k":[30721],"v":[{"k":[65306,58],"v":[{"d":{"df":2,"dc":[[10,1],[63,1]]}},{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]},{"k":[22987],"v":[{"k":[21270],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]},{"k":[26495],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[30446],"v":[{"k":[24405],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]},{"k":[23433],"v":[{"k":[35013],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]},{"k":[27714],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[20889],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]},{"k":[20110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]},{"k":[24405],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]},{"k":[30340],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]},{"k":[26550],"v":[{"k":[26500],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]},{"k":[32622],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]},{"k":[20351],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[96],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65306,96,21487,20415,20998],"v":[{"d":{"df":1,"dc":[[9,1]]}},{"k":[26368],"v":[{"k":[31616],"v":[{"k":[21270],"v":[{"k":[21487],"v":[{"k":[23454],"v":[{"k":[34892],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[96],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29983,21491,46],"v":[{"k":[25104],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]},{"k":[38190],"v":[{"k":[20174],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"d":{"df":1,"dc":[[61,1]]}}]},{"k":[25105,24403,24847,22312,26159],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[30340],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]},{"k":[20320],"v":[{"k":[25104],"v":[{"k":[20026],"v":[{"k":[39046],"v":[{"k":[23548],"v":[{"k":[65292],"v":[{"k":[29978],"v":[{"k":[33267],"v":[{"k":[25104],"v":[{"k":[20026],"v":[{"k":[32769],"v":[{"k":[26495],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[35748],"v":[{"k":[28165],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[25165],"v":[{"k":[26159],"v":[{"k":[22909],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[21487],"v":[{"k":[25345],"v":[{"k":[32493],"v":[{"k":[30340],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24535],"v":[{"k":[21147],"v":[{"k":[20877],"v":[{"k":[22362],"v":[{"k":[24378],"v":[{"k":[65292],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[20986],"v":[{"k":[28132],"v":[{"k":[27877],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26579],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[20250],"v":[{"k":[34987],"v":[{"k":[25199],"v":[{"k":[21518],"v":[{"k":[33151],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[20010],"v":[{"k":[39046],"v":[{"k":[22495],"v":[{"k":[20869],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[31934],"v":[{"k":[36890],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[27454],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[32534],"v":[{"k":[36753],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[38598],"v":[{"k":[25104],"v":[{"k":[21508],"v":[{"k":[31181],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"k":[65292],"v":[{"k":[19982],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32780],"v":[{"k":[27835],"v":[{"k":[20043],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]},{"d":{"df":7,"dc":[[10,2],[26,2],[42,1],[43,2],[57,1],[65,4],[92,2]]},"k":[104],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]},{"k":[22871],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[22826,26597],"v":[{"k":[22810],"v":[{"k":[44],"v":[{"k":[21487],"v":[{"k":[35835],"v":[{"k":[24615],"v":[{"k":[24046],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]},{"k":[35810],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[27425,20010,26381,31867],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"k":[96,24322],"v":[{"k":[97],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[21518],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[24322],"v":[{"k":[27493],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[19981],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[32487],"v":[{"k":[21457],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[35753],"v":[{"k":[23427],"v":[{"k":[20204],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27493],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]},{"k":[21153],"v":[{"k":[22120],"v":[{"k":[22810],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[20998],"v":[{"k":[37197],"v":[{"k":[35843],"v":[{"k":[24230],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]},{"k":[22411],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]},{"k":[35760,20214],"v":[{"k":[24405],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[30340],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[32422],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[65292],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[96],"v":[{"k":[32852],"v":[{"k":[21512],"v":[{"k":[32034],"v":[{"k":[24341],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]},"k":[30340,32467,21333,31034,26126,65289,20013,36798],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[21482],"v":[{"k":[22312],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[20013],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[65292],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[20570],"v":[{"k":[20004],"v":[{"k":[27425],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[65292],"v":[{"k":[20849],"v":[{"k":[35745],"v":[{"k":[19977],"v":[{"k":[27425],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[65292],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[21518],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[24635],"v":[{"k":[32791],"v":[{"k":[26102],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26500],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[20248],"v":[{"k":[21270],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]},{"k":[26657,39033],"v":[{"k":[39564],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]},{"d":{"df":1,"dc":[[89,1]]}}]},{"k":[32531,20250],"v":[{"k":[23384],"v":[{"k":[96],"v":[{"k":[53],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[21333],"v":[{"k":[20301],"v":[{"k":[20026],"v":[{"k":[31186],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[35805],"v":[{"k":[20445],"v":[{"k":[25345],"v":[{"k":[96],"v":[{"k":[53],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[22810],"v":[{"k":[23581],"v":[{"k":[35797],"v":[{"k":[96],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[27425],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[21333],"v":[{"k":[20301],"v":[{"k":[20026],"v":[{"k":[31186],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[30340],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[65292],"v":[{"d":{"df":1,"dc":[[79,1]]}}]},{"k":[26356],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[24819],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[25806,20837,29992],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[12290,26597],"v":[{"d":{"df":1,"dc":[[10,1]]}},{"k":[35810],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]},{"d":{"df":4,"dc":[[26,1],[43,1],[63,1],[64,1]]},"k":[24182],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[20813],"v":[{"k":[20351,20854,26080,26041],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[49,1]]},"k":[33258,96],"v":[{"k":[22686],"v":[{"d":{"df":1,"dc":[[10,1]]}}]},{"k":[100,116,22806,110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[40],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[96],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38190],"v":[{"k":[96],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]},{"k":[112],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]},{"k":[20182],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[40],"v":[{"k":[27704],"v":[{"k":[36828],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[34987],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[41],"v":[{"k":[34987],"v":[{"k":[25171],"v":[{"k":[21253],"v":[{"k":[36827],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24847],"v":[{"k":[20041],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]},{"k":[27861],"v":[{"k":[20869],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[19975,24230],"v":[{"k":[37327],"v":[{"k":[32423],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]},{"k":[32593],"v":[{"k":[30424],"v":[{"k":[19979],"v":[{"k":[36733],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]},{"k":[20837,20214],"v":[{"k":[24615,21644,35895,25968,20320],"v":[{"k":[33021],"v":[{"k":[25439],"v":[{"k":[32791],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]},{"k":[26597],"v":[{"k":[35810],"v":[{"k":[22343],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]},{"k":[27468],"v":[{"k":[32479],"v":[{"k":[35745],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]},{"k":[25454],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[30340],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[96],"v":[{"k":[20844],"v":[{"k":[38053],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[21,1],[57,2]]},"k":[65289,20351,58,21015,22833,65292,23450,26377,25253,33719,26469],"v":[{"d":{"df":1,"dc":[[31,1]]}},{"k":[29992],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"d":{"df":1,"dc":[[49,1]]}},{"k":[34920],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[25928],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[36716],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[24403],"v":[{"k":[28982],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[33258],"v":[{"k":[21992],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[20851],"v":[{"k":[30171],"v":[{"k":[30162],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20041],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[20914],"v":[{"k":[31361],"v":[{"d":{"df":1,"dc":[[63,2]]}}]}]},{"k":[38169],"v":[{"k":[23849],"v":[{"k":[28291],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[21462],"v":[{"k":[22312],"v":[{"k":[32447],"v":[{"k":[34892],"v":[{"k":[20026],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]},{"k":[25903,26367],"v":[{"k":[25345],"v":[{"k":[20102,28304],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]},{"k":[30721],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[23450],"v":[{"k":[20301],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20195],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]},{"k":[26080],"v":[{"k":[30097],"v":[{"k":[38382],"v":[{"k":[65292],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[33258],"v":[{"k":[22686],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]},{"k":[20351,32463,23545,36825,26159,30001,38656,20998,26377,32654,29616,22312,24448,23436,19968,20063],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[10,1]]}}]},{"k":[36807],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]},{"k":[20110],"v":[{"k":[21482],"v":[{"k":[22312],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[26102],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[26469],"v":[{"k":[35828],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37324,20010,26679,21364],"v":[{"k":[23601],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[20989],"v":[{"k":[25968],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26377],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[30340],"v":[{"k":[35821],"v":[{"k":[21477],"v":[{"k":[23601],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20889],"v":[{"k":[20004],"v":[{"k":[27425],"v":[{"k":[65292],"v":[{"k":[27491],"v":[{"k":[24120],"v":[{"k":[20294],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[65292],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[65292],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21464],"v":[{"k":[37327],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[30340,26159],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[21462],"v":[{"k":[12290],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[20381],"v":[{"k":[28982],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[22823],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[21435],"v":[{"k":[25903],"v":[{"k":[25745],"v":[{"k":[12290],"v":[{"k":[19968],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[26041],"v":[{"k":[20415],"v":[{"k":[21644],"v":[{"k":[23433],"v":[{"k":[20840],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[12290],"v":[{"k":[21478],"v":[{"k":[19968],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[22823],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21453],"v":[{"k":[39304],"v":[{"k":[35273],"v":[{"k":[24471],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[40635],"v":[{"k":[28902],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[20339],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[65292],"v":[{"k":[20445],"v":[{"k":[30041],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23436],"v":[{"k":[20840],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[36947],"v":[{"k":[29702],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[23545],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[25104],"v":[{"k":[21592],"v":[{"k":[26497],"v":[{"k":[20854],"v":[{"k":[19981],"v":[{"k":[36127],"v":[{"k":[36131],"v":[{"k":[20219],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[26377],"v":[{"k":[20123],"v":[{"k":[32593],"v":[{"k":[31449],"v":[{"k":[26377],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[25277],"v":[{"k":[39118],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20110],"v":[{"k":[35813],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[20013],"v":[{"k":[19981],"v":[{"k":[26126],"v":[{"k":[30830],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[34892],"v":[{"k":[20026],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[20934],"v":[{"k":[30830],"v":[{"k":[34920],"v":[{"k":[36798],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[36739],"v":[{"k":[20026],"v":[{"k":[22256],"v":[{"k":[38590],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[20180],"v":[{"k":[32454],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[26465],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[21035],"v":[{"k":[25918],"v":[{"k":[36827],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]},{"k":[20010,19968],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]},{"k":[21477],"v":[{"k":[35805],"v":[{"k":[35828],"v":[{"k":[24471],"v":[{"k":[22909],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[24535],"v":[{"k":[19981],"v":[{"k":[22312],"v":[{"k":[24180],"v":[{"k":[39640],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[24535],"v":[{"k":[31354],"v":[{"k":[27963],"v":[{"k":[30334],"v":[{"k":[23681],"v":[{"k":[65307],"v":[{"k":[20294],"v":[{"k":[20063],"v":[{"k":[24635],"v":[{"k":[33021],"v":[{"k":[31354],"v":[{"k":[38477],"v":[{"k":[12289],"v":[{"k":[22806],"v":[{"k":[32856],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[22855],"v":[{"k":[24618],"v":[{"k":[30340],"v":[{"k":[39640],"v":[{"k":[23618],"v":[{"k":[19979],"v":[{"k":[26469],"v":[{"k":[12290],"v":[{"k":[30475],"v":[{"k":[20284],"v":[{"k":[24456],"v":[{"k":[30683],"v":[{"k":[30462],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[24515],"v":[{"k":[37324],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26126],"v":[{"k":[30333],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[30340],"v":[{"k":[21046],"v":[{"k":[24230],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[36861],"v":[{"k":[27714],"v":[{"k":[23436],"v":[{"k":[32654],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20013],"v":[{"k":[19981],"v":[{"k":[36275],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[23454],"v":[{"k":[26159],"v":[{"k":[27531],"v":[{"k":[37239],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[23454],"v":[{"k":[38469],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20013],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[24448],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[25353],"v":[{"k":[26102],"v":[{"k":[20132],"v":[{"k":[20184],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[26576],"v":[{"k":[20010],"v":[{"k":[25104],"v":[{"k":[21592],"v":[{"k":[30340],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[20302],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25104],"v":[{"k":[20102],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[21097],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[37324],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[30452],"v":[{"k":[37117],"v":[{"k":[22312],"v":[{"k":[25345],"v":[{"k":[32493],"v":[{"k":[19981],"v":[{"k":[26029],"v":[{"k":[30340],"v":[{"k":[36755],"v":[{"k":[20986],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[33021],"v":[{"k":[24182],"v":[{"k":[27809],"v":[{"k":[26597],"v":[{"k":[21040],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[38388,24207,65292],"v":[{"k":[25139,30456,31649],"v":[{"d":{"df":1,"dc":[[58,1]]},"k":[65288,30340],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[36873,26377],"v":[{"k":[21462],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]},{"k":[25928],"v":[{"k":[24615],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]},{"k":[20851],"v":[{"d":{"df":1,"dc":[[38,1]]}}]},{"k":[29702],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"k":[22270],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]},{"k":[22914,23601],"v":[{"k":[26524],"v":[{"k":[25353],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[19981],"v":[{"k":[20250],"v":[{"k":[20877],"v":[{"k":[21435],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[21518],"v":[{"k":[21488],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26399,24120],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[65288],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24320],"v":[{"k":[21457],"v":[{"k":[20013],"v":[{"k":[44],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[32463],"v":[{"k":[24120],"v":[{"k":[20250],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[45,3],[55,2]]},"k":[96,42,95,92],"v":[{"k":[119,116,100],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[95],"v":[{"k":[116,100],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[92],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[92],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[92],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[92],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[120],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]},{"k":[100,116,112,115],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[92],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[92],"v":[{"k":[54],"v":[{"k":[57],"v":[{"k":[98],"v":[{"k":[54],"v":[{"k":[100],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[54],"v":[{"k":[49],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[45],"v":[{"k":[57],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[55],"v":[{"k":[57],"v":[{"k":[55],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[100],"v":[{"k":[51],"v":[{"k":[102],"v":[{"k":[97],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":5,"dc":[[15,1],[19,1],[36,7],[44,10],[45,9]]},"k":[123,40,50,112,117,105,99,101,110,114,104],"v":[{"k":[112,97,115,99,109,116,105,100,101,114,117,111],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[115,116],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[40],"v":[{"d":{"df":1,"dc":[[10,1]]},"k":[110],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117,119,112],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]},{"k":[112],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,116],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]},{"k":[116],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[18,1]]}}]}]}]}]}]}]}]},{"k":[115,101],"v":[{"k":[125],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[18,1]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104,105],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[111],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[112,116],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[91],"v":[{"k":[42],"v":[{"k":[93],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[125,46],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[53,2]]}}]}]}]},{"k":[112],"v":[{"k":[109],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[100,97],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[115],"v":[{"k":[121],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[46,125],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[100],"v":[{"k":[125],"v":[{"k":[96],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[125],"v":[{"d":{"df":1,"dc":[[79,2]]}}]}]}]}]}]}]},{"k":[39,100,98],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[91],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[93],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[105],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[119],"v":[{"d":{"df":1,"dc":[[54,3]]}}]}]}]}]},{"k":[45],"v":[{"k":[36],"v":[{"k":[51],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]}]}]},{"k":[111,114],"v":[{"k":[114],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[40,3]]}}]}]},{"k":[111],"v":[{"k":[120],"v":[{"k":[121],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[120],"v":[{"k":[95],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[64,58],"v":[{"k":[36],"v":[{"k":[112,105],"v":[{"d":{"df":1,"dc":[[40,1]]}},{"k":[112],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[40,2]]},"k":[58],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]},{"k":[117,111],"v":[{"k":[114],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[118],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[45,2]]}}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[114],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"d":{"df":6,"dc":[[11,1],[18,1],[26,1],[65,1],[76,4],[108,2]]},"k":[125,59,46],"v":[{"k":[96,39],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[10,1]]}}]},{"d":{"df":1,"dc":[[10,1]]}}]},{"d":{"df":10,"dc":[[11,1],[12,3],[15,5],[17,1],[20,2],[27,2],[57,1],[64,1],[79,3],[81,3]]}},{"k":[116,114],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[113],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[39],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21495],"v":[{"k":[65292],"v":[{"k":[37038],"v":[{"k":[31665],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[39],"v":[{"k":[41],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20648,22312],"v":[{"k":[31354,35774,22312],"v":[{"k":[38388],"v":[{"k":[65306],"v":[{"k":[50,51],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[53],"v":[{"k":[109],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]},{"k":[52],"v":[{"k":[46],"v":[{"k":[54],"v":[{"k":[109],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]},{"k":[35745],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"d":{"df":1,"dc":[[79,1]]}}]},{"k":[30452],"v":[{"k":[25509],"v":[{"k":[26597],"v":[{"k":[30475],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]},{"k":[24341],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[65306],"v":[{"k":[49,53],"v":[{"k":[57],"v":[{"k":[46],"v":[{"k":[53],"v":[{"k":[109],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]},{"k":[49],"v":[{"k":[46],"v":[{"k":[54],"v":[{"k":[109],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[10,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[37324],"v":[{"k":[20113],"v":[{"d":{"df":2,"dc":[[10,2],[34,2]]},"k":[58,25345],"v":[{"d":{"df":1,"dc":[[88,1]]}},{"k":[32493],"v":[{"k":[20132],"v":[{"k":[20184],"v":[{"k":[24179],"v":[{"k":[21488],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]},{"k":[22806],"v":[{"k":[44,65292,36824,24314],"v":[{"d":{"df":1,"dc":[[11,1]]}},{"d":{"df":1,"dc":[[41,1]]},"k":[36824,19981,22312,21069,20999,26377],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[26377],"v":[{"k":[24847],"v":[{"k":[24605],"v":[{"k":[30340],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[23558],"v":[{"k":[24212],"v":[{"k":[29992],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[30340],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[26292],"v":[{"k":[38706],"v":[{"k":[21040],"v":[{"k":[22806],"v":[{"k":[32593],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19979],"v":[{"k":[26041],"v":[{"k":[30340],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[22788],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[20004],"v":[{"k":[32452],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[20445],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26399],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[35748],"v":[{"k":[35777],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[23384],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[21382],"v":[{"k":[21490],"v":[{"k":[30340],"v":[{"k":[35748],"v":[{"k":[35777],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[12290],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[39044],"v":[{"k":[31639],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[21069],"v":[{"k":[26399],"v":[{"k":[19981],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[65292],"v":[{"k":[21518],"v":[{"k":[26399],"v":[{"k":[20063],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[21152],"v":[{"k":[19978],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24524],"v":[{"k":[25286],"v":[{"k":[19996],"v":[{"k":[22681],"v":[{"k":[34917],"v":[{"k":[35199],"v":[{"k":[22681],"v":[{"k":[12290],"v":[{"k":[35201],"v":[{"k":[20040],"v":[{"k":[26681],"v":[{"k":[27835],"v":[{"k":[65292],"v":[{"k":[35201],"v":[{"k":[20040],"v":[{"k":[19981],"v":[{"k":[27835],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[31181],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[26159],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[21322],"v":[{"k":[23567],"v":[{"k":[26102],"v":[{"k":[30340],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[65292],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[20063],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[35753],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[19968],"v":[{"k":[30452],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[31561],"v":[{"k":[24453],"v":[{"k":[21322],"v":[{"k":[20010],"v":[{"k":[23567],"v":[{"k":[26102],"v":[{"k":[20877],"v":[{"k":[27979],"v":[{"k":[12290],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[26816],"v":[{"k":[26597],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]},{"k":[20004],"v":[{"k":[24352],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]},{"k":[20041,24471,26102,20010,26399],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[32467,36716],"v":[{"k":[26500],"v":[{"k":[40],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[25442],"v":[{"k":[30340],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[20989],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27604],"v":[{"k":[36739],"v":[{"k":[32039],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65292],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[39640],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22120],"v":[{"d":{"df":1,"dc":[[32,1]]}}]},{"k":[23567],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[65292],"v":[{"k":[20808],"v":[{"k":[25379],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20159],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[22242],"v":[{"k":[38431],"v":[{"k":[24314],"v":[{"k":[35774],"v":[{"k":[65292],"v":[{"k":[22521],"v":[{"k":[35757],"v":[{"k":[20998],"v":[{"k":[20139],"v":[{"k":[31561],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[117,115,99,120],"v":[{"k":[101,105],"v":[{"k":[114,117],"v":[{"k":[121],"v":[{"d":{"df":3,"dc":[[11,2],[12,1],[81,3]]},"k":[58,46,44,40],"v":[{"d":{"df":2,"dc":[[11,2],[81,1]]}},{"k":[101],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[40],"v":[{"k":[41],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}},{"d":{"df":1,"dc":[[79,1]]},"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[41],"v":[{"k":[46,59],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[40],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[12,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116,99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[30,1]]}}]},{"k":[107],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"d":{"df":1,"dc":[[53,1]]}},{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[110],"v":[{"k":[122],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[48],"v":[{"k":[120],"v":[{"k":[105],"v":[{"k":[113],"v":[{"k":[112],"v":[{"k":[119],"v":[{"k":[112],"v":[{"k":[122],"v":[{"k":[103],"v":[{"k":[121],"v":[{"k":[117],"v":[{"k":[120],"v":[{"k":[118],"v":[{"k":[109],"v":[{"k":[57],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[122],"v":[{"k":[114],"v":[{"k":[98],"v":[{"k":[102],"v":[{"k":[98],"v":[{"k":[122],"v":[{"k":[109],"v":[{"k":[56],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[51],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[121],"v":[{"k":[103],"v":[{"k":[113],"v":[{"k":[122],"v":[{"k":[98],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[113],"v":[{"k":[107],"v":[{"k":[53],"v":[{"k":[116],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23637],"v":[{"k":[38405],"v":[{"k":[35835],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]},{"k":[21487,33021,27809,26159],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[21518],"v":[{"k":[38754],"v":[{"k":[36827],"v":[{"k":[38454],"v":[{"k":[30340],"v":[{"k":[31456],"v":[{"k":[33410],"v":[{"k":[20013],"v":[{"k":[20102],"v":[{"k":[35299],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27491],"v":[{"k":[24120],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[24819],"v":[{"k":[24590],"v":[{"k":[20040],"v":[{"k":[26679],"v":[{"k":[33258],"v":[{"k":[25105],"v":[{"k":[25552],"v":[{"k":[21319],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[27809],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[29992],"v":[{"k":[22788],"v":[{"k":[30340],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[11,1],[63,1]]},"k":[19978,19979],"v":[{"k":[31227],"v":[{"k":[21160],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[31227],"v":[{"k":[21160],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[31227],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[35],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[115],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[113],"v":[{"k":[108],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36895,25463,20102],"v":[{"k":[25645,31034,35299,23436],"v":[{"k":[24314],"v":[{"k":[21407],"v":[{"k":[22411],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[40],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]},{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]},{"k":[25104],"v":[{"k":[38024],"v":[{"k":[23545],"v":[{"k":[27492],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[30340],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[32534],"v":[{"k":[20889],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21629],"v":[{"k":[20196],"v":[{"k":[40],"v":[{"k":[111],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[24456],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[23588],"v":[{"k":[20854],"v":[{"k":[26159],"v":[{"k":[21387],"v":[{"k":[32553],"v":[{"k":[36807],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[20102,20107],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[26465],"v":[{"k":[29702],"v":[{"k":[12289],"v":[{"k":[26377],"v":[{"k":[35268],"v":[{"k":[21010],"v":[{"k":[65288],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25509,32493],"v":[{"d":{"df":2,"dc":[[11,2],[23,2]]},"k":[31471,29992,30340,32447],"v":[{"k":[21475],"v":[{"k":[21495],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[25143],"v":[{"k":[21517],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"d":{"df":1,"dc":[[40,1]]}},{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[20986],"v":[{"k":[38169],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]},{"k":[46,97,40,100,109,32806,20869],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[121],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25910],"v":[{"k":[36153],"v":[{"k":[41],"v":[{"k":[95],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[117,100],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[40],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21512],"v":[{"k":[25351],"v":[{"k":[30340],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[20043],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[95],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[24369],"v":[{"k":[30340],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[26159],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20027],"v":[{"k":[25511],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[26469],"v":[{"k":[21327],"v":[{"k":[35843],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32858],"v":[{"k":[25351],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[20869],"v":[{"k":[37096],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[95],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[24378],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[32858],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[21333],"v":[{"k":[19968],"v":[{"k":[21040],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[25286],"v":[{"k":[20998],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[21407],"v":[{"k":[23376],"v":[{"k":[21270],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[35,3]]},"k":[20351,25991,65292,38388,65289,30340,21487,20114,21152,25214,25171,35774,24341,21019,36827,24037,21629,19981],"v":[{"k":[29992],"v":[{"d":{"df":2,"dc":[[11,1],[63,1]]},"k":[31034],"v":[{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[25991,32763],"v":[{"k":[26723],"v":[{"k":[65306,58],"v":[{"d":{"df":2,"dc":[[20,2],[23,1]]}},{"d":{"df":1,"dc":[[81,1]]}}]}]},{"k":[35793],"v":[{"k":[65306,19968],"v":[{"d":{"df":1,"dc":[[24,1]]}},{"k":[19979],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]},{"k":[22312,25105],"v":[{"d":{"df":1,"dc":[[20,1]]}},{"k":[20204],"v":[{"k":[19968],"v":[{"k":[33324],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]},{"k":[20214],"v":[{"d":{"df":1,"dc":[[21,1]]}}]},{"k":[65306],"v":[{"d":{"df":1,"dc":[[21,1]]}}]},{"d":{"df":3,"dc":[[23,1],[59,1],[80,1]]},"k":[20256,20107,32456],"v":[{"k":[32479],"v":[{"k":[20570],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]},{"k":[20214],"v":[{"k":[20013],"v":[{"k":[24515],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]},{"k":[32467],"v":[{"k":[28857],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]},{"k":[20197],"v":[{"k":[31616],"v":[{"k":[21270],"v":[{"k":[20026],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]}]}]}]},{"k":[25442],"v":[{"k":[20540],"v":[{"d":{"df":1,"dc":[[27,1]]}}]}]},{"k":[20837],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[21040],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[21551],"v":[{"k":[29992],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[26500],"v":[{"k":[24314],"v":[{"k":[30340],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[22312],"v":[{"k":[21491],"v":[{"k":[20391],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[25353],"v":[{"k":[38062],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24320],"v":[{"k":[24212,24403,31616],"v":[{"k":[29992],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[44],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[21069],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[30452],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[22121],"v":[{"k":[26790],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[26684],"v":[{"k":[24335],"v":[{"k":[21270],"v":[{"k":[24341],"v":[{"k":[36215],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[19981],"v":[{"k":[35814],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[20837],"v":[{"k":[20102],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[24314],"v":[{"d":{"df":1,"dc":[[78,1]]},"k":[24182],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[30340],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]}]},{"k":[20316],"v":[{"k":[27969],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[28857],"v":[{"k":[27969],"v":[{"k":[20986],"v":[{"k":[33267],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[23376],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[20250],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[86,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21517],"v":[{"k":[27861],"v":[{"k":[21017],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[39548],"v":[{"k":[23792],"v":[{"k":[27861],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[96],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[12290],"v":[{"k":[32780],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21306],"v":[{"k":[20998],"v":[{"k":[22823],"v":[{"k":[23567],"v":[{"k":[20889],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"k":[19979],"v":[{"k":[21010],"v":[{"k":[32447],"v":[{"k":[21629],"v":[{"k":[21517],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[96],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[26102],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20889,36753,35793,31243,30721],"v":[{"k":[35299,21644,23545],"v":[{"k":[20915],"v":[{"k":[22120],"v":[{"k":[40],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27979],"v":[{"k":[35797],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"d":{"df":1,"dc":[[14,2]]}}]}]}]}]},{"k":[24212],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]},{"k":[25991],"v":[{"k":[31456],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[46,1]]}},{"k":[36807,19981],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[24322],"v":[{"k":[24120],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[65292],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[20013],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[21457],"v":[{"k":[29983],"v":[{"d":{"df":1,"dc":[[63,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[38752],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[23601],"v":[{"k":[33021],"v":[{"k":[20915],"v":[{"k":[23450],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[65,1],[106,1]]},"k":[32454],"v":[{"k":[33410],"v":[{"d":{"df":1,"dc":[[110,2]]}}]}]}]},{"k":[31243],"v":[{"k":[36164,114,25191],"v":[{"k":[28304],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"d":{"df":1,"dc":[[11,1]]}}]}]}]}]}]},{"k":[34892],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]},{"k":[22353],"v":[{"k":[25351],"v":[{"k":[21335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]},{"k":[32771,25968,19982],"v":[{"k":[25991,36164,65306,35813,39033,58,23448,20462,35780],"v":[{"k":[26723],"v":[{"d":{"df":1,"dc":[[12,1]]},"k":[65306],"v":[{"d":{"df":2,"dc":[[50,1],[64,1]]}}]}]},{"k":[26009,28304],"v":[{"d":{"df":2,"dc":[[28,1],[84,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[71,1]]}}]},{"d":{"df":1,"dc":[[67,1]]}}]},{"d":{"df":2,"dc":[[31,1],[106,1]]},"k":[91],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[35780],"v":[{"k":[35770],"v":[{"k":[65306],"v":[{"k":[91],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[30446],"v":[{"d":{"df":1,"dc":[[106,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]},{"d":{"df":1,"dc":[[68,1]]}},{"k":[26041],"v":[{"k":[30340,25991],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]},{"k":[26723],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"k":[35814],"v":[{"k":[32454],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[35828],"v":[{"k":[26126],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25913],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[21028],"v":[{"k":[29289],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"d":{"df":3,"dc":[[29,1],[30,1],[40,1]]},"k":[36827,58,24102,38169],"v":[{"k":[34892],"v":[{"k":[22238],"v":[{"k":[22635],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[81,1]]}},{"k":[20837],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25139],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]},{"k":[35823],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]},{"k":[32773],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[26041],"v":[{"k":[25552,25991,31034,32593,22320],"v":[{"k":[20379],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]},{"k":[26723],"v":[{"k":[65306,58],"v":[{"d":{"df":4,"dc":[[12,1],[20,1],[24,1],[25,1]]}},{"d":{"df":1,"dc":[[77,1]]}}]}]},{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":2,"dc":[[21,1],[25,1]]}}]}]},{"k":[22336],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]},{"k":[22336],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[35013,39030],"v":[{"d":{"df":2,"dc":[[12,2],[64,1]]},"k":[65306,65288,115],"v":[{"d":{"df":1,"dc":[[12,1]]}},{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20250],"v":[{"k":[23450],"v":[{"k":[20041],"v":[{"k":[19981],"v":[{"k":[20840],"v":[{"k":[65289],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[107],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[62,1]]}}]},{"d":{"df":12,"dc":[[12,2],[26,3],[27,2],[33,1],[39,1],[48,18],[57,5],[63,2],[68,3],[85,2],[106,1],[107,1]]},"k":[44,59,41],"v":[{"d":{"df":4,"dc":[[26,3],[43,1],[63,1],[106,2]]}},{"d":{"df":4,"dc":[[40,2],[43,1],[63,2],[64,1]]}},{"d":{"df":1,"dc":[[68,1]]},"k":[59],"v":[{"d":{"df":2,"dc":[[65,2],[79,1]]}}]}]},{"k":[20363],"v":[{"d":{"df":3,"dc":[[15,2],[43,1],[74,1]]},"k":[20195,58,39033,65306],"v":[{"k":[30721],"v":[{"d":{"df":6,"dc":[[12,1],[28,1],[39,1],[47,1],[75,1],[76,1]]},"k":[65306],"v":[{"d":{"df":5,"dc":[[12,1],[20,1],[27,1],[33,1],[85,1]]}}]}]},{"d":{"df":3,"dc":[[26,2],[66,1],[68,1]]}},{"k":[30446],"v":[{"d":{"df":1,"dc":[[80,1]]},"k":[20301,28304],"v":[{"k":[20110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[30721],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"d":{"df":7,"dc":[[52,2],[74,1],[79,1],[88,1],[106,1],[108,2],[109,1]]}}]}]},{"k":[24405],"v":[{"k":[24635,19979,30331],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[12,1]]}}]},{"k":[26469],"v":[{"k":[65292],"v":[{"k":[27492],"v":[{"k":[26102],"v":[{"k":[20320],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21033],"v":[{"k":[29992],"v":[{"k":[39],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24405],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[34892],"v":[{"d":{"df":3,"dc":[[12,1],[29,1],[83,2]]},"k":[25968,32467,19968,19979,65306,21518,30456],"v":[{"k":[32452],"v":[{"k":[20013],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[20540],"v":[{"k":[30340],"v":[{"k":[20989],"v":[{"k":[25968],"v":[{"k":[65292],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[22235],"v":[{"k":[20010],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26524],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]},{"k":[27425],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[29992],"v":[{"k":[26469],"v":[{"k":[20570],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[30340],"v":[{"k":[32479],"v":[{"k":[35745],"v":[{"k":[12289],"v":[{"k":[32593],"v":[{"k":[31449],"v":[{"k":[30340],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[31561],"v":[{"k":[65292],"v":[{"k":[29609],"v":[{"k":[27861],"v":[{"k":[30475],"v":[{"k":[20320],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[24819],"v":[{"k":[27861],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[65292],"v":[{"k":[23558],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"d":{"df":2,"dc":[[46,1],[57,1]]}},{"k":[31471],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[46,1]]}}]}]}]}]},{"k":[24212],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[21462],"v":[{"k":[117,20869,26368,23646,26041,36830,30495],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[26631],"v":[{"k":[20934],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25139],"v":[{"d":{"df":1,"dc":[[12,1]]}}]}]}]}]}]}]}]}]},{"k":[32593],"v":[{"k":[105],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]},{"k":[26032],"v":[{"k":[30340],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[24615],"v":[{"k":[65292],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[27861],"v":[{"k":[65292],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[20381],"v":[{"k":[28982],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]},{"k":[25509],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]},{"k":[23454],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]},{"k":[23384,30340,21363,65306,38754],"v":[{"k":[20648],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[23,1]]},"k":[20107,32531],"v":[{"k":[20214],"v":[{"k":[20851],"v":[{"k":[32852],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]},{"k":[23384],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[27491],"v":[{"k":[24120],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[21450],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]},{"d":{"df":1,"dc":[[51,1]]}},{"k":[21152],"v":[{"k":[19978],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[117],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[96],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201,27714],"v":[{"k":[27880,20351,20197,32771,27599,20026,49,23433,25163,20004,23548,25490],"v":[{"k":[24847],"v":[{"k":[65292,30340,96,20854],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[35813],"v":[{"k":[96],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[96],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[24050],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[65292],"v":[{"k":[19988],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[24050],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[37325],"v":[{"k":[26032],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[108],"v":[{"k":[20250],"v":[{"k":[21464],"v":[{"k":[25104],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[65288],"v":[{"k":[27704],"v":[{"k":[20037],"v":[{"k":[65289],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[13,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]},{"k":[119],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[20013],"v":[{"k":[30340],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[25110],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[30340],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[25110],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[31867],"v":[{"k":[20284],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[25243],"v":[{"k":[20986],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[34385],"v":[{"k":[27983],"v":[{"k":[35272],"v":[{"k":[22120],"v":[{"k":[20860],"v":[{"k":[23481],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65306],"v":[{"k":[25903],"v":[{"k":[25345],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[24211],"v":[{"k":[21333],"v":[{"k":[29420],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]},{"k":[26032],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[46],"v":[{"k":[49],"v":[{"k":[54,53],"v":[{"k":[21450],"v":[{"k":[20197],"v":[{"k":[19978],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]},{"k":[21450],"v":[{"k":[20197],"v":[{"k":[19978],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[40],"v":[{"k":[63],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[35013],"v":[{"d":{"df":1,"dc":[[61,1]]}}]},{"k":[21160],"v":[{"k":[26367],"v":[{"k":[25442],"v":[{"k":[22836],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[26465],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[20998],"v":[{"k":[39029],"v":[{"k":[65292],"v":[{"k":[23884],"v":[{"k":[22871],"v":[{"k":[20998],"v":[{"k":[39029],"v":[{"k":[21017],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[26465],"v":[{"k":[30446],"v":[{"k":[65288],"v":[{"k":[110],"v":[{"k":[41],"v":[{"k":[20877],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20837],"v":[{"k":[30340],"v":[{"k":[34920],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]},{"k":[38500],"v":[{"k":[30340],"v":[{"k":[34920],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]},{"d":{"df":2,"dc":[[72,1],[90,1]]},"k":[25910],"v":[{"k":[38598],"v":[{"k":[19982],"v":[{"k":[25972],"v":[{"k":[29702],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22810],"v":[{"k":[30011],"v":[{"k":[30011],"v":[{"k":[24605],"v":[{"k":[32500],"v":[{"k":[23548],"v":[{"k":[22270],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[20043],"v":[{"k":[38388],"v":[{"k":[26159],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[20851],"v":[{"k":[32852],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[30340],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[12289],"v":[{"k":[23618],"v":[{"k":[32423],"v":[{"k":[29702],"v":[{"k":[39034],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20307],"v":[{"d":{"df":1,"dc":[[13,1]]},"k":[37197],"v":[{"k":[32622],"v":[{"k":[21450],"v":[{"k":[25353],"v":[{"k":[38190],"v":[{"k":[26144],"v":[{"k":[23556],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[28857,27491],"v":[{"k":[20987],"v":[{"k":[21491],"v":[{"k":[19978],"v":[{"k":[35282],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[14,2]]}}]}]}]}]}]},{"k":[24120],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[32593],"v":[{"k":[39029],"v":[{"k":[65292],"v":[{"k":[34920],"v":[{"k":[26126],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38062,29031,38656,19979,38190],"v":[{"k":[65292,12290],"v":[{"k":[22635,23436,36755,28982],"v":[{"k":[20889],"v":[{"k":[24744],"v":[{"k":[30340],"v":[{"k":[37038],"v":[{"k":[31665],"v":[{"k":[12289],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[21644],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25104],"v":[{"k":[27880,30331],"v":[{"k":[20876],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]},{"k":[24405],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]},{"k":[20837],"v":[{"k":[24744],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[21644],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21518],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[65288],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[14,1]]}}]},{"k":[26680,36873,19978],"v":[{"k":[24515],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[20248],"v":[{"k":[20808],"v":[{"k":[35843],"v":[{"k":[24230],"v":[{"k":[44],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25321],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[35201],"v":[{"k":[27714],"v":[{"k":[22635],"v":[{"k":[20889],"v":[{"k":[20197],"v":[{"k":[19978],"v":[{"k":[32418],"v":[{"k":[32447],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[25512],"v":[{"k":[33616],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[30340],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21019],"v":[{"k":[24314],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[24405,38470,20837],"v":[{"d":{"df":3,"dc":[[45,1],[69,2],[109,1]]},"k":[21518,35774,29992,25104,23581],"v":[{"k":[65292],"v":[{"k":[24744],"v":[{"k":[20250],"v":[{"k":[30475],"v":[{"k":[21040],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[20102],"v":[{"k":[24744],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[25110],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[12290],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[37117],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[12289],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[25551],"v":[{"k":[36848],"v":[{"k":[12289],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[22270],"v":[{"k":[26631],"v":[{"k":[21644],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[12290],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[20998],"v":[{"k":[20026],"v":[{"k":[20004],"v":[{"k":[31181],"v":[{"k":[65306],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[103],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22791],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[25143],"v":[{"d":{"df":1,"dc":[[89,1]]}}]},{"k":[21151],"v":[{"d":{"df":1,"dc":[[106,1]]}}]},{"k":[35797],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[44,1]]},"k":[25511,30340,30456,25104],"v":[{"k":[21046],"v":[{"k":[21488],"v":[{"k":[65292],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"k":[19987],"v":[{"k":[23646],"v":[{"k":[19979],"v":[{"k":[36733],"v":[{"k":[22320],"v":[{"k":[22336],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25353],"v":[{"k":[38062],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[24212],"v":[{"k":[32593],"v":[{"k":[22336],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25928],"v":[{"k":[26524],"v":[{"k":[26597],"v":[{"k":[30475],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[21151],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]},{"k":[26381],"v":[{"k":[21153],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]},{"k":[21512,29992],"v":[{"k":[29992,21069,26032],"v":[{"k":[20110],"v":[{"k":[23398,24320],"v":[{"k":[20064],"v":[{"k":[12289],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[21644],"v":[{"k":[35843],"v":[{"k":[35797],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[12289],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[21644],"v":[{"k":[20998],"v":[{"k":[20139],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]},{"k":[31471],"v":[{"k":[12289],"v":[{"k":[21518],"v":[{"k":[31471],"v":[{"k":[12289],"v":[{"k":[20840],"v":[{"k":[26632],"v":[{"k":[24037],"v":[{"k":[31243],"v":[{"k":[24072],"v":[{"k":[65292],"v":[{"k":[23588],"v":[{"k":[20854],"v":[{"k":[20197],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25163],"v":[{"k":[20837],"v":[{"k":[38376],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[22330],"v":[{"k":[26223],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]},{"k":[24819],"v":[{"k":[35201],"v":[{"k":[23427],"v":[{"k":[20570],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[12290],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"k":[36890],"v":[{"k":[24120],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25104,25972,21892,32654],"v":[{"k":[30340,21518,46,20854,27979,32452],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[25110],"v":[{"k":[22238],"v":[{"k":[31572],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[14,1]]}}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[51,1]]}}]},{"d":{"df":2,"dc":[[53,1],[68,1]]}},{"k":[20182],"v":[{"k":[30340],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]},{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[25104,38169],"v":[{"k":[21151],"v":[{"k":[30340],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]},{"k":[35823],"v":[{"d":{"df":1,"dc":[[62,3]]}}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[24182],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]},{"k":[30340,39033,31034],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[20301],"v":[{"k":[20110],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]},{"k":[30446],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[20363],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[24453],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]},{"k":[25991,36816],"v":[{"k":[26723],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]},{"k":[32500],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[65292],"v":[{"k":[37319],"v":[{"k":[38598],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[12290],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[24471],"v":[{"k":[20986],"v":[{"k":[30340],"v":[{"k":[21487],"v":[{"k":[38752],"v":[{"k":[32467],"v":[{"k":[35770],"v":[{"k":[65292],"v":[{"k":[25165],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[28857],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20027,34900],"v":[{"k":[20041],"v":[{"k":[65292],"v":[{"k":[23427],"v":[{"k":[32473],"v":[{"k":[25105],"v":[{"k":[24102],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[20415],"v":[{"k":[21033],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[26159],"v":[{"k":[40635],"v":[{"k":[28902],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25509],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[20339],"v":[{"k":[36873],"v":[{"k":[25321],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]},{"k":[34411],"v":[{"k":[20837],"v":[{"k":[38376],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]},{"k":[21462],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]},{"k":[44,39588],"v":[{"k":[30452],"v":[{"k":[21040],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]},{"k":[39035,22791],"v":[{"k":[35201,21442,26377,20197,24341],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]},{"k":[25968],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[46],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24320],"v":[{"k":[22987],"v":[{"k":[12289],"v":[{"k":[32467],"v":[{"k":[26463],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[19988],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[44],"v":[{"k":[19988],"v":[{"k":[24517],"v":[{"k":[39035],"v":[{"k":[20197],"v":[{"k":[96],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[25171],"v":[{"k":[22836],"v":[{"k":[44],"v":[{"k":[22914],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[44],"v":[{"k":[20687],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[20889],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31070],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]},{"k":[20123,23601,26159,26679,37324,31181,20010,31867,20004,19968,26102],"v":[{"k":[37117,24402,20363],"v":[{"k":[26159],"v":[{"k":[20026],"v":[{"k":[20102],"v":[{"k":[32469],"v":[{"k":[36807],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[21019],"v":[{"k":[23431],"v":[{"k":[30340],"v":[{"k":[21453],"v":[{"k":[29228],"v":[{"k":[34411],"v":[{"k":[26426],"v":[{"k":[21046],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26681],"v":[{"k":[21040],"v":[{"k":[24213],"v":[{"k":[23601],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[65306],"v":[{"k":[24178],"v":[{"k":[24471],"v":[{"k":[19981],"v":[{"k":[29245],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23376],"v":[{"k":[25243],"v":[{"k":[20986],"v":[{"k":[20102],"v":[{"k":[19979],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[20027],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[20154],"v":[{"k":[24615],"v":[{"k":[21644],"v":[{"k":[34880],"v":[{"k":[24615],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26377,35201,38656],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21033],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[15,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[27714],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[26377],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[33521],"v":[{"k":[38596],"v":[{"k":[20027],"v":[{"k":[20041],"v":[{"k":[12290],"v":[{"k":[21916],"v":[{"k":[27426],"v":[{"k":[25171],"v":[{"k":[31726],"v":[{"k":[29699],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[22836],"v":[{"k":[30140],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[29420],"v":[{"k":[30340],"v":[{"k":[38431],"v":[{"k":[21451],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[20415],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[27700],"v":[{"k":[24179],"v":[{"k":[30495],"v":[{"k":[30340],"v":[{"k":[24456],"v":[{"k":[39640],"v":[{"k":[12290],"v":[{"k":[25105],"v":[{"k":[35780],"v":[{"k":[20215],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[30340],"v":[{"k":[22909],"v":[{"k":[22351],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[20182],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[26159],"v":[{"k":[20182],"v":[{"k":[22312],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20013],"v":[{"k":[23545],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[25104],"v":[{"k":[21592],"v":[{"k":[30340],"v":[{"k":[27491],"v":[{"k":[38754],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"k":[33021],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[20320],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[26469],"v":[{"k":[35753],"v":[{"k":[20182],"v":[{"k":[20204],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31867,36739,19968,20256,20010,26368,31532,24456],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]},{"k":[20026],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[21021],"v":[{"k":[22987],"v":[{"k":[21270],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[65292],"v":[{"k":[24403],"v":[{"k":[20320],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[22823],"v":[{"k":[27010],"v":[{"k":[30340],"v":[{"k":[35774],"v":[{"k":[24819],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[20889],"v":[{"k":[20986],"v":[{"k":[26469],"v":[{"k":[12290],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[28070],"v":[{"k":[21270],"v":[{"k":[35813],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[65292],"v":[{"k":[20889],"v":[{"k":[20986],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[27573],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32479],"v":[{"k":[30340],"v":[{"k":[21333],"v":[{"k":[20803],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[34893],"v":[{"k":[29983],"v":[{"k":[32780],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[22909],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]},{"k":[27973,37325],"v":[{"k":[26174],"v":[{"k":[30340],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[20986],"v":[{"k":[38169],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[20301],"v":[{"k":[32622],"v":[{"k":[12289],"v":[{"k":[20986],"v":[{"k":[38169],"v":[{"k":[30340],"v":[{"k":[34892],"v":[{"k":[21015],"v":[{"k":[21495],"v":[{"k":[12289],"v":[{"k":[20986],"v":[{"k":[38169],"v":[{"k":[30340],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[20840],"v":[{"k":[37096],"v":[{"k":[37117],"v":[{"k":[19968],"v":[{"k":[35272],"v":[{"k":[26080],"v":[{"k":[20313],"v":[{"k":[65292],"v":[{"k":[25214],"v":[{"k":[20986],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[12290],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[20877],"v":[{"k":[24378],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[39072],"v":[{"k":[35206],"v":[{"k":[20840],"v":[{"k":[19990],"v":[{"k":[30028],"v":[{"k":[65292],"v":[{"k":[91],"v":[{"k":[22825],"v":[{"k":[21551],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[53],"v":[{"k":[57],"v":[{"k":[54],"v":[{"k":[57],"v":[{"k":[56],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[52],"v":[{"k":[57],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[41],"v":[{"k":[30340],"v":[{"k":[22833],"v":[{"k":[36133],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20856],"v":[{"k":[22411],"v":[{"k":[30340],"v":[{"k":[20363],"v":[{"k":[23376],"v":[{"k":[65292],"v":[{"k":[21452],"v":[{"k":[25331],"v":[{"k":[19981],"v":[{"k":[25932],"v":[{"k":[22235],"v":[{"k":[25163],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20116],"v":[{"k":[23618],"v":[{"k":[27425],"v":[{"k":[65306],"v":[{"k":[33258],"v":[{"k":[25105],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22810],"v":[{"k":[20154],"v":[{"k":[22312],"v":[{"k":[25340],"v":[{"k":[21629],"v":[{"k":[36861],"v":[{"k":[27714],"v":[{"k":[21644],"v":[{"k":[25913],"v":[{"k":[21892],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340,20889,19968,36335,23601,44,20570],"v":[{"k":[35805,19968,25554,30446,32769,34],"v":[{"k":[23601],"v":[{"k":[22833],"v":[{"k":[21435],"v":[{"k":[20102],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[23545],"v":[{"k":[35937],"v":[{"k":[44],"v":[{"k":[36171],"v":[{"k":[20540],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[26631],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[23439],"v":[{"k":[22823],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[27599],"v":[{"k":[19968],"v":[{"k":[24180],"v":[{"k":[65292],"v":[{"k":[34218],"v":[{"k":[36164],"v":[{"k":[20197],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26495],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[22312],"v":[{"k":[21033],"v":[{"k":[29992],"v":[{"k":[20154],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[24369],"v":[{"k":[28857],"v":[{"k":[26469],"v":[{"k":[21093],"v":[{"k":[21066],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[30340],"v":[{"k":[21097],"v":[{"k":[20313],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[12290],"v":[{"k":[20154],"v":[{"k":[24615],"v":[{"k":[21270],"v":[{"k":[30340],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[65292],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[30340],"v":[{"k":[21033],"v":[{"k":[30410],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[30340],"v":[{"k":[21033],"v":[{"k":[30410],"v":[{"k":[65307],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[30340],"v":[{"k":[21033],"v":[{"k":[30410],"v":[{"k":[37117],"v":[{"k":[25104],"v":[{"k":[20026],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[30340],"v":[{"k":[21033],"v":[{"k":[30410],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[42],"v":[{"k":[42],"v":[{"k":[39640],"v":[{"k":[25928],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26159,27861],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[34987],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[21040],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[21482],"v":[{"k":[35201],"v":[{"k":[31245],"v":[{"k":[24494],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[23601],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]},{"k":[32423],"v":[{"k":[30340],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[26159],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30001],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[21047],"v":[{"k":[26032],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[20250],"v":[{"k":[21464],"v":[{"k":[25104],"v":[{"k":[22823],"v":[{"k":[30333],"v":[{"k":[26495],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"k":[25105],"v":[{"k":[20197],"v":[{"k":[20026],"v":[{"k":[26159],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[22312],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[37117],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20250],"v":[{"k":[27599],"v":[{"k":[38548],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]},{"d":{"df":1,"dc":[[80,1]]}},{"k":[30340],"v":[{"k":[22909],"v":[{"k":[22788],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]},{"k":[25243,21487,25105,26377,65292,35762,27979,20027,44,26159,23601,24378,30340],"v":[{"k":[20986],"v":[{"k":[20294],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[23558],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[34987],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20197],"v":[{"k":[20889],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]},{"k":[20570],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[20010,27573],"v":[{"k":[25105],"v":[{"k":[20570],"v":[{"k":[30340],"v":[{"k":[27599],"v":[{"k":[22825],"v":[{"k":[25235],"v":[{"k":[21462],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]},{"k":[20171],"v":[{"k":[32461],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[25945],"v":[{"k":[31243],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[24819],"v":[{"k":[20102],"v":[{"k":[35299],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105],"v":[{"k":[20204],"v":[{"k":[23601],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[20102],"v":[{"k":[12304],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[12305],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[21517],"v":[{"k":[65292],"v":[{"k":[21462],"v":[{"k":[21517],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[19979],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]},{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[30340],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[20026],"v":[{"k":[96],"v":[{"k":[56],"v":[{"k":[96],"v":[{"k":[27425],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[36171],"v":[{"k":[20540],"v":[{"k":[26032],"v":[{"k":[29305],"v":[{"k":[24615],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105],"v":[{"k":[24635],"v":[{"k":[32467],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[19979],"v":[{"k":[25152],"v":[{"k":[35859],"v":[{"k":[30340],"v":[{"k":[26368],"v":[{"k":[20339],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105,19968,29983],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]},{"k":[20010],"v":[{"k":[37492],"v":[{"k":[26435],"v":[{"k":[30340],"v":[{"k":[20363],"v":[{"k":[23376],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]},{"k":[25104],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[27169],"v":[{"k":[22411],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19981],"v":[{"k":[20030],"v":[{"k":[20363],"v":[{"k":[23637],"v":[{"k":[24320],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[31169],"v":[{"k":[23494],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[21478],"v":[{"k":[22806],"v":[{"k":[19968],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[25152],"v":[{"k":[23637],"v":[{"k":[31034],"v":[{"k":[20986],"v":[{"k":[26469],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[26126],"v":[{"k":[26174],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35843],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[24182],"v":[{"k":[21457],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[37325],"v":[{"k":[20110],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[20307],"v":[{"k":[39564],"v":[{"k":[12290],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[24456],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[24182],"v":[{"k":[21457],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[20102],"v":[{"k":[23545],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[30828],"v":[{"k":[20214],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[30340],"v":[{"k":[35201],"v":[{"k":[27714],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[21487],"v":[{"k":[35270],"v":[{"k":[20026],"v":[{"k":[24182],"v":[{"k":[21457],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[21363],"v":[{"k":[24402],"v":[{"k":[20110],"v":[{"k":[25104],"v":[{"k":[26412],"v":[{"k":[12290],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[12289],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[19981],"v":[{"k":[35745],"v":[{"k":[25104],"v":[{"k":[26412],"v":[{"k":[21435],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[20307],"v":[{"k":[39564],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29366,20449,35774],"v":[{"k":[24577],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[19968],"v":[{"k":[30452],"v":[{"k":[19981],"v":[{"k":[26174],"v":[{"k":[31034],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]},{"k":[24687],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[22635],"v":[{"k":[20837],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[38656],"v":[{"k":[20570],"v":[{"k":[26356],"v":[{"k":[25913],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35745],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[21021,37327,36127],"v":[{"k":[22987],"v":[{"k":[21270],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[31245],"v":[{"k":[24494],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[22686],"v":[{"k":[38271],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[33021],"v":[{"k":[37327],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[24456],"v":[{"k":[24555],"v":[{"k":[28183],"v":[{"k":[36879],"v":[{"k":[21040],"v":[{"k":[25972],"v":[{"k":[20010],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20013],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29256,26041,38454],"v":[{"k":[26412],"v":[{"k":[24211],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[21040],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[27861],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[24456],"v":[{"k":[26041],"v":[{"k":[20415],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[45],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[27573],"v":[{"k":[65292],"v":[{"k":[24050],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[25216],"v":[{"k":[20043],"v":[{"k":[38271],"v":[{"k":[65292],"v":[{"k":[21448],"v":[{"k":[26377],"v":[{"k":[24191],"v":[{"k":[27867],"v":[{"k":[28041],"v":[{"k":[29454],"v":[{"k":[65292],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[23547],"v":[{"k":[27714],"v":[{"k":[31361],"v":[{"k":[30772],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22788],"v":[{"k":[29702],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[29305],"v":[{"k":[28857],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[65292],"v":[{"k":[20849],"v":[{"k":[24615],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[21457],"v":[{"k":[36865],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[26159],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[34987],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[23376],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[20849],"v":[{"k":[21516],"v":[{"k":[24341],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21488,38454],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]},{"k":[27573],"v":[{"k":[26368],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[25932],"v":[{"k":[20154],"v":[{"k":[26159],"v":[{"k":[33258],"v":[{"k":[36523],"v":[{"k":[30340],"v":[{"k":[24577],"v":[{"k":[24230],"v":[{"k":[65292],"v":[{"k":[20999],"v":[{"k":[24524],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[30524],"v":[{"k":[39640],"v":[{"k":[25163],"v":[{"k":[20302],"v":[{"k":[65292],"v":[{"k":[29282],"v":[{"k":[35760],"v":[{"k":[19968],"v":[{"k":[21477],"v":[{"k":[35805],"v":[{"k":[8212],"v":[{"k":[8212],"v":[{"k":[8220],"v":[{"k":[24515],"v":[{"k":[27604],"v":[{"k":[22825],"v":[{"k":[39640],"v":[{"k":[65292],"v":[{"k":[21629],"v":[{"k":[27604],"v":[{"k":[32440],"v":[{"k":[34180],"v":[{"k":[12290],"v":[{"k":[8221],"v":[{"k":[33050],"v":[{"k":[36367],"v":[{"k":[23454],"v":[{"k":[22320],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[33050],"v":[{"k":[21360],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"k":[26410],"v":[{"k":[26469],"v":[{"k":[20570],"v":[{"k":[22909],"v":[{"k":[38138],"v":[{"k":[22443],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20505],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"k":[36305],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[20250],"v":[{"k":[25253],"v":[{"k":[38169],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010,21040,19981],"v":[{"k":[24179,25552],"v":[{"k":[21488],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[16,1]]}}]}]},{"k":[20132],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]},{"k":[20116],"v":[{"k":[24180],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]},{"k":[25307],"v":[{"k":[65292],"v":[{"k":[19977],"v":[{"k":[19981],"v":[{"k":[30041],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]},{"k":[9472],"v":[{"k":[9472],"v":[{"d":{"df":7,"dc":[[16,11],[19,8],[53,31],[57,48],[63,2],[93,17],[106,7]]}}]}]},{"d":{"df":4,"dc":[[16,6],[19,8],[53,53],[93,18]]}},{"k":[9472],"v":[{"k":[9472],"v":[{"d":{"df":7,"dc":[[16,5],[19,3],[53,7],[57,1],[63,1],[93,16],[106,1]]}}]}]},{"k":[34892],"v":[{"d":{"df":1,"dc":[[54,1]]},"k":[33050,65292,31034,19979,31995,24182],"v":[{"k":[26412],"v":[{"d":{"df":2,"dc":[[16,1],[19,1]]}}]},{"k":[24182],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[38754],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[65288],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[32479],"v":[{"k":[65292],"v":[{"k":[27169],"v":[{"k":[25311],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35843],"v":[{"k":[35797],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[29,1]]},"k":[115,46,116,112,102,98,114,104,109,108,97,41,49,40,36,119,99,100,20363,40664,117,106,121,110,101,94,34,105,42,39,54,103,111,107,118,48,91,62,47,56,52,57,120,45,50,124,122,123,95,33],"v":[{"k":[99,116,115,104,105,112,97,101],"v":[{"k":[114,111],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[115,34],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":8,"dc":[[16,1],[49,1],[50,1],[51,1],[53,1],[67,1],[78,3],[106,1]]}}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[85,3]]}}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]},{"k":[97,121],"v":[{"k":[114,116],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":4,"dc":[[16,1],[51,1],[67,1],[78,3]]}}]}]}]},{"k":[117],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]},{"k":[116,104],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[95],"v":[{"k":[116,99],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[51,1]]},"k":[117,101],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[108],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[117],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108,97],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,3]]}}]}]}]}]}]},{"k":[118,115],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]},{"k":[97,116],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[58],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[110,101,46],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[119,101,98],"v":[{"k":[101],"v":[{"k":[98],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[16,2]]}}]}]}]}]}]}]},{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[16,3],[51,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[121],"v":[{"k":[99],"v":[{"k":[95],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101,97,114,105,111,121],"v":[{"k":[115,114,108],"v":[{"k":[116],"v":[{"k":[34,95,123,47],"v":[{"k":[58,44],"v":[{"d":{"df":3,"dc":[[16,1],[51,1],[106,1]]}},{"d":{"df":1,"dc":[[106,1]]}}]},{"k":[118],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"k":[45],"v":[{"k":[42],"v":[{"k":[125],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]},{"k":[42],"v":[{"k":[46,42],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[47],"v":[{"k":[42],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[105,34],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[34,45,46],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,2]]}}]},{"k":[112],"v":[{"k":[108],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116,99],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]},{"k":[97,101,117],"v":[{"k":[110,118],"v":[{"k":[115],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[100,99,111,114],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[45],"v":[{"k":[99],"v":[{"k":[105],"v":[{"d":{"df":1,"dc":[[41,1]]},"k":[34],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[45,107],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]},{"k":[116,109],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]},{"k":[45],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100,111,103,116],"v":[{"k":[111],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[45],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[34,45],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[111],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[76,1],[85,1]]}}]}]}]}]}]},{"k":[97,114,108,111,105,109],"v":[{"k":[99,103],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[119,109,97],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[99],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[108],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[16,1],[51,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110,114],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[101,111],"v":[{"k":[115,112],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[63,1]]}}]}]}]}]}]},{"k":[117,97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[49,1],[50,1]]}}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]},{"k":[106,100,102],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[34,99],"v":[{"k":[58],"v":[{"d":{"df":3,"dc":[[26,1],[44,3],[63,1]]}}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108,115,114],"v":[{"k":[121],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[63,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[110,105],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[34,115],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[100],"v":[{"k":[95,34],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[50,120,95],"v":[{"k":[95],"v":[{"k":[101,106],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34,95],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]},{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[111,101,99,117,105],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,120],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[119],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]},{"k":[97,105,111,117],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108,110,115],"v":[{"k":[101],"v":[{"k":[45,115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[46,34],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[34,100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[101],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[100],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[45],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[34,45],"v":[{"d":{"df":1,"dc":[[57,1]]}},{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[34],"v":[{"k":[58,44],"v":[{"d":{"df":1,"dc":[[85,1]]}},{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[108],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,2]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[114,97,117],"v":[{"k":[111,97],"v":[{"k":[119],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[34,95,101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]},{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[49,1]]},"k":[45,46,34],"v":[{"k":[114],"v":[{"k":[117,101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]},{"k":[116,105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]},{"k":[108],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]},{"k":[101,109],"v":[{"k":[97,103,115,100,112,102,108,109,113],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[63,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[45,97],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[108,111],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[115,114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[34,115],"v":[{"k":[93,58],"v":[{"d":{"df":1,"dc":[[66,1]]}},{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[117],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[53,1]]}}]},{"k":[101,104,116,105],"v":[{"k":[108,97],"v":[{"k":[112,108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[26,1],[63,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[44,45],"v":[{"d":{"df":2,"dc":[[27,1],[45,1]]}},{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]},{"k":[116,109],"v":[{"k":[112],"v":[{"k":[58,34,95],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[113],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[108,99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[103],"v":[{"k":[104],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[34,100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,2]]}}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111,121,101,97,105],"v":[{"k":[100,110],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[110,95],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]},{"k":[99,110,118],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[45,5]]}},{"k":[114,109],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[45,95],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,3]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[105,120],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]},{"k":[45,95,34],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[61],"v":[{"k":[51],"v":[{"k":[49],"v":[{"k":[53],"v":[{"k":[51],"v":[{"k":[54],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[59],"v":[{"k":[34],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,114],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[116,110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[67,1]]}}]},{"k":[95],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,97,101,111,115,99],"v":[{"k":[98,110,99],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116,101],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]},{"k":[115,110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[103],"v":[{"k":[117],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,2]]}}]}]}]}]}]}]}]}]},{"k":[102,115],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[115],"v":[{"k":[34,99,111],"v":[{"k":[58,44],"v":[{"d":{"df":1,"dc":[[85,1]]}},{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[103,111],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,3]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[95],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110,116,100,108,122,99,117,112,114,102,120,103,118,104],"v":[{"k":[116],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[111],"v":[{"k":[99,109],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[44,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[45],"v":[{"k":[98,116,109],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[121],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[45],"v":[{"k":[117,115],"v":[{"k":[105],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[121],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[120],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[99,114],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[61],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[55],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105,116,101],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[34,116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]},{"k":[43],"v":[{"k":[105,106,107,108],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[114],"v":[{"k":[116],"v":[{"k":[34,95],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111,104],"v":[{"k":[99,102,109,114],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[120],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,2]]}}]}]}]}]},{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]},{"k":[112],"v":[{"k":[108,34],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[58],"v":[{"k":[110,111],"v":[{"k":[101],"v":[{"k":[119],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[95],"v":[{"k":[97,109,111,100],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[103,97],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[29,1]]}},{"k":[49,57,48,34,46],"v":[{"k":[50],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[51],"v":[{"k":[52],"v":[{"k":[52],"v":[{"k":[33],"v":[{"k":[33],"v":[{"k":[95],"v":[{"k":[95],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[50,51,52,49],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[40,2]]}}]},{"k":[34],"v":[{"d":{"df":1,"dc":[[40,1]]}}]},{"k":[34],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[34],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[49],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]},{"k":[49],"v":[{"k":[50],"v":[{"k":[51],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[31,1]]}}]}]}]}]},{"k":[40,114,123,97],"v":[{"k":[100,99],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[114],"v":[{"k":[108],"v":[{"d":{"df":3,"dc":[[54,1],[61,2],[88,1]]}}]}]}]}]},{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[48],"v":[{"k":[125],"v":[{"k":[34],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[105,101,111,104],"v":[{"k":[108,110],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[67,1]]},"k":[64],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[41,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[58,46],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[122],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,98],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[34,116],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]},{"k":[112],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]},{"k":[114],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[116,115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[125],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,4]]}}]}]}]}]}]},{"k":[108,111,109,117,110,119,104,114,112],"v":[{"k":[97,117],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34,95],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,3]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109,108,114],"v":[{"k":[112,109],"v":[{"k":[105,97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]},{"k":[99],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[97,101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[45,34],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[58],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[57,6]]}}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[108],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[58],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[43],"v":[{"k":[101,115],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[104],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[43],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114,115],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[117,108,100,114],"v":[{"k":[112],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[101],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[95],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34],"v":[{"k":[93],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]},{"k":[100],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]},{"k":[105,101],"v":[{"k":[108],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[99],"v":[{"k":[107],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[95],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[111,101],"v":[{"k":[110,99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]},{"k":[117],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[112,118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[65306],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[113],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35748],"v":[{"k":[31354,20540],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[65306],"v":[{"k":[100,25903,24494],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]},{"k":[20184],"v":[{"k":[23453],"v":[{"k":[25424],"v":[{"k":[36192],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]},{"k":[20449],"v":[{"k":[25424],"v":[{"k":[36192],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]},{"k":[115,110,112],"v":[{"k":[101,97],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[64,34],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[103],"v":[{"k":[101],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[98,103],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,115],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[46,34,114],"v":[{"k":[118],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]},{"k":[101],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[104],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[107],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97,51,121,101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[118],"v":[{"k":[121],"v":[{"k":[99],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[121],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[97],"v":[{"k":[98,110],"v":[{"k":[114],"v":[{"k":[122],"v":[{"k":[121],"v":[{"k":[103],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]},{"k":[102],"v":[{"k":[122],"v":[{"k":[120],"v":[{"k":[113],"v":[{"k":[61],"v":[{"k":[61],"v":[{"k":[34],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[121],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[85,3]]}}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112,111,97,101,121],"v":[{"k":[109],"v":[{"d":{"df":2,"dc":[[50,1],[67,1]]},"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]},{"k":[100,114,115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[78,1]]},"k":[95,34],"v":[{"k":[109,101,97,118],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47,34],"v":[{"k":[46],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]},{"k":[110],"v":[{"k":[118],"v":[{"k":[61,34],"v":[{"k":[112,116],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[85,3]]}}]}]}]}]},{"k":[114,112],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]},{"k":[112],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]},{"k":[58,44],"v":[{"d":{"df":2,"dc":[[53,1],[78,1]]}},{"d":{"df":1,"dc":[[85,2]]}}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[108],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[34],"v":[{"k":[59],"v":[{"d":{"df":2,"dc":[[82,1],[88,1]]}}]}]}]}]}]}]}]},{"k":[109,118],"v":[{"k":[101],"v":[{"k":[115,34],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":2,"dc":[[54,1],[55,1]]}}]}]}]}]}]},{"k":[58],"v":[{"d":{"df":2,"dc":[[67,1],[85,4]]}}]}]}]},{"k":[105],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[119,116,120],"v":[{"d":{"df":1,"dc":[[57,1]]}},{"k":[119],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]},{"k":[110,97,100,120,115,99,114],"v":[{"k":[103,118],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[53,1],[78,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[88,1]]},"k":[34,95],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]},{"k":[118],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[49],"v":[{"k":[54],"v":[{"k":[50],"v":[{"k":[54],"v":[{"k":[51],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[54],"v":[{"k":[54],"v":[{"k":[99],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[48],"v":[{"k":[98],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[51],"v":[{"k":[53],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[56],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[55],"v":[{"k":[50],"v":[{"k":[102],"v":[{"k":[57],"v":[{"k":[51],"v":[{"k":[102],"v":[{"k":[51],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[99,46,116],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[116,102,119],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[57,1],[68,1]]}}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[110,114],"v":[{"k":[116],"v":[{"k":[115,102,119],"v":[{"k":[105],"v":[{"k":[122],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116,115],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[114],"v":[{"k":[100],"v":[{"k":[119],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[120],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,4]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99,116,101,97,105],"v":[{"k":[101,108],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[105,109],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[45],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[95],"v":[{"k":[109,105],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,4]]}}]}]}]}]}]},{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[118],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[116],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[95],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[97,118],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":2,"dc":[[57,1],[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[100,104],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[56],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[99],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111,108,101],"v":[{"k":[114],"v":[{"k":[95,115,34],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,3]]}}]}]}]}]}]}]},{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[52,50,48],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]},{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[51],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[116,111,110,115,103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[46],"v":[{"k":[115,97],"v":[{"k":[104],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[112],"v":[{"k":[112],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]},{"k":[110,116],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,8]]}}]},{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]},{"k":[100,115,104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[97],"v":[{"k":[110],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,4]]}}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]},{"k":[115],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[110],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34,42],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[47],"v":[{"k":[110,118,98,112,42,95],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[100],"v":[{"k":[117],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[119],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[112],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[98],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[46],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[95],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[95],"v":[{"k":[95],"v":[{"k":[47],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[57,3]]}}]}]}]}]}]}]},{"k":[57,46],"v":[{"k":[102],"v":[{"k":[50],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[100],"v":[{"k":[51],"v":[{"k":[45],"v":[{"k":[53],"v":[{"k":[102],"v":[{"k":[99],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[102],"v":[{"k":[57],"v":[{"k":[50],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[100],"v":[{"k":[53],"v":[{"k":[45],"v":[{"k":[52],"v":[{"k":[54],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[52],"v":[{"k":[56],"v":[{"k":[101],"v":[{"k":[52],"v":[{"k":[98],"v":[{"k":[100],"v":[{"k":[51],"v":[{"k":[102],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[51],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[105,114,101,120],"v":[{"k":[116],"v":[{"k":[45,64,98,34],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[102],"v":[{"k":[34,100],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[101],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[122],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[58],"v":[{"k":[119],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[118],"v":[{"k":[99],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[101],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[45],"v":[{"k":[97],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[102],"v":[{"k":[120],"v":[{"k":[99],"v":[{"k":[120],"v":[{"k":[100],"v":[{"k":[120],"v":[{"k":[98],"v":[{"k":[120],"v":[{"k":[101],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[100],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[112,114,99,117,107,110],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[57,1]]},"k":[46],"v":[{"k":[46],"v":[{"k":[46],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]},{"k":[105],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[93,44],"v":[{"d":{"df":1,"dc":[[66,1]]}},{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[116],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]},{"k":[116],"v":[{"k":[95,108,101],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,3]]}}]}]}]}]}]}]},{"k":[111],"v":[{"k":[103],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[99],"v":[{"k":[104],"v":[{"k":[111],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[108],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[121],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[57,6]]}}]}]}]}]},{"k":[99,101,117,105,97,51],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]}]}]},{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34,105],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]},{"k":[110],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]},{"k":[122],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34,95],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,2]]}}]},{"k":[114],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[110],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[108],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[54],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[46],"v":[{"k":[48,57,54],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]},{"k":[50],"v":[{"k":[109],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[46],"v":[{"k":[50],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]},{"k":[118],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[93],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]},{"k":[61],"v":[{"d":{"df":1,"dc":[[78,2]]}}]},{"k":[104,120,100,98,117,114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[34,47],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[46],"v":[{"k":[101,111],"v":[{"k":[114],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[47,120],"v":[{"k":[112,98],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[98],"v":[{"k":[101],"v":[{"k":[108],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[47,120],"v":[{"k":[108,112],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[46],"v":[{"k":[111,101],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[111],"v":[{"k":[106],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]},{"k":[47],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[46],"v":[{"k":[111,101],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[101],"v":[{"k":[118],"v":[{"k":[47],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]}]}]}]}]}]},{"k":[115],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[48],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[48,49],"v":[{"k":[48],"v":[{"k":[109],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[52],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]},{"k":[34],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]},{"k":[48],"v":[{"k":[48],"v":[{"k":[49],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[120,116,100],"v":[{"k":[120],"v":[{"k":[120],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,2]]}}]}]}]}]},{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[45],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[54],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[103],"v":[{"k":[95],"v":[{"k":[115,114],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[95],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[95],"v":[{"k":[100],"v":[{"k":[105],"v":[{"k":[114],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[114],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[49,48],"v":[{"k":[56],"v":[{"k":[46],"v":[{"k":[57],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[57],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[57],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[49],"v":[{"k":[54],"v":[{"k":[45],"v":[{"k":[48],"v":[{"k":[57],"v":[{"k":[45],"v":[{"k":[48],"v":[{"k":[50],"v":[{"k":[116],"v":[{"k":[48],"v":[{"k":[55],"v":[{"k":[58],"v":[{"k":[50],"v":[{"k":[53],"v":[{"k":[58],"v":[{"k":[49],"v":[{"k":[52],"v":[{"k":[46],"v":[{"k":[49],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[122],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[85,1]]}},{"k":[104],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[102],"v":[{"k":[45],"v":[{"k":[56],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[125],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]},{"k":[112],"v":[{"k":[109],"v":[{"k":[50],"v":[{"k":[95],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[34],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[42],"v":[{"k":[42],"v":[{"k":[47],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[47,46],"v":[{"k":[42],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]},{"k":[106],"v":[{"k":[115],"v":[{"k":[34],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[35823],"v":[{"d":{"df":3,"dc":[[32,1],[37,1],[62,8]]},"k":[65306,49,50,51,23581],"v":[{"d":{"df":1,"dc":[[17,1]]}},{"k":[65306],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[26410],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,4]]}}]}]}]}]}]}]}]}]},{"k":[65306],"v":[{"k":[20256],"v":[{"k":[20837],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[19981],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[62,4]]}}]}]}]}]}]}]}]}]}]}]},{"k":[65306],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[26080],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"d":{"df":1,"dc":[[62,4]]}}]}]}]}]}]}]}]}]},{"k":[35797],"v":[{"k":[27425],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]},{"k":[26579],"v":[{"k":[27169],"v":[{"k":[26495],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[17,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]},"k":[20043,26102],"v":[{"k":[21069],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]},{"k":[21457],"v":[{"k":[29616],"v":[{"k":[65292],"v":[{"k":[21450],"v":[{"k":[26102],"v":[{"k":[20462],"v":[{"k":[27491],"v":[{"k":[12290],"v":[{"k":[26080],"v":[{"k":[35770],"v":[{"k":[26159],"v":[{"k":[33258],"v":[{"k":[36523],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[25918],"v":[{"k":[22823],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[22806],"v":[{"k":[37096],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[25193],"v":[{"k":[25955],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[26086],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[24694],"v":[{"k":[24615],"v":[{"k":[24490],"v":[{"k":[29615],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[24456],"v":[{"k":[38590],"v":[{"k":[34917],"v":[{"k":[25937],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25163,19978,25645,36827],"v":[{"k":[21160],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[35813],"v":[{"k":[20381],"v":[{"k":[36182],"v":[{"k":[30340],"v":[{"k":[26087],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[22270],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[22823],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[65292],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[36890],"v":[{"k":[29992],"v":[{"k":[31867],"v":[{"k":[65292],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[31471],"v":[{"k":[21475],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[19988],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[36816],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20808],"v":[{"k":[20986],"v":[{"k":[12290],"v":[{"k":[21069],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[21069],"v":[{"k":[65292],"v":[{"k":[38459],"v":[{"k":[27490],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21518],"v":[{"k":[21442,20351,23558,20877,31243,36890,44,21487,19968,96],"v":[{"k":[32771],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[65306],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[100],"v":[{"k":[111],"v":[{"k":[99],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[105],"v":[{"k":[112],"v":[{"k":[116],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[103],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[110],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[112],"v":[{"k":[45],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[120],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[23427],"v":[{"k":[20204],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]},{"k":[37325],"v":[{"k":[26032],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[19978],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[24207],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[36807],"v":[{"d":{"df":1,"dc":[[59,1]]}}]},{"d":{"df":1,"dc":[[66,1]]}},{"k":[20197],"v":[{"k":[25645],"v":[{"k":[37197],"v":[{"k":[33041],"v":[{"k":[22270],"v":[{"k":[12289],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[22270],"v":[{"k":[12289],"v":[{"k":[26102],"v":[{"k":[24207],"v":[{"k":[22270],"v":[{"k":[12289],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[22270],"v":[{"k":[31561],"v":[{"k":[24314],"v":[{"k":[27169],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65292],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[30340],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36335],"v":[{"k":[22238],"v":[{"k":[36710],"v":[{"k":[32467],"v":[{"k":[26463],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]},{"k":[58],"v":[{"k":[119],"v":[{"k":[113],"v":[{"k":[96],"v":[{"k":[20445],"v":[{"k":[23384],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]},{"k":[34892,38454,19968,20837,31243],"v":[{"d":{"df":3,"dc":[[19,1],[57,1],[96,1]]},"k":[25193,23433,27867,23398,30740],"v":[{"k":[23637],"v":[{"d":{"df":1,"dc":[[26,1]]}}]},{"k":[35013],"v":[{"d":{"df":1,"dc":[[44,1]]}}]},{"k":[22495],"v":[{"k":[21517],"v":[{"k":[35299],"v":[{"k":[26512],"v":[{"k":[30340],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[25645],"v":[{"k":[24314],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[31350],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]},{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":3,"dc":[[25,1],[70,1],[79,1]]},"k":[65292],"v":[{"k":[25110],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]},{"k":[27493],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]},"k":[37197,39033],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]},{"k":[30446],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]},{"k":[65292],"v":[{"k":[23558],"v":[{"k":[20250],"v":[{"k":[25171],"v":[{"k":[21021],"v":[{"k":[22987],"v":[{"k":[21270],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[22987,20837,27425],"v":[{"k":[21270,29366,19981],"v":[{"d":{"df":3,"dc":[[43,1],[49,1],[67,1]]},"k":[12290,29256,46,39033,32763],"v":[{"d":{"df":1,"dc":[[19,1]]}},{"k":[26412],"v":[{"k":[24211],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]},{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]},{"k":[30446],"v":[{"d":{"df":6,"dc":[[50,1],[51,1],[63,1],[65,1],[67,1],[106,1]]},"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[35793],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[66,2]]}}]}]}]}]},{"k":[24577],"v":[{"d":{"df":1,"dc":[[23,1]]}}]},{"k":[26174],"v":[{"k":[31034],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]},{"k":[32844],"v":[{"k":[22330],"v":[{"k":[65292],"v":[{"k":[23569,26368],"v":[{"k":[21463],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[19981],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[39118],"v":[{"k":[27668],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"k":[65292],"v":[{"k":[23545],"v":[{"k":[26410],"v":[{"k":[26469],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[33707],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[30410],"v":[{"k":[22788],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22823],"v":[{"k":[30340],"v":[{"k":[24524],"v":[{"k":[35763],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[28014],"v":[{"k":[36481],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23581],"v":[{"k":[35797],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[35813],"v":[{"k":[96],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[121],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[20540],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26597,27979],"v":[{"d":{"df":1,"dc":[[82,1]]},"k":[26159,25191,27979],"v":[{"k":[21542],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[19,1]]}}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[20026],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]}]}]}]}]},{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[23436],"v":[{"k":[25972],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[21450],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[20889],"v":[{"k":[38169],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[58,1]]}}]},{"k":[24573,25243,36755,20570,21046,22788],"v":[{"k":[30053],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[19981],"v":[{"k":[20860],"v":[{"k":[23481],"v":[{"k":[24211],"v":[{"k":[30340],"v":[{"k":[35686],"v":[{"k":[21578],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[20986],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]},{"k":[20837],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[35813],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[28857],"v":[{"k":[25991],"v":[{"k":[31456],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]},{"k":[20316],"v":[{"k":[31934],"v":[{"k":[32654],"v":[{"k":[30340],"v":[{"k":[30005],"v":[{"k":[23376],"v":[{"k":[20070],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]},{"k":[29702],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]},{"k":[38376,21475],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[25991,65292],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[48,1]]},"k":[24341],"v":[{"k":[20837],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[25903],"v":[{"k":[25345],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"k":[65288],"v":[{"k":[50],"v":[{"k":[107],"v":[{"k":[98],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24615],"v":[{"k":[36716,26657,30340],"v":[{"k":[25442],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[39564],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"d":{"df":1,"dc":[[23,1]]}}]}]},{"k":[25216,22242,26102,23398],"v":[{"k":[24039],"v":[{"d":{"df":1,"dc":[[20,1]]}}]},{"k":[38431],"v":[{"k":[30340],"v":[{"k":[20248,21155],"v":[{"k":[21183],"v":[{"d":{"df":1,"dc":[[95,1]]}}]},{"k":[21183],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[101,1]]},"k":[65292],"v":[{"k":[32780],"v":[{"k":[20320],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]},{"k":[29983],"v":[{"k":[37117],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[21477],"v":[{"k":[21475],"v":[{"k":[21495],"v":[{"k":[21483],"v":[{"k":[65306],"v":[{"k":[8220],"v":[{"k":[24503],"v":[{"k":[26234],"v":[{"k":[20307],"v":[{"k":[32654],"v":[{"k":[21171],"v":[{"k":[20840],"v":[{"k":[38754],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[8221],"v":[{"k":[65292],"v":[{"k":[32844],"v":[{"k":[22330],"v":[{"k":[20154],"v":[{"k":[26356],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[25105],"v":[{"k":[20063],"v":[{"k":[36865],"v":[{"k":[20320],"v":[{"k":[19968],"v":[{"k":[21477],"v":[{"k":[21475],"v":[{"k":[21495],"v":[{"k":[65306],"v":[{"k":[8220],"v":[{"k":[19968],"v":[{"k":[19987],"v":[{"k":[22810],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[39640],"v":[{"k":[34218],"v":[{"k":[19981],"v":[{"k":[38590],"v":[{"k":[12290],"v":[{"k":[8221],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23569],"v":[{"k":[19981],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]}]},{"k":[29702,27493,26159,26102,20107,26679],"v":[{"k":[65292],"v":[{"k":[38500],"v":[{"k":[20102],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[20195],"v":[{"k":[30721],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]},{"k":[36941],"v":[{"k":[21382],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[22823],"v":[{"k":[19981],"v":[{"k":[21516],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201,65292,36827],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[20063],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[25163],"v":[{"k":[21160],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[22909],"v":[{"k":[22312],"v":[{"k":[65292],"v":[{"k":[112],"v":[{"k":[109],"v":[{"k":[50],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[30340],"v":[{"k":[36824],"v":[{"k":[26377],"v":[{"k":[25380],"v":[{"k":[29273],"v":[{"k":[33167],"v":[{"k":[65292],"v":[{"k":[24456],"v":[{"k":[38543],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[20174],"v":[{"k":[20013],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[20174],"v":[{"k":[22836],"v":[{"k":[37096],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[20174],"v":[{"k":[26681],"v":[{"k":[37096],"v":[{"k":[65292],"v":[{"k":[25353],"v":[{"k":[21040],"v":[{"k":[21738],"v":[{"k":[23601],"v":[{"k":[25380],"v":[{"k":[21738],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[97,1]]}},{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[25913],"v":[{"d":{"df":2,"dc":[[20,2],[57,1]]},"k":[20027,21018,96,65306],"v":[{"k":[39064],"v":[{"k":[44],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[20027],"v":[{"k":[39064],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]},{"k":[25165],"v":[{"k":[30340],"v":[{"k":[21457],"v":[{"k":[36865],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]},{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[102],"v":[{"k":[105],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[20026],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]}}]}]},{"k":[22686,20154,24314,25171,23494],"v":[{"k":[24341,20102],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[20,2]]}}]},{"k":[37325],"v":[{"k":[21629],"v":[{"k":[21517],"v":[{"k":[21644],"v":[{"k":[20999],"v":[{"k":[25442],"v":[{"k":[21551],"v":[{"k":[29992],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[30340],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[20877],"v":[{"k":[23637],"v":[{"k":[24320],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65292],"v":[{"k":[36739],"v":[{"k":[20026],"v":[{"k":[36731],"v":[{"k":[37327],"v":[{"k":[65292],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[19978],"v":[{"k":[25163],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[44,1]]},"k":[19968,20195,39033,27969],"v":[{"k":[20010],"v":[{"k":[31354,20195],"v":[{"k":[39033,30340],"v":[{"k":[30446],"v":[{"k":[44],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]}]},{"d":{"df":2,"dc":[[26,1],[92,1]]}}]},{"k":[30721],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[33509],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[21462],"v":[{"k":[21517],"v":[{"k":[20026],"v":[{"k":[12304],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[12305],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[29992],"v":[{"k":[26469],"v":[{"k":[25918],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30721],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[30446],"v":[{"d":{"df":1,"dc":[[51,1]]}}]},{"k":[31243],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]},{"k":[24320],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[30721],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]},{"k":[25442],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[20195,20026],"v":[{"k":[30721],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"d":{"df":1,"dc":[[59,1]]}}]}]},{"k":[25104,27963],"v":[{"d":{"df":2,"dc":[[20,1],[45,1]]},"k":[30340,19968,20070,12290],"v":[{"d":{"df":1,"dc":[[20,2]]}},{"k":[20010],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[100],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[23545],"v":[{"k":[35937],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[29983],"v":[{"k":[23384],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[37117],"v":[{"k":[20445],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[21517],"v":[{"k":[20026],"v":[{"k":[92],"v":[{"k":[95],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[26412],"v":[{"k":[24212],"v":[{"k":[20048],"v":[{"k":[22312],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[12289],"v":[{"k":[29702],"v":[{"k":[24819],"v":[{"k":[12289],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[37117],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[29983],"v":[{"k":[27963],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20010],"v":[{"k":[23567],"v":[{"k":[29615],"v":[{"k":[33410],"v":[{"k":[32780],"v":[{"k":[24050],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[19981],"v":[{"k":[24212],"v":[{"k":[30446],"v":[{"k":[30340],"v":[{"k":[24615],"v":[{"k":[22826],"v":[{"k":[24378],"v":[{"k":[65292],"v":[{"k":[23558],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[25104],"v":[{"k":[21592],"v":[{"k":[24403],"v":[{"k":[25104],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[30340],"v":[{"k":[26426],"v":[{"k":[22120],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24335],"v":[{"k":[25991,21015],"v":[{"k":[26723],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[23548],"v":[{"k":[20986],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[21270],"v":[{"d":{"df":1,"dc":[[20,2]]}}]}]}]}]}]}]}]}]}]},{"k":[34920],"v":[{"k":[36755],"v":[{"k":[20986],"v":[{"k":[65292],"v":[{"k":[35753],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[21435],"v":[{"k":[20889],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[23432],"v":[{"k":[25252],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[25972],"v":[{"k":[21512],"v":[{"k":[21040],"v":[{"k":[24050],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[36816],"v":[{"k":[32500],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[20013],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38382],"v":[{"d":{"df":1,"dc":[[20,1]]},"k":[26469,30340],"v":[{"k":[28304],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]},{"k":[22495],"v":[{"k":[21517],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[21160,29992],"v":[{"k":[33050,26381,39033,27979],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[59,1]]},"k":[20462,21518],"v":[{"k":[25913],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]},{"k":[38754],"v":[{"k":[30340],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[21547],"v":[{"k":[20041],"v":[{"k":[65292],"v":[{"k":[20174],"v":[{"k":[24038],"v":[{"k":[33267],"v":[{"k":[21491],"v":[{"k":[20381],"v":[{"k":[27425],"v":[{"k":[20026],"v":[{"k":[65306],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[65292],"v":[{"k":[20572],"v":[{"k":[27490],"v":[{"k":[65292],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[65292],"v":[{"k":[26597],"v":[{"k":[30475],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21153],"v":[{"d":{"df":1,"dc":[[55,1]]},"k":[22120],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]},{"d":{"df":1,"dc":[[78,1]]},"k":[30446],"v":[{"d":{"df":1,"dc":[[85,1]]}}]},{"k":[35797],"v":[{"k":[33050],"v":[{"k":[26412],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]},{"k":[20027],"v":[{"k":[39064],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]},{"k":[25991],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[20,1]]}}]}]}]}]},{"k":[29616,22312,38469,36341],"v":[{"d":{"df":2,"dc":[[21,1],[109,1]]},"k":[65292,20195,21069,41,26356],"v":[{"k":[25152,112],"v":[{"k":[20197],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[36319],"v":[{"k":[19978],"v":[{"k":[38754],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]},{"k":[97],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[108],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]},{"k":[30721],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[21518],"v":[{"k":[31471],"v":[{"k":[20998],"v":[{"k":[31163],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]},{"k":[22810],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"d":{"df":1,"dc":[[99,2]]}}]}]}]}]}]},{"k":[26159],"v":[{"k":[22826],"v":[{"k":[24930],"v":[{"k":[22826],"v":[{"k":[20667],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]},{"k":[19978],"v":[{"d":{"df":1,"dc":[[68,1]]},"k":[24605,24050],"v":[{"k":[36335],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26159],"v":[{"k":[22312],"v":[{"k":[20889],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[20889],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[30340],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[19981],"v":[{"k":[26029],"v":[{"k":[30340],"v":[{"k":[25913],"v":[{"k":[36827],"v":[{"k":[21644],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32463],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[24378],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[103,1]]},"k":[20986,65306],"v":[{"k":[30495],"v":[{"k":[30693],"v":[{"k":[65292],"v":[{"k":[23567],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[26377],"v":[{"k":[36275],"v":[{"k":[22815],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[26426],"v":[{"k":[20250],"v":[{"k":[38203],"v":[{"k":[28860],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[23454],"v":[{"k":[36341],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"k":[26159],"v":[{"k":[25361],"v":[{"k":[25112],"v":[{"k":[20134],"v":[{"k":[26159],"v":[{"k":[26426],"v":[{"k":[36935],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[105,1]]}}]}]},{"k":[23376],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[21,1]]}}]}]},{"k":[29702,20110,20851],"v":[{"k":[26381,38169,28040,30340,22120,21069,25509,21518,19978,20854,26222,35831,38656,30331,36335],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[22,1]]}}]}]}]}]},{"k":[35823],"v":[{"d":{"df":1,"dc":[[24,1]]}}]},{"k":[24687],"v":[{"d":{"df":1,"dc":[[24,1]]}}]},{"k":[20219],"v":[{"k":[21153],"v":[{"k":[20998,21015],"v":[{"k":[21035],"v":[{"k":[20026],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[48,2]]}}]}]}]},{"k":[34920],"v":[{"d":{"df":1,"dc":[[48,3]]}}]}]}]}]},{"k":[20027],"v":[{"k":[39057],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]},{"k":[31471],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[21475],"v":[{"k":[21453],"v":[{"k":[21521],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[31471],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[20256],"v":[{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[20182],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[36890],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]},{"k":[27714],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]},{"k":[35201],"v":[{"d":{"df":1,"dc":[[69,3]]},"k":[30331],"v":[{"k":[24405],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[30340],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[24405],"v":[{"k":[36229],"v":[{"k":[26102],"v":[{"k":[40],"v":[{"k":[49],"v":[{"k":[23567],"v":[{"k":[26102],"v":[{"k":[41],"v":[{"k":[44],"v":[{"k":[25552],"v":[{"k":[21069],"v":[{"k":[49],"v":[{"k":[48],"v":[{"k":[20998],"v":[{"k":[38047],"v":[{"k":[37325],"v":[{"k":[26032],"v":[{"k":[33719],"v":[{"k":[21462],"v":[{"k":[97],"v":[{"k":[117],"v":[{"k":[116],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30001],"v":[{"k":[20998],"v":[{"k":[21457],"v":[{"k":[30340],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[29615],"v":[{"k":[33410],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[36127],"v":[{"k":[36733],"v":[{"k":[22343],"v":[{"k":[34913],"v":[{"k":[30340],"v":[{"k":[38656],"v":[{"k":[27714],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]},{"k":[38381],"v":[{"k":[65292],"v":[{"k":[8220],"v":[{"k":[21462],"v":[{"k":[28040],"v":[{"k":[8221],"v":[{"k":[25353],"v":[{"k":[38062],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[30041],"v":[{"k":[19979],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31243],"v":[{"k":[22270,65306],"v":[{"d":{"df":2,"dc":[[23,1],[43,2]]},"k":[12289,65306,65292],"v":[{"k":[26102],"v":[{"k":[24207],"v":[{"k":[22270],"v":[{"k":[12289],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[22270],"v":[{"k":[31561],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[25216],"v":[{"k":[33021],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[74,1]]}},{"k":[31034],"v":[{"k":[20363],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[89,1]]}}]}]},{"k":[20363,19968,20010,20960],"v":[{"k":[26680,58,35828,65292],"v":[{"k":[24515],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[12290],"v":[{"k":[20540],"v":[{"k":[24471],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[66,1]]}},{"k":[26126],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]},{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[19968],"v":[{"k":[33324],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[31181],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[65292],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[12289],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[25105],"v":[{"k":[35265],"v":[{"k":[36807],"v":[{"k":[30340],"v":[{"k":[20363],"v":[{"k":[23376],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]},{"k":[20363,31616,31245],"v":[{"k":[23376],"v":[{"k":[65306,65292],"v":[{"d":{"df":1,"dc":[[72,1]]},"k":[22312],"v":[{"k":[20844],"v":[{"k":[20132],"v":[{"k":[31449],"v":[{"k":[26377],"v":[{"k":[28165],"v":[{"k":[26970],"v":[{"k":[26126],"v":[{"k":[30333],"v":[{"k":[30340],"v":[{"k":[31449],"v":[{"k":[29260],"v":[{"k":[12289],"v":[{"k":[32780],"v":[{"k":[19988],"v":[{"k":[26377],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[31561],"v":[{"k":[36710],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[24110],"v":[{"k":[20320],"v":[{"k":[35299],"v":[{"k":[31572],"v":[{"k":[30340],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[19979],"v":[{"k":[65292],"v":[{"k":[21364],"v":[{"k":[38750],"v":[{"k":[35201],"v":[{"k":[25318],"v":[{"k":[20303],"v":[{"k":[19968],"v":[{"k":[36742],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20197],"v":[{"k":[19979],"v":[{"k":[26159],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[34892],"v":[{"k":[25253],"v":[{"k":[38169],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21333],"v":[{"k":[30340],"v":[{"k":[20363],"v":[{"k":[23376],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]},{"k":[24494],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[28857],"v":[{"k":[30340],"v":[{"k":[20363],"v":[{"k":[23376],"v":[{"k":[65292],"v":[{"k":[96],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[96],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010],"v":[{"k":[24120],"v":[{"k":[35265],"v":[{"k":[30340],"v":[{"k":[26775],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]},{"k":[26126],"v":[{"d":{"df":1,"dc":[[23,2]]}}]},{"k":[25968],"v":[{"k":[24517,36820,26102,32047],"v":[{"k":[39035],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24102],"v":[{"k":[26377],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]},{"k":[22238],"v":[{"k":[30340],"v":[{"k":[32447],"v":[{"k":[32034],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[20877],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[20989],"v":[{"k":[25968],"v":[{"k":[65292],"v":[{"k":[97],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[23,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[29,1]]}},{"k":[35745],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[30340],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26159,38656,37117,33021,21487,23384,20250,31639,20687,20889,25226,34987],"v":[{"k":[36814,21487],"v":[{"k":[25509],"v":[{"d":{"df":1,"dc":[[23,1]]}}]},{"k":[20197],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[36828],"v":[{"k":[31243],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[30340],"v":[{"k":[34394],"v":[{"k":[25311],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[30340],"v":[{"k":[21629],"v":[{"k":[21517],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[24102],"v":[{"k":[19978],"v":[{"k":[29305],"v":[{"k":[23450],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[21517],"v":[{"k":[31216],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[21069],"v":[{"k":[32512],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35013],"v":[{"k":[22312],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]},{"k":[22815],"v":[{"k":[35843],"v":[{"k":[20986],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]},{"k":[20197],"v":[{"k":[20351,28155,28385],"v":[{"k":[24471],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[36890],"v":[{"k":[37197],"v":[{"k":[31526],"v":[{"k":[21305],"v":[{"k":[37197],"v":[{"k":[30340],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[65292],"v":[{"k":[27704],"v":[{"k":[20037],"v":[{"k":[30340],"v":[{"k":[65288],"v":[{"k":[21363],"v":[{"k":[20197],"v":[{"k":[21518],"v":[{"k":[27983],"v":[{"k":[35272],"v":[{"k":[36825],"v":[{"k":[20123],"v":[{"k":[32593],"v":[{"k":[31449],"v":[{"k":[37117],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"k":[21040],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]},{"k":[36275],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"k":[22312],"v":[{"k":[25935],"v":[{"k":[24863],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[27844],"v":[{"k":[38706],"v":[{"k":[30340],"v":[{"k":[39118],"v":[{"k":[38505],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[25226],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[22312],"v":[{"k":[20869],"v":[{"k":[23384],"v":[{"k":[65292],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[20877],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21035],"v":[{"k":[20154],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[27169],"v":[{"k":[20223],"v":[{"k":[20320],"v":[{"k":[35828],"v":[{"k":[35805],"v":[{"k":[30340],"v":[{"k":[21160],"v":[{"k":[20316],"v":[{"k":[12289],"v":[{"k":[35821],"v":[{"k":[27668],"v":[{"k":[21644],"v":[{"k":[31070],"v":[{"k":[24773],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[30475],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[20993],"v":[{"k":[38075],"v":[{"k":[30340],"v":[{"k":[30524],"v":[{"k":[20809],"v":[{"k":[21644],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[25152],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[27169],"v":[{"k":[20223],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25105,25644],"v":[{"k":[20204],"v":[{"k":[22312,20174],"v":[{"k":[19978],"v":[{"k":[23398],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[20063],"v":[{"k":[37117],"v":[{"k":[22312],"v":[{"k":[25552],"v":[{"k":[20513],"v":[{"k":[24503],"v":[{"k":[26234],"v":[{"k":[20307],"v":[{"k":[20840],"v":[{"k":[38754],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[19968],"v":[{"k":[26679],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23567],"v":[{"k":[21548],"v":[{"k":[30340],"v":[{"k":[25925],"v":[{"k":[20107],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"k":[30742],"v":[{"k":[19968],"v":[{"k":[26679],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]},{"k":[19981],"v":[{"k":[20986],"v":[{"k":[22909],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[26102],"v":[{"k":[38388],"v":[{"k":[21448],"v":[{"k":[28010],"v":[{"k":[36153],"v":[{"k":[25481],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"k":[20044],"v":[{"k":[40863],"v":[{"k":[36229],"v":[{"k":[20102],"v":[{"k":[36807],"v":[{"k":[21435],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"k":[22238],"v":[{"d":{"df":1,"dc":[[32,2]]},"k":[32473,20540,19968,38169,32467],"v":[{"k":[39029],"v":[{"k":[38754],"v":[{"k":[59],"v":[{"d":{"df":1,"dc":[[23,2]]}}]}]}]},{"d":{"df":2,"dc":[[29,1],[30,1]]}},{"k":[20010],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]},{"k":[35823],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]},{"k":[26524],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]},{"k":[36339,20013,24577],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[24,1]]}}]}]}]},{"k":[20808],"v":[{"k":[26377],"v":[{"k":[20010],"v":[{"k":[26775],"v":[{"k":[27010],"v":[{"k":[65292],"v":[{"k":[21015],"v":[{"k":[20986],"v":[{"k":[21015],"v":[{"k":[34920],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[28014],"v":[{"k":[36481],"v":[{"k":[19981],"v":[{"k":[25307],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]},{"k":[38754],"v":[{"k":[31471],"v":[{"k":[12289],"v":[{"k":[31227],"v":[{"k":[21160],"v":[{"k":[31471],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]},{"k":[30830],"v":[{"k":[20998,21463,24403],"v":[{"k":[24037],"v":[{"k":[30340],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[65306],"v":[{"k":[22914],"v":[{"k":[26377],"v":[{"k":[19987],"v":[{"k":[20154],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[36127],"v":[{"k":[36131],"v":[{"d":{"df":1,"dc":[[25,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20247],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[65292],"v":[{"k":[26126],"v":[{"k":[30830],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[24555],"v":[{"k":[36895],"v":[{"k":[36845],"v":[{"k":[20195],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21069],"v":[{"k":[35201],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[25104],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35299,35770],"v":[{"d":{"df":1,"dc":[[25,1]]}},{"k":[8212],"v":[{"k":[8212],"v":[{"k":[8220],"v":[{"k":[26080],"v":[{"k":[20026],"v":[{"k":[8221],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]},{"k":[24490],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[118],"v":[{"k":[112],"v":[{"k":[96],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26377,27809],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[24341,25171],"v":[{"k":[20837],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[20214],"v":[{"k":[47],"v":[{"k":[24211],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]},{"k":[21253],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[24819],"v":[{"k":[30528],"v":[{"k":[36825],"v":[{"k":[20040],"v":[{"k":[21435],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19988,25226,20197,25552,36827,28155,19981,38750],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]},"k":[33021,38656],"v":[{"k":[25353],"v":[{"k":[26102],"v":[{"k":[39640],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[20132],"v":[{"k":[20184],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[27880],"v":[{"k":[24847],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]},{"k":[23427],"v":[{"k":[24038],"v":[{"k":[20391],"v":[{"k":[30340],"v":[{"k":[24320],"v":[{"k":[20851],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35813],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[21629],"v":[{"k":[21517],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]},{"k":[20379],"v":[{"k":[28436],"v":[{"k":[31034],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]},{"k":[34892],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[35774],"v":[{"k":[22791],"v":[{"k":[32465],"v":[{"k":[23450],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"d":{"df":1,"dc":[[70,1]]}}]},{"k":[26159,22312,33021],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[19978],"v":[{"k":[35268],"v":[{"k":[27169],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[30340],"v":[{"k":[36890],"v":[{"k":[30149],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[21364],"v":[{"k":[26159],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[12290],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[21040],"v":[{"k":[19968],"v":[{"k":[23450],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[20250],"v":[{"k":[34987],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[12289],"v":[{"k":[21046],"v":[{"k":[24230],"v":[{"k":[32641],"v":[{"k":[32458],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[24847],"v":[{"k":[20041],"v":[{"k":[30340],"v":[{"k":[36208],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[20250],"v":[{"k":[32829],"v":[{"k":[35823],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[24037],"v":[{"k":[22827],"v":[{"k":[12290],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"k":[24576],"v":[{"k":[30097],"v":[{"k":[65292],"v":[{"k":[26519],"v":[{"k":[23376],"v":[{"k":[22823],"v":[{"k":[20102],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[40479],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[24635],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[20123],"v":[{"k":[25302],"v":[{"k":[27833],"v":[{"k":[29942],"v":[{"k":[22312],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[37324],"v":[{"k":[28151],"v":[{"k":[26085],"v":[{"k":[23376],"v":[{"k":[65292],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[35268],"v":[{"k":[27169],"v":[{"k":[22823],"v":[{"k":[20102],"v":[{"k":[20043],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[25552],"v":[{"k":[21069],"v":[{"k":[20859],"v":[{"k":[32769],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35828],"v":[{"k":[26159],"v":[{"k":[24456],"v":[{"k":[36731],"v":[{"k":[26494],"v":[{"k":[33021],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[35201],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[22826],"v":[{"k":[20316],"v":[{"k":[27515],"v":[{"k":[65292],"v":[{"k":[28151],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[27604],"v":[{"k":[36739],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20110],"v":[{"k":[20182],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[20102],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[24102],"v":[{"k":[26469],"v":[{"k":[26356],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[36129],"v":[{"k":[29486],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]},{"k":[22522,32463,20026],"v":[{"k":[26412],"v":[{"k":[25104],"v":[{"k":[22411],"v":[{"k":[46],"v":[{"d":{"df":2,"dc":[[26,2],[92,2]]}}]}]}]}]},{"k":[21551,23433],"v":[{"k":[21160],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[27983],"v":[{"k":[35272],"v":[{"k":[22120],"v":[{"k":[20013],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[35013],"v":[{"k":[65288],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[117],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[117],"v":[{"k":[65289],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[20320],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[31687],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[26102],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[35201],"v":[{"k":[24341],"v":[{"k":[20837],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]},{"k":[22312,26356,36827,35762],"v":[{"k":[21407],"v":[{"k":[26377],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[19978],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[25193],"v":[{"k":[20805],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26032],"v":[{"k":[44],"v":[{"k":[24182],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[27493],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[24635],"v":[{"k":[32467],"v":[{"k":[30340],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[20043],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[23398],"v":[{"k":[20250],"v":[{"k":[20030],"v":[{"k":[19968],"v":[{"k":[21453],"v":[{"k":[19977],"v":[{"k":[65292],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[26377],"v":[{"k":[25928],"v":[{"k":[35268],"v":[{"k":[36991],"v":[{"k":[30456],"v":[{"k":[20284],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35299],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[65292],"v":[{"k":[38024],"v":[{"k":[23545],"v":[{"k":[96],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[96],"v":[{"k":[30340],"v":[{"k":[34920],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968,27861,20837],"v":[{"k":[20010],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[31034,33050],"v":[{"k":[20363],"v":[{"k":[24341],"v":[{"k":[20837],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]},{"k":[26412],"v":[{"k":[36941],"v":[{"k":[21382],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[44],"v":[{"k":[22312],"v":[{"k":[26681],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968,20108],"v":[{"d":{"df":1,"dc":[[27,1]]}},{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[20844],"v":[{"k":[20849],"v":[{"k":[21306],"v":[{"k":[22495],"v":[{"k":[44],"v":[{"k":[19979],"v":[{"k":[27966],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[21040],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23545],"v":[{"k":[21333],"v":[{"k":[19968],"v":[{"k":[24211],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]},{"k":[21040,25509],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[24211],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"d":{"df":2,"dc":[[26,1],[92,1]]}}]}]}]}]}]}]}]},{"k":[20351,24341,20462,96],"v":[{"k":[29992],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]},{"k":[29992],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25913],"v":[{"d":{"df":1,"dc":[[61,1]]}}]},{"k":[102],"v":[{"k":[111],"v":[{"k":[114],"v":[{"k":[107],"v":[{"k":[96],"v":[{"k":[35813],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[32959],"v":[{"k":[44],"v":[{"k":[22841],"v":[{"k":[26434],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[22823],"v":[{"k":[22534],"v":[{"k":[27809],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[31532],"v":[{"k":[19977],"v":[{"k":[26041],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32500],"v":[{"k":[25252],"v":[{"k":[33],"v":[{"k":[33],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]},{"k":[26377,26159,38656,30693,35201],"v":[{"k":[22312,21028,19968],"v":[{"k":[39057],"v":[{"k":[32321],"v":[{"k":[22320],"v":[{"k":[25509],"v":[{"k":[35302],"v":[{"k":[21644],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[25366],"v":[{"k":[25496],"v":[{"k":[26356],"v":[{"k":[20248],"v":[{"k":[30340],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26029],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[27969],"v":[{"k":[21521],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[20313],"v":[{"k":[22343],"v":[{"k":[20026],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21040],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[20013],"v":[{"k":[24515],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]},{"k":[24490,32534,19968],"v":[{"k":[29615],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[36753],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[104,2]]}}]}]}]}]}]},{"k":[20010],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[20026],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36947],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[20855],"v":[{"k":[20307],"v":[{"k":[20986],"v":[{"k":[38169],"v":[{"k":[20301],"v":[{"k":[32622],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[26681],"v":[{"k":[25454],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[24456],"v":[{"k":[24555],"v":[{"k":[23450],"v":[{"k":[20301],"v":[{"k":[21040],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22242],"v":[{"k":[38431],"v":[{"k":[25104],"v":[{"k":[21592],"v":[{"k":[20013],"v":[{"k":[26377],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[19968],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[24863],"v":[{"k":[21040],"v":[{"k":[36855],"v":[{"k":[33579],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20154,20219,27979,32452,20989,27169,26426,23567],"v":[{"k":[25512,24314,25104],"v":[{"k":[33616],"v":[{"k":[20197],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[20026],"v":[{"k":[96],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[40],"v":[{"k":[22522],"v":[{"k":[20934],"v":[{"k":[41],"v":[{"k":[44],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[24494],"v":[{"k":[35843],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35758],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[20026],"v":[{"k":[21608],"v":[{"k":[22235],"v":[{"k":[65292],"v":[{"k":[24403],"v":[{"k":[28982],"v":[{"k":[21608],"v":[{"k":[19977],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26080],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[31243],"v":[{"k":[24230],"v":[{"k":[36798],"v":[{"k":[21040],"v":[{"k":[32039],"v":[{"k":[24613],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[21484],"v":[{"k":[24320],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38271],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]},{"k":[21153],"v":[{"d":{"df":1,"dc":[[48,2]]}}]},{"k":[35797],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[65292],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]},{"k":[32455],"v":[{"k":[65288],"v":[{"k":[19978],"v":[{"k":[19979],"v":[{"k":[32423],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[22797],"v":[{"k":[29992],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[26080],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"k":[30340],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[28085],"v":[{"k":[30422],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[33539],"v":[{"k":[22260],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25968],"v":[{"k":[65292,37117],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[24471],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[22909],"v":[{"k":[65307],"v":[{"k":[28982],"v":[{"k":[32780],"v":[{"k":[19968],"v":[{"k":[26086],"v":[{"k":[20320],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20989],"v":[{"k":[25968],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20570],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[39640],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[30340],"v":[{"k":[21518],"v":[{"k":[26524],"v":[{"k":[12290],"v":[{"k":[19968],"v":[{"k":[26086],"v":[{"k":[20320],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"k":[20102],"v":[{"k":[23427],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[32534],"v":[{"k":[20889],"v":[{"k":[27010],"v":[{"k":[35201],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[31867],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[20250],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[21040],"v":[{"k":[8220],"v":[{"k":[39640],"v":[{"k":[20869],"v":[{"k":[32858],"v":[{"k":[65292],"v":[{"k":[20302],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[8221],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22359],"v":[{"k":[20043],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[36816],"v":[{"k":[20316],"v":[{"k":[12290],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[20030],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[25105],"v":[{"k":[20030],"v":[{"k":[36807],"v":[{"k":[30340],"v":[{"k":[20363],"v":[{"k":[23376],"v":[{"k":[65306],"v":[{"k":[23458],"v":[{"k":[25143],"v":[{"k":[35201],"v":[{"k":[27714],"v":[{"k":[22312],"v":[{"k":[30028],"v":[{"k":[38754],"v":[{"k":[19978],"v":[{"k":[22686],"v":[{"k":[21152],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[35201],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[20960],"v":[{"k":[20010],"v":[{"k":[22320],"v":[{"k":[26041],"v":[{"k":[21602],"v":[{"k":[65311],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[21482],"v":[{"k":[35201],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[26500],"v":[{"k":[26550],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[20302],"v":[{"k":[24378],"v":[{"k":[24230],"v":[{"k":[30340],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[36825],"v":[{"k":[31181],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21046],"v":[{"k":[26469],"v":[{"k":[38477],"v":[{"k":[20302],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[30340],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[39057],"v":[{"k":[27425],"v":[{"k":[65306],"v":[{"k":[96],"v":[{"k":[25209],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26102],"v":[{"k":[65311,23436,44,30340],"v":[{"k":[20026],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[25343],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[39640],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[36164],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[20320],"v":[{"k":[21364],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[28857],"v":[{"k":[65311],"v":[{"k":[20026],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[21019],"v":[{"k":[19994],"v":[{"k":[38543],"v":[{"k":[38543],"v":[{"k":[20415],"v":[{"k":[20415],"v":[{"k":[25630],"v":[{"k":[28857],"v":[{"k":[21160],"v":[{"k":[20316],"v":[{"k":[23601],"v":[{"k":[26377],"v":[{"k":[22823],"v":[{"k":[25226],"v":[{"k":[22823],"v":[{"k":[25226],"v":[{"k":[30340],"v":[{"k":[38065],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[20320],"v":[{"k":[21364],"v":[{"k":[27424],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[23617],"v":[{"k":[32929],"v":[{"k":[20538],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25104],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]},{"d":{"df":1,"dc":[[99,1]]}},{"k":[20250],"v":[{"k":[35758],"v":[{"k":[31934],"v":[{"k":[31070],"v":[{"k":[32477],"v":[{"k":[23545],"v":[{"k":[36275],"v":[{"k":[22815],"v":[{"k":[19968],"v":[{"k":[21608],"v":[{"k":[37117],"v":[{"k":[20805],"v":[{"k":[23454],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"k":[22823],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[37117],"v":[{"k":[29992],"v":[{"k":[26469],"v":[{"k":[24320],"v":[{"k":[20250],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[26469],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[21602],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21697],"v":[{"k":[29615,31649,30740],"v":[{"k":[22659],"v":[{"d":{"df":1,"dc":[[68,1]]},"k":[37197,20381,21152],"v":[{"k":[32622],"v":[{"k":[20026],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]},{"k":[36182],"v":[{"d":{"df":1,"dc":[[51,1]]}}]},{"k":[20837],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]},{"k":[29702],"v":[{"d":{"df":1,"dc":[[74,1]]}}]},{"k":[21457],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]},{"k":[19968,20837,29677],"v":[{"k":[39033],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]},{"k":[36335],"v":[{"k":[30001],"v":[{"k":[23646],"v":[{"k":[24615],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]},{"k":[34917],"v":[{"k":[36148],"v":[{"k":[65292],"v":[{"k":[25903],"v":[{"k":[20184],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[39069],"v":[{"k":[22806],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[21152],"v":[{"k":[29677],"v":[{"k":[36153],"v":[{"k":[21450],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[39184],"v":[{"k":[34917],"v":[{"k":[12289],"v":[{"k":[20132],"v":[{"k":[36890],"v":[{"k":[34917],"v":[{"k":[36148],"v":[{"k":[31561],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20204],"v":[{"k":[30340],"v":[{"k":[24213],"v":[{"k":[23618],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[21478,26159,21407,35760,26377],"v":[{"k":[22806],"v":[{"k":[22871],"v":[{"k":[20102],"v":[{"k":[35768],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[23553],"v":[{"k":[35013],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[26,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[33,1],[65,1]]},"k":[116],"v":[{"k":[114],"v":[{"k":[117],"v":[{"k":[101],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[26159],"v":[{"k":[32531],"v":[{"k":[23384],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[105],"v":[{"k":[115],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[20010],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[65292],"v":[{"k":[24517],"v":[{"k":[39035],"v":[{"k":[25552],"v":[{"k":[20379],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20855],"v":[{"k":[20307],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24471],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]},{"k":[20854,19968,36825],"v":[{"k":[20182],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]},{"k":[20123],"v":[{"k":[36890],"v":[{"k":[29992],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[31867],"v":[{"k":[44],"v":[{"k":[38057],"v":[{"k":[23376],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26679],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]},{"k":[29992,20026,32773],"v":[{"k":[22495],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[31532,21442],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[35843],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[30,1]]}}]}]}]}]},{"k":[25968],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[21435],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[37319],"v":[{"k":[29992],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25139],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[40],"v":[{"k":[32534],"v":[{"k":[36753],"v":[{"k":[41],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[31456],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27425,21452],"v":[{"d":{"df":1,"dc":[[27,1]]}},{"k":[31607],"v":[{"k":[23376],"v":[{"k":[29282],"v":[{"k":[29282],"v":[{"k":[25265],"v":[{"k":[25104],"v":[{"k":[22242],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]},{"k":[21253,38376],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[27,1]]}}]},{"k":[36896],"v":[{"k":[36710],"v":[{"k":[65292],"v":[{"k":[20986],"v":[{"k":[38376],"v":[{"k":[21512],"v":[{"k":[36761],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[24403],"v":[{"k":[20170],"v":[{"k":[30340],"v":[{"k":[31038],"v":[{"k":[20250],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[19981],"v":[{"k":[20877],"v":[{"k":[36866],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":5,"dc":[[27,2],[35,3],[36,1],[69,1],[82,1]]},"k":[47,26412,12290,26080],"v":[{"k":[100],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[22320],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"d":{"df":1,"dc":[[52,1]]}},{"k":[21487],"v":[{"k":[26367],"v":[{"k":[20195],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[30721],"v":[{"k":[20892],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[20889],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[37324],"v":[{"k":[19968],"v":[{"k":[34892],"v":[{"k":[27880],"v":[{"k":[37322],"v":[{"k":[37117],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[65292],"v":[{"k":[21464],"v":[{"k":[37327],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[21629],"v":[{"k":[21517],"v":[{"k":[36830],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[37117],"v":[{"k":[30475],"v":[{"k":[19981],"v":[{"k":[25026],"v":[{"k":[65292],"v":[{"k":[20889],"v":[{"k":[30340],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[21644],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"k":[28195],"v":[{"k":[24471],"v":[{"k":[20687],"v":[{"k":[22376],"v":[{"k":[23630],"v":[{"k":[65292],"v":[{"k":[30830],"v":[{"k":[23454],"v":[{"k":[20063],"v":[{"k":[27809],"v":[{"k":[20154],"v":[{"k":[33021],"v":[{"k":[25509],"v":[{"k":[25163],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[27963],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[25512],"v":[{"k":[32763],"v":[{"k":[37325],"v":[{"k":[20570],"v":[{"k":[19968],"v":[{"k":[22871],"v":[{"k":[21526],"v":[{"k":[12290],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[21462],"v":[{"k":[20195],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[35770],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[20570],"v":[{"k":[24471],"v":[{"k":[27604],"v":[{"k":[20320],"v":[{"k":[26356],"v":[{"k":[22909],"v":[{"k":[12290],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[20063],"v":[{"k":[33021],"v":[{"k":[26377],"v":[{"k":[25104],"v":[{"k":[23601],"v":[{"k":[24863],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[21527],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35272],"v":[{"k":[22120],"v":[{"k":[20860,36755,25554],"v":[{"k":[23481],"v":[{"k":[24615],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]},{"k":[20837],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[20214],"v":[{"d":{"df":2,"dc":[[54,1],[58,1]]}}]}]}]}]},{"k":[22495],"v":[{"d":{"df":1,"dc":[[28,1]]}}]},{"k":[35777,20160],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[28,1]]}}]}]},{"k":[20040],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[27627],"v":[{"k":[19981],"v":[{"k":[21162],"v":[{"k":[21147],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27861,35328],"v":[{"d":{"df":2,"dc":[[29,1],[30,1]]},"k":[32534,30340],"v":[{"k":[36753],"v":[{"k":[25991],"v":[{"k":[31456],"v":[{"k":[44],"v":[{"k":[24320],"v":[{"k":[21551],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32534],"v":[{"k":[36753],"v":[{"k":[22120],"v":[{"k":[65288],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]},{"k":[25991,65288],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[93,1]]}}]},{"k":[25216],"v":[{"k":[26415],"v":[{"k":[65289],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[65292],"v":[{"k":[24110],"v":[{"k":[21161],"v":[{"k":[25105],"v":[{"k":[20204],"v":[{"k":[23558],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20010],"v":[{"k":[24819],"v":[{"k":[27861],"v":[{"k":[21019],"v":[{"k":[24847],"v":[{"k":[36716],"v":[{"k":[35793],"v":[{"k":[25104],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[12290],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[28866],"v":[{"k":[30340],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[25226],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[29992],"v":[{"k":[24471],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[28866],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[12290],"v":[{"k":[20063],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[29305],"v":[{"k":[21035],"v":[{"k":[23436],"v":[{"k":[32654],"v":[{"k":[30340],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[20063],"v":[{"k":[26377],"v":[{"k":[23558],"v":[{"k":[35821],"v":[{"k":[35328],"v":[{"k":[36816],"v":[{"k":[29992],"v":[{"k":[21040],"v":[{"k":[28107],"v":[{"k":[28435],"v":[{"k":[23613],"v":[{"k":[33268],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21521,23450,30340],"v":[{"k":[30340],"v":[{"k":[23545],"v":[{"k":[35937],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[29,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[78,1]]}},{"k":[19981],"v":[{"k":[26159],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[29992,24230,20986,38899],"v":[{"d":{"df":1,"dc":[[30,1]]}},{"k":[22788],"v":[{"k":[29702],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[20889],"v":[{"k":[22312],"v":[{"k":[36825],"v":[{"k":[20799],"v":[{"d":{"df":1,"dc":[[48,3]]}}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[57,1]]}},{"k":[37327],"v":[{"k":[19968],"v":[{"k":[23450],"v":[{"k":[35201],"v":[{"k":[35843],"v":[{"k":[21040],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[39034],"v":[{"k":[30524],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[23383],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36825],"v":[{"k":[26679],"v":[{"k":[65292,44,30340],"v":[{"k":[23558],"v":[{"d":{"df":1,"dc":[[32,1]]}}]},{"d":{"df":1,"dc":[[70,1]]}},{"k":[24773],"v":[{"k":[20917],"v":[{"k":[21457],"v":[{"k":[29983],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[22312],"v":[{"k":[23450],"v":[{"k":[26102],"v":[{"k":[22120],"v":[{"k":[30340],"v":[{"k":[22806],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[21040],"v":[{"k":[20869],"v":[{"k":[37096],"v":[{"k":[30340],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25417],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]},{"k":[34987,33258,20316,22312,23548,20135,30340,21069],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[32,1]]}}]}]}]}]}]},{"k":[21160],"v":[{"d":{"df":1,"dc":[[35,3]]}}]},{"k":[20026],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[33268],"v":[{"d":{"df":1,"dc":[[63,1]]}}]},{"k":[29983],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]},{"k":[22810],"v":[{"k":[20102],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[38169],"v":[{"k":[30340],"v":[{"k":[23601],"v":[{"k":[23569],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[25216],"v":[{"k":[22810],"v":[{"k":[19981],"v":[{"k":[21387],"v":[{"k":[36523],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20570],"v":[{"k":[22909],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[39044],"v":[{"k":[20272],"v":[{"k":[65292],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[23460],"v":[{"k":[25918],"v":[{"k":[32622],"v":[{"k":[38393],"v":[{"k":[38047],"v":[{"k":[23450],"v":[{"k":[26102],"v":[{"k":[22120],"v":[{"k":[65292],"v":[{"k":[20005],"v":[{"k":[26684],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35748],"v":[{"k":[20540,26159,20026,39033,21442,28304,30340],"v":[{"d":{"df":1,"dc":[[32,1]]}},{"k":[20174],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[19979],"v":[{"k":[21435],"v":[{"k":[25214],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[30340],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[42,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24403],"v":[{"k":[21069],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[20301],"v":[{"k":[32622],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]},{"k":[31105],"v":[{"k":[27490],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[25968],"v":[{"d":{"df":1,"dc":[[64,1]]}}]},{"k":[30721],"v":[{"k":[30340],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[26159],"v":[{"k":[115],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[99],"v":[{"k":[101],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[20214,26080,19994],"v":[{"k":[22996,32465,24182,20013],"v":[{"k":[27966],"v":[{"d":{"df":1,"dc":[[33,1]]}}]},{"k":[23450],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[36171],"v":[{"k":[20540],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]},{"k":[24515],"v":[{"d":{"df":1,"dc":[[75,1]]},"k":[40],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]},{"k":[24040],"v":[{"k":[32454],"v":[{"k":[65292],"v":[{"k":[20146],"v":[{"k":[21147],"v":[{"k":[20146],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[35201],"v":[{"k":[20026],"v":[{"k":[20043],"v":[{"k":[22859],"v":[{"k":[26007],"v":[{"k":[32456],"v":[{"k":[29983],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[23545],"v":[{"k":[25152],"v":[{"k":[20174],"v":[{"k":[20107],"v":[{"k":[30340],"v":[{"k":[32844],"v":[{"k":[19994],"v":[{"k":[19981],"v":[{"k":[24863],"v":[{"k":[20852],"v":[{"k":[36259],"v":[{"k":[65292],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[36225],"v":[{"k":[26089],"v":[{"k":[36716],"v":[{"k":[22411],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[20320],"v":[{"k":[28909],"v":[{"k":[29233],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[20320],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[24456],"v":[{"k":[21162],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"k":[24819],"v":[{"k":[19968],"v":[{"k":[24819],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[20123],"v":[{"k":[27604],"v":[{"k":[20320],"v":[{"k":[20248],"v":[{"k":[31168],"v":[{"k":[12289],"v":[{"k":[27604],"v":[{"k":[20320],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[22810],"v":[{"k":[12289],"v":[{"k":[27604],"v":[{"k":[20320],"v":[{"k":[24180],"v":[{"k":[36731],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[36824],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[36164],"v":[{"k":[26684],"v":[{"k":[19981],"v":[{"k":[21162],"v":[{"k":[21147],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27714,21442],"v":[{"k":[36820,12290,24418,65292,31867,30456,25509,36229],"v":[{"k":[22238],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[25353],"v":[{"k":[38062],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"d":{"df":1,"dc":[[33,1]]}}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[44,1]]}},{"k":[24335],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[33719],"v":[{"k":[21462],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[12290],"v":[{"k":[24046],"v":[{"k":[24322],"v":[{"k":[21270],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22411],"v":[{"k":[21644],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[20851],"v":[{"k":[23553],"v":[{"k":[35013],"v":[{"k":[24211],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]},{"k":[25910],"v":[{"k":[21040],"v":[{"k":[30340],"v":[{"k":[22823],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]},{"k":[26102],"v":[{"k":[26080],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]},{"k":[32771],"v":[{"k":[91],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[49],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[21382,65292],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[33,1]]}}]},{"k":[22312],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[19981],"v":[{"k":[22810],"v":[{"k":[12290,65292],"v":[{"d":{"df":1,"dc":[[33,1]]}},{"k":[20116],"v":[{"k":[24180],"v":[{"k":[30340],"v":[{"k":[20809],"v":[{"k":[26223],"v":[{"k":[65292],"v":[{"k":[36275],"v":[{"k":[20197],"v":[{"k":[35753],"v":[{"k":[20320],"v":[{"k":[30053],"v":[{"k":[26377],"v":[{"k":[23567],"v":[{"k":[25104],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25143],"v":[{"k":[31471],"v":[{"d":{"df":2,"dc":[[43,1],[59,1]]},"k":[35775,26631,27169,20256,65306],"v":[{"k":[38382],"v":[{"d":{"df":1,"dc":[[34,1]]}}]},{"k":[35782],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[47],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[48],"v":[{"k":[46],"v":[{"k":[48],"v":[{"d":{"df":1,"dc":[[38,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25311],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[21457],"v":[{"k":[36865],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]},{"k":[30340],"v":[{"k":[96],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[96],"v":[{"k":[44],"v":[{"k":[22312],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[20307],"v":[{"k":[20013],"v":[{"k":[26159],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[97],"v":[{"k":[112],"v":[{"k":[112],"v":[{"k":[108],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[112],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[116],"v":[{"k":[105],"v":[{"k":[101],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[109],"v":[{"k":[118],"v":[{"k":[118],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[93,1]]}}]}]}]}]}]}]}]},{"k":[25512],"v":[{"k":[33616],"v":[{"k":[30721],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[34,1]]}}]}]}]}]},{"k":[20307],"v":[{"d":{"df":1,"dc":[[35,1]]}}]},{"k":[101,111,115,104,34,120,108],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[35,2]]}}]},{"k":[109],"v":[{"k":[98],"v":[{"k":[105],"v":[{"k":[101],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]},{"k":[104],"v":[{"d":{"df":3,"dc":[[54,1],[61,2],[88,2]]},"k":[58,61],"v":[{"k":[42],"v":[{"k":[42],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]},{"k":[47],"v":[{"k":[114,104],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[111],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[46],"v":[{"k":[111],"v":[{"k":[104],"v":[{"k":[45],"v":[{"k":[109],"v":[{"k":[121],"v":[{"k":[45],"v":[{"k":[122],"v":[{"k":[115],"v":[{"k":[104],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[45],"v":[{"k":[99],"v":[{"k":[110],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]},{"k":[44],"v":[{"d":{"df":1,"dc":[[85,3]]}}]},{"k":[118],"v":[{"k":[102],"v":[{"d":{"df":1,"dc":[[88,5]]}}]}]},{"k":[105],"v":[{"k":[98],"v":[{"d":{"df":1,"dc":[[88,5]]},"k":[45],"v":[{"k":[49],"v":[{"k":[46],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[56],"v":[{"d":{"df":1,"dc":[[88,1]]},"k":[46],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[122],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20123],"v":[{"d":{"df":1,"dc":[[35,3]]}}]},{"d":{"df":1,"dc":[[35,3]]}},{"k":[20307],"v":[{"d":{"df":1,"dc":[[35,1]]}}]},{"k":[20307],"v":[{"d":{"df":1,"dc":[[35,1]]}}]},{"k":[23435],"v":[{"d":{"df":1,"dc":[[35,1]]},"k":[20307],"v":[{"k":[26159],"v":[{"k":[32321],"v":[{"k":[20307],"v":[{"k":[23383],"v":[{"k":[22411],"v":[{"d":{"df":1,"dc":[[35,1]]}}]}]}]}]}]}]}]},{"k":[21517,20154,35753],"v":[{"k":[21363,65292],"v":[{"k":[21487],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[21253],"v":[{"k":[25324],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[36186,38656],"v":[{"k":[20877],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[38065],"v":[{"k":[65292],"v":[{"k":[36319],"v":[{"k":[20320],"v":[{"k":[27809],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[12290],"v":[{"k":[20320],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21453],"v":[{"k":[30465],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[36186],"v":[{"k":[19981],"v":[{"k":[21040],"v":[{"k":[38065],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[19968],"v":[{"k":[39063],"v":[{"k":[32769],"v":[{"k":[40736],"v":[{"k":[23630],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]},{"k":[20132,39640,20379,31034],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[65292],"v":[{"k":[31867],"v":[{"k":[20284],"v":[{"k":[20110],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30913,32508],"v":[{"k":[30424],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]},{"k":[21512],"v":[{"k":[31454],"v":[{"k":[20105],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[69,1],[74,2]]},"k":[24320,20102,30340,19968],"v":[{"k":[25918],"v":[{"k":[25509,25991],"v":[{"k":[21475],"v":[{"d":{"df":1,"dc":[[74,1]]}}]},{"k":[26723],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]},{"d":{"df":1,"dc":[[85,1]]}},{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]},{"k":[25972],"v":[{"k":[22825],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[19987],"v":[{"k":[27880],"v":[{"k":[20110],"v":[{"k":[26410],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[65306,58],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[112],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]},{"d":{"df":1,"dc":[[89,1]]}}]}]},{"k":[21040,21160],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[36,1]]}}]},{"k":[24320],"v":[{"k":[21457],"v":[{"k":[8221],"v":[{"k":[20043],"v":[{"k":[31867],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[31508],"v":[{"k":[35797],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[25552],"v":[{"k":[38382],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27425],"v":[{"k":[25552],"v":[{"k":[20132],"v":[{"k":[30340],"v":[{"k":[29256],"v":[{"k":[26412],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[20013],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26797],"v":[{"k":[21069],"v":[{"k":[65292],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]},{"k":[29992],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[26032],"v":[{"k":[22686],"v":[{"k":[12289],"v":[{"k":[26356],"v":[{"k":[25913],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31614],"v":[{"k":[21517],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[21704],"v":[{"k":[24076],"v":[{"k":[20540],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[36,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[35770,31661,38656,22826,30693,38750,20026],"v":[{"k":[26159,20160,22312],"v":[{"d":{"df":1,"dc":[[37,1]]},"k":[38899,22810],"v":[{"k":[39057],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[35270],"v":[{"k":[39057],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[33021],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[30340],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20070],"v":[{"k":[26412],"v":[{"k":[22810],"v":[{"k":[12290],"v":[{"k":[30475],"v":[{"k":[20070],"v":[{"k":[12289],"v":[{"k":[30475],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[30340],"v":[{"k":[25991],"v":[{"k":[23383],"v":[{"k":[36164],"v":[{"k":[26009],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[21560],"v":[{"k":[25910],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[26368],"v":[{"k":[24555],"v":[{"k":[26368],"v":[{"k":[26377],"v":[{"k":[25928],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[65292],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[26080],"v":[{"k":[32842],"v":[{"k":[12289],"v":[{"k":[26368],"v":[{"k":[26543],"v":[{"k":[29157],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20255],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[22825],"v":[{"k":[25165],"v":[{"k":[44],"v":[{"k":[37117],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[20165],"v":[{"k":[20973],"v":[{"k":[19968],"v":[{"k":[24049],"v":[{"k":[20043],"v":[{"k":[21147],"v":[{"k":[25913],"v":[{"k":[21464],"v":[{"k":[19990],"v":[{"k":[30028],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20040],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32844],"v":[{"k":[19994],"v":[{"k":[30340],"v":[{"k":[21738],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[36339],"v":[{"k":[27133],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[36739],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[34218],"v":[{"k":[36164],"v":[{"k":[28072],"v":[{"k":[24133],"v":[{"k":[65292],"v":[{"k":[36339],"v":[{"k":[27133],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[35880],"v":[{"k":[24910],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[38500],"v":[{"k":[38750],"v":[{"k":[32852],"v":[{"k":[21512],"v":[{"k":[21019],"v":[{"k":[22987],"v":[{"k":[20154],"v":[{"k":[36523],"v":[{"k":[20221],"v":[{"k":[21152],"v":[{"k":[20837],"v":[{"k":[65292],"v":[{"k":[38477],"v":[{"k":[34218],"v":[{"k":[36339],"v":[{"k":[27133],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[21315],"v":[{"k":[19975],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[26377],"v":[{"k":[65292],"v":[{"k":[27605],"v":[{"k":[31455],"v":[{"k":[25343],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[38065],"v":[{"k":[20570],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[21033],"v":[{"k":[30410],"v":[{"k":[19981],"v":[{"k":[22826],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[28304],"v":[{"k":[28304],"v":[{"k":[19981],"v":[{"k":[26029],"v":[{"k":[30340],"v":[{"k":[21160],"v":[{"k":[21147],"v":[{"k":[36755],"v":[{"k":[20986],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22836],"v":[{"k":[23454,34394],"v":[{"k":[32447],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[32447],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"k":[20462],"v":[{"k":[25913],"v":[{"k":[44],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[22823],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[12304],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"k":[12305],"v":[{"k":[20013],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[27604],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[26356],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[33258],"v":[{"k":[20449],"v":[{"k":[12290],"v":[{"k":[8212],"v":[{"k":[8212],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36319],"v":[{"k":[32972],"v":[{"k":[24471],"v":[{"k":[30742],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[26080],"v":[{"k":[24046],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]},{"k":[19981],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[25152],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[26080],"v":[{"k":[25152],"v":[{"k":[20107],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[20570],"v":[{"k":[26080],"v":[{"k":[25928],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[20013],"v":[{"k":[24341],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[38745],"v":[{"k":[24577],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"k":[65288],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[28304],"v":[{"k":[20063,58],"v":[{"d":{"df":1,"dc":[[37,1]]}},{"d":{"df":1,"dc":[[76,1]]}}]}]},{"d":{"df":1,"dc":[[45,1]]},"k":[65292,12290],"v":[{"k":[23601],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[21152],"v":[{"k":[36733],"v":[{"k":[19981],"v":[{"k":[20986],"v":[{"k":[26469],"v":[{"k":[12290],"v":[{"k":[25226],"v":[{"k":[24341],"v":[{"k":[29992],"v":[{"k":[36335],"v":[{"k":[24452],"v":[{"k":[25913],"v":[{"k":[20026],"v":[{"k":[32477],"v":[{"k":[23545],"v":[{"k":[36335],"v":[{"k":[24452],"v":[{"k":[21518],"v":[{"k":[23601],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[37,1]]}}]},{"k":[19978],"v":[{"k":[28304],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[20301],"v":[{"k":[20110],"v":[{"k":[65306],"v":[{"k":[60],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[109],"v":[{"k":[47],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[108],"v":[{"k":[47],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[45],"v":[{"k":[115],"v":[{"k":[112],"v":[{"k":[97],"v":[{"k":[45],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[109],"v":[{"k":[111],"v":[{"k":[62],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29702],"v":[{"k":[21644],"v":[{"k":[32479],"v":[{"k":[19968],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[37,1]]}}]}]}]}]}]},{"k":[35265,29992,35268],"v":[{"d":{"df":1,"dc":[[38,1]]}},{"k":[25805,21629,35821,24212,25554,24037],"v":[{"k":[20316],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]},{"k":[20196],"v":[{"d":{"df":2,"dc":[[45,1],[85,1]]},"k":[65306],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]},{"k":[27861],"v":[{"d":{"df":1,"dc":[[49,1]]}}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[54,2]]}}]},{"k":[20214],"v":[{"d":{"df":1,"dc":[[57,1]]}}]},{"k":[20855],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]},{"k":[30340,37197,26597,32467],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"k":[22823],"v":[{"k":[20307],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"k":[23601],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[35810],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[26500],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]},{"k":[37327],"v":[{"k":[21517,26469],"v":[{"k":[21463],"v":[{"k":[27745],"v":[{"k":[26579],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]},{"k":[20351],"v":[{"k":[29992],"v":[{"k":[40],"v":[{"k":[30001],"v":[{"k":[20110],"v":[{"k":[35813],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20010,29256,31867],"v":[{"k":[20989],"v":[{"k":[25968],"v":[{"k":[20043],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[24178],"v":[{"k":[25200],"v":[{"k":[44],"v":[{"k":[19968],"v":[{"k":[20294],"v":[{"k":[38169],"v":[{"k":[35823],"v":[{"k":[21457],"v":[{"k":[29983],"v":[{"k":[44],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[21521],"v":[{"k":[19979],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26412],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]},{"k":[25991],"v":[{"k":[26723],"v":[{"k":[23436],"v":[{"k":[21892],"v":[{"k":[31243],"v":[{"k":[24230],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[24335],"v":[{"k":[20889],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]},{"k":[20808,24320],"v":[{"k":[25191],"v":[{"k":[34892],"v":[{"k":[23436],"v":[{"k":[44],"v":[{"k":[36820],"v":[{"k":[22238],"v":[{"k":[35841],"v":[{"d":{"df":1,"dc":[[39,1]]}}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[65292],"v":[{"k":[35841],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]},{"k":[32034],"v":[{"d":{"df":2,"dc":[[43,1],[61,2]]},"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]},{"k":[38500],"v":[{"d":{"df":1,"dc":[[42,1]]},"k":[24403,20381,20803,39033,36335,35774,25991],"v":[{"k":[21069],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[21450],"v":[{"k":[23376],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[30340],"v":[{"k":[96],"v":[{"k":[46],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[103],"v":[{"k":[96],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"d":{"df":1,"dc":[[40,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36182],"v":[{"d":{"df":1,"dc":[[51,1]]}}]},{"k":[32032],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[30446],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[30001],"v":[{"k":[44],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[32456],"v":[{"k":[32467],"v":[{"k":[28857],"v":[{"k":[44],"v":[{"k":[21024],"v":[{"k":[38500],"v":[{"k":[20107],"v":[{"k":[20214],"v":[{"k":[20013],"v":[{"k":[24515],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22791],"v":[{"d":{"df":1,"dc":[[76,1]]}}]},{"k":[20214],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[23450],"v":[{"k":[35201],"v":[{"k":[28165],"v":[{"k":[31354],"v":[{"k":[22238],"v":[{"k":[25910],"v":[{"k":[31449],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"d":{"df":3,"dc":[[41,1],[63,1],[82,1]]},"k":[25554,30340,26465,20803],"v":[{"k":[20214],"v":[{"k":[21518],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]},{"k":[39033],"v":[{"k":[30446],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[51,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20214],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[27704],"v":[{"k":[20037],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"k":[30340],"v":[{"k":[22495],"v":[{"k":[21517],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32032],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]},{"k":[20284,22411],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[58],"v":[{"d":{"df":2,"dc":[[42,1],[77,1]]}}]},{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[37096],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[19979],"v":[{"k":[25289],"v":[{"k":[33756],"v":[{"k":[21333],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]},{"k":[20142,20869,34218],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[32858],"v":[{"k":[65292],"v":[{"k":[20302],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]},{"k":[20859],"v":[{"k":[24265],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[27611],"v":[{"k":[30149],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[29992,27490],"v":[{"k":[33258,65292],"v":[{"k":[21160],"v":[{"k":[28210],"v":[{"k":[26579],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]}]},{"k":[20197],"v":[{"k":[20813],"v":[{"k":[26500],"v":[{"k":[24314],"v":[{"k":[26085],"v":[{"k":[24535],"v":[{"k":[27844],"v":[{"k":[38706],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]},{"k":[30452,22312,20132],"v":[{"k":[25509],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]},{"k":[20250],"v":[{"k":[35758],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[39044,25509],"v":[{"k":[20064],"v":[{"k":[12290],"v":[{"k":[22312],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[30340],"v":[{"k":[20934],"v":[{"k":[22791],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[21253],"v":[{"k":[25324],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[20027],"v":[{"k":[39064],"v":[{"k":[12289],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[35752],"v":[{"k":[35770],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[32599],"v":[{"k":[21015],"v":[{"k":[12289],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[25972],"v":[{"k":[29702],"v":[{"k":[31561],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21548],"v":[{"k":[30005],"v":[{"k":[35805],"v":[{"k":[65292],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[31105],"v":[{"k":[38899],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22836],"v":[{"k":[25509],"v":[{"k":[32819],"v":[{"k":[24320],"v":[{"k":[23567],"v":[{"k":[20250],"v":[{"k":[65292],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[21482],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[22823],"v":[{"k":[23478],"v":[{"k":[37117],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[31169],"v":[{"k":[19979],"v":[{"k":[35752],"v":[{"k":[35770],"v":[{"k":[23433],"v":[{"k":[25490],"v":[{"k":[20250],"v":[{"k":[21518],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21015],"v":[{"k":[22270],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[29305],"v":[{"k":[22270],"v":[{"d":{"df":1,"dc":[[43,2]]}}]}]},{"k":[31243],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[26029],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[29992,26159],"v":[{"k":[25143],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[26377],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]},{"k":[21542],"v":[{"k":[26377],"v":[{"k":[26435],"v":[{"k":[38480],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]}]}]},{"k":[35843,21046,36843],"v":[{"d":{"df":1,"dc":[[43,1]]}},{"d":{"df":1,"dc":[[55,1]]}},{"k":[30151],"v":[{"k":[30340],"v":[{"k":[34920],"v":[{"k":[29616],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]},{"k":[24687,36153],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[26684,20307,34920],"v":[{"k":[24335],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[31034],"v":[{"k":[20363],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]},{"k":[35828],"v":[{"k":[26126],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]},{"k":[38477],"v":[{"k":[32423],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]},{"k":[26126],"v":[{"d":{"df":2,"dc":[[43,1],[107,1]]},"k":[65306],"v":[{"d":{"df":2,"dc":[[107,2],[108,2]]}}]}]},{"k":[22836],"v":[{"k":[23454,34394,24517,25152],"v":[{"k":[32447],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[24102],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[32447],"v":[{"d":{"df":1,"dc":[[43,1]]},"k":[24102],"v":[{"d":{"df":1,"dc":[[43,1]]}}]}]},{"k":[39035],"v":[{"k":[30011],"v":[{"k":[22312],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[32447],"v":[{"k":[30340],"v":[{"k":[23574],"v":[{"k":[37096],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]},{"k":[25351],"v":[{"k":[23567],"v":[{"k":[22278],"v":[{"k":[22280],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[21333],"v":[{"k":[20987],"v":[{"k":[25302],"v":[{"k":[25341],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[27969],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[23558],"v":[{"k":[32467],"v":[{"k":[26463],"v":[{"k":[23450],"v":[{"k":[21521],"v":[{"k":[21040],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[27969],"v":[{"k":[19978],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27963],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[21495],"v":[{"d":{"df":1,"dc":[[43,1]]}}]},{"k":[21495],"v":[{"k":[30331,65292],"v":[{"k":[38470],"v":[{"k":[44],"v":[{"k":[26032],"v":[{"k":[24314],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]},{"k":[24182],"v":[{"k":[30331],"v":[{"k":[38470],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[50,1]]}}]}]}]}]}]}]},{"k":[24211],"v":[{"k":[27604],"v":[{"k":[22914],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]},{"k":[20316,23450],"v":[{"k":[30005],"v":[{"k":[23376],"v":[{"k":[20070],"v":[{"k":[65292],"v":[{"k":[24517],"v":[{"k":[22791],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[65306],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[100],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[109],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32763],"v":[{"k":[20493],"v":[{"k":[35745],"v":[{"k":[21010],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]},{"k":[20808,27425],"v":[{"k":[25226,25105,22312,35201,65292,38656,31532,32534],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]},{"k":[20204],"v":[{"k":[20808],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"k":[91],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[118],"v":[{"k":[105],"v":[{"k":[115],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[45,1]]}},{"k":[30830],"v":[{"k":[35748],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]},{"k":[20256,38656],"v":[{"k":[20837],"v":[{"k":[30340],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[20026],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[22312],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[35201],"v":[{"k":[26126,20998],"v":[{"k":[30830],"v":[{"k":[19994,65292],"v":[{"k":[21153],"v":[{"k":[30340],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[65292],"v":[{"k":[29702],"v":[{"k":[28165],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[30340],"v":[{"k":[24605],"v":[{"k":[36335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23545],"v":[{"k":[20110],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[32780],"v":[{"k":[35328],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[24819],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[23376],"v":[{"k":[30340],"v":[{"k":[65306],"v":[{"k":[25343],"v":[{"k":[21322],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[34218],"v":[{"k":[27700],"v":[{"k":[65292],"v":[{"k":[20570],"v":[{"k":[21313],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[12290],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[36825],"v":[{"k":[20040],"v":[{"k":[35762],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[26377],"v":[{"k":[37027],"v":[{"k":[20040],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[22840],"v":[{"k":[22823],"v":[{"k":[20854],"v":[{"k":[35789],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[24819],"v":[{"k":[24819],"v":[{"k":[20063],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[30693],"v":[{"k":[36947],"v":[{"k":[65292],"v":[{"k":[20973],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[32473],"v":[{"k":[20320],"v":[{"k":[25903],"v":[{"k":[20184],"v":[{"k":[24456],"v":[{"k":[39640],"v":[{"k":[30340],"v":[{"k":[34218],"v":[{"k":[27700],"v":[{"k":[65311],"v":[{"k":[31572],"v":[{"k":[26696],"v":[{"k":[96],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[96],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[20320],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[39640],"v":[{"k":[30340],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21035],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]},{"k":[19968],"v":[{"k":[24352],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[34920],"v":[{"k":[65292],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[37117],"v":[{"k":[19982],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[32852],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[27880],"v":[{"k":[20876],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20889],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[65292],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]},{"k":[28040],"v":[{"k":[24687],"v":[{"k":[36890],"v":[{"k":[35759],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[21518],"v":[{"k":[20877],"v":[{"k":[26469],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[30475],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[20250],"v":[{"k":[21464],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36192],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[44,1]]}}]}]}]},{"k":[31435,27169,35758,24211],"v":[{"d":{"df":1,"dc":[[45,1]]},"k":[19982,36830],"v":[{"k":[20320],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[23545],"v":[{"k":[24212],"v":[{"k":[30340],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[65292],"v":[{"k":[20179],"v":[{"k":[24211],"v":[{"k":[21517],"v":[{"k":[24517],"v":[{"k":[39035],"v":[{"k":[20026],"v":[{"k":[12304],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[121],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[95],"v":[{"k":[110],"v":[{"k":[97],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[117],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[12305],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25509],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]},{"d":{"df":1,"dc":[[72,1]]},"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]},{"d":{"df":1,"dc":[[101,1]]},"k":[30340],"v":[{"d":{"df":1,"dc":[[69,1]]}}]},{"k":[24314],"v":[{"k":[34920],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[20851],"v":[{"k":[38190],"v":[{"k":[12290],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[20026],"v":[{"k":[65292],"v":[{"k":[20943],"v":[{"k":[23569],"v":[{"k":[20887],"v":[{"k":[20313],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[12289],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[34920],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[36807],"v":[{"k":[22810],"v":[{"k":[12289],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[26597],"v":[{"k":[35810],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27490,25481],"v":[{"d":{"df":2,"dc":[[45,1],[85,1]]}},{"k":[65292],"v":[{"k":[23601],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[20986],"v":[{"k":[29616],"v":[{"k":[21457],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]},{"k":[26032],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[21457,25130],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[33719],"v":[{"k":[30340],"v":[{"k":[39118],"v":[{"k":[38505],"v":[{"k":[46],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20197],"v":[{"k":[19979],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[44],"v":[{"k":[19981],"v":[{"k":[29992],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21475],"v":[{"k":[20063,21152],"v":[{"k":[33021],"v":[{"k":[30475],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]},{"k":[36733],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[24335],"v":[{"k":[30340,23553],"v":[{"d":{"df":1,"dc":[[45,2]]}},{"k":[35013],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[21512,21046,26434],"v":[{"k":[21629],"v":[{"k":[20196],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"d":{"df":1,"dc":[[76,1]]}},{"k":[25968,32531],"v":[{"k":[25454],"v":[{"k":[30340],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[23384],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]},{"k":[23458],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]},{"k":[30041,23384],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[20998],"v":[{"k":[25903],"v":[{"k":[29992],"v":[{"k":[20110],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26356],"v":[{"k":[25913],"v":[{"k":[21040],"v":[{"k":[37197],"v":[{"k":[32622],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[24314,37197],"v":[{"k":[93,27979],"v":[{"k":[40],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[116],"v":[{"k":[112],"v":[{"k":[115],"v":[{"k":[58],"v":[{"k":[47],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[120],"v":[{"k":[108],"v":[{"k":[97],"v":[{"k":[98],"v":[{"k":[46],"v":[{"k":[103],"v":[{"k":[105],"v":[{"k":[116],"v":[{"k":[98],"v":[{"k":[111],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[105],"v":[{"k":[111],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[115],"v":[{"k":[45],"v":[{"k":[103],"v":[{"k":[117],"v":[{"k":[105],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[47],"v":[{"k":[99],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[102],"v":[{"k":[114],"v":[{"k":[111],"v":[{"k":[110],"v":[{"k":[116],"v":[{"k":[47],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[120],"v":[{"k":[111],"v":[{"k":[95],"v":[{"k":[99],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[46],"v":[{"k":[104],"v":[{"k":[116],"v":[{"k":[109],"v":[{"k":[108],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35797],"v":[{"k":[26694],"v":[{"k":[26550],"v":[{"k":[65288],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[36827],"v":[{"k":[24230],"v":[{"k":[39044],"v":[{"k":[31639],"v":[{"k":[20801],"v":[{"k":[35768],"v":[{"k":[65289],"v":[{"k":[12290],"v":[{"k":[22312],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[30340],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[65292],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[31456],"v":[{"k":[33410],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[20013],"v":[{"k":[35762],"v":[{"k":[35299],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[96],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[102],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[99],"v":[{"k":[116],"v":[{"k":[96],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[20363],"v":[{"k":[23376],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26435],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[24038],"v":[{"k":[19978],"v":[{"k":[35282],"v":[{"k":[25214],"v":[{"k":[21040],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]},{"k":[23450],"v":[{"k":[29983],"v":[{"k":[25104],"v":[{"k":[21518],"v":[{"k":[65292],"v":[{"k":[116],"v":[{"k":[111],"v":[{"k":[107],"v":[{"k":[101],"v":[{"k":[110],"v":[{"d":{"df":1,"dc":[[45,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"d":{"df":1,"dc":[[45,1]]}}]},{"k":[59],"v":[{"d":{"df":1,"dc":[[45,4]]}}]},{"k":[21153,24847,20309],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[48,2]]}}]},{"k":[31867],"v":[{"k":[22411],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[21151],"v":[{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[22312],"v":[{"k":[32534],"v":[{"k":[20889],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[20043],"v":[{"k":[21069],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[65292],"v":[{"k":[23558],"v":[{"k":[20854],"v":[{"k":[29992],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[22270],"v":[{"k":[12289],"v":[{"k":[26102],"v":[{"k":[24207],"v":[{"k":[22270],"v":[{"k":[25110],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[34920],"v":[{"k":[36798],"v":[{"k":[20986],"v":[{"k":[26469],"v":[{"k":[65292],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[22270],"v":[{"k":[21644],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[35760],"v":[{"k":[24405],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[25991],"v":[{"k":[23383],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[12290],"v":[{"k":[20570],"v":[{"k":[21040],"v":[{"k":[20808],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[65292],"v":[{"k":[21518],"v":[{"k":[32534],"v":[{"k":[30721],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[90,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27861,24120,37325,30456],"v":[{"k":[21551],"v":[{"k":[21160],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]},{"k":[31616],"v":[{"k":[27905],"v":[{"k":[26126],"v":[{"k":[20102],"v":[{"k":[30340],"v":[{"k":[20851],"v":[{"k":[31995],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[65292],"v":[{"k":[23558],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[20851],"v":[{"k":[19987],"v":[{"k":[19994],"v":[{"k":[19981],"v":[{"k":[25307],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]},{"k":[25918],"v":[{"k":[36827],"v":[{"k":[31243],"v":[{"k":[36164],"v":[{"k":[28304],"v":[{"d":{"df":1,"dc":[[48,1]]}}]}]}]}]}]},{"k":[39564],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[49,1]]}}]}]},{"k":[20026,20301],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[35201],"v":[{"k":[23436],"v":[{"k":[25972],"v":[{"k":[65292],"v":[{"k":[35201],"v":[{"k":[23558],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[35206],"v":[{"k":[30422],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[52,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32622],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]},{"k":[37327,22788],"v":[{"k":[21319,26597],"v":[{"k":[32423],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[20381],"v":[{"k":[36182],"v":[{"k":[39033],"v":[{"k":[24182],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]},{"k":[35810],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[65288],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]}]}]}]}]},{"k":[29702],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]},{"k":[30053],"v":[{"d":{"df":1,"dc":[[53,1]]},"k":[30340],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]},{"k":[20040],"v":[{"k":[25105,36825,23601,44,35813,65292],"v":[{"k":[20204],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[21033],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]},{"k":[26679],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]},{"d":{"df":1,"dc":[[91,1]]}},{"k":[22914],"v":[{"k":[20309],"v":[{"k":[35780],"v":[{"k":[21028],"v":[{"k":[26159],"v":[{"k":[21542],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[21517],"v":[{"k":[20248],"v":[{"k":[31168],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[31243],"v":[{"k":[24072],"v":[{"k":[40],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[21592],"v":[{"k":[41],"v":[{"k":[21602],"v":[{"k":[63],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[96],"v":[{"k":[117],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[109],"v":[{"k":[101],"v":[{"k":[116],"v":[{"k":[97],"v":[{"k":[96],"v":[{"k":[34920],"v":[{"k":[37324],"v":[{"k":[21152],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[32773],"v":[{"k":[31867],"v":[{"k":[22411],"v":[{"k":[23383],"v":[{"k":[27573],"v":[{"k":[65292],"v":[{"k":[96],"v":[{"k":[100],"v":[{"k":[101],"v":[{"k":[118],"v":[{"k":[95],"v":[{"k":[116],"v":[{"k":[121],"v":[{"k":[112],"v":[{"k":[101],"v":[{"k":[96],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968,22914],"v":[{"k":[20123],"v":[{"k":[26080],"v":[{"k":[20851],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[24405],"v":[{"k":[37117],"v":[{"k":[32473],"v":[{"k":[24573],"v":[{"k":[30053],"v":[{"k":[20102],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[19979],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[31896],"v":[{"k":[36148],"v":[{"k":[21040],"v":[{"k":[37324],"v":[{"k":[36793],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]}]},{"k":[24341,19979,23545,20154],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[21521],"v":[{"k":[19978],"v":[{"k":[36882],"v":[{"k":[24402],"v":[{"k":[26597],"v":[{"k":[25214],"v":[{"k":[21363],"v":[{"k":[21487],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[53,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[38754],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[30340],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]},{"k":[26041],"v":[{"k":[20102],"v":[{"k":[35299],"v":[{"k":[20320],"v":[{"k":[20570],"v":[{"k":[30340],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[30446],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26356],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[26377,22815,22312,21147],"v":[{"k":[25928],"v":[{"k":[38477],"v":[{"k":[20302],"v":[{"k":[25991],"v":[{"k":[20214],"v":[{"k":[30862],"v":[{"k":[29255],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[54,1]]}}]}]}]}]}]}]}]}]},{"k":[36890,25215],"v":[{"k":[36807],"v":[{"d":{"df":1,"dc":[[62,2]]}}]},{"k":[36733],"v":[{"k":[30340],"v":[{"k":[24182],"v":[{"k":[21457],"v":[{"k":[26159],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]},{"k":[21306,32593,23458],"v":[{"k":[22495],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"k":[19978],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[21644],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20851],"v":[{"k":[19978],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[21644],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[25143],"v":[{"k":[31471],"v":[{"k":[19978],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[21644],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24378],"v":[{"k":[65292],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[39640],"v":[{"k":[65292],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[20135],"v":[{"k":[20986],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[39640],"v":[{"k":[65292],"v":[{"k":[30830],"v":[{"k":[23454],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[20248],"v":[{"k":[21183],"v":[{"k":[12290],"v":[{"k":[20294],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[33258],"v":[{"k":[36523],"v":[{"k":[30340],"v":[{"k":[32570],"v":[{"k":[28857],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[26126],"v":[{"k":[26174],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[20250],"v":[{"k":[25104],"v":[{"k":[20026],"v":[{"k":[25302],"v":[{"k":[21518],"v":[{"k":[33151],"v":[{"k":[30340],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21517],"v":[{"k":[21040,65292,44],"v":[{"k":[26412],"v":[{"k":[22320],"v":[{"d":{"df":1,"dc":[[55,1]]}}]}]},{"k":[113],"v":[{"k":[99],"v":[{"k":[108],"v":[{"k":[111],"v":[{"k":[117],"v":[{"k":[100],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]},{"d":{"df":1,"dc":[[66,1]]}}]}]},{"k":[30011,24577],"v":[{"d":{"df":1,"dc":[[56,1]]}},{"k":[37197,21152],"v":[{"k":[32622],"v":[{"k":[25171,21152],"v":[{"k":[21253],"v":[{"d":{"df":1,"dc":[[70,1]]}}]},{"k":[36733],"v":[{"k":[19968],"v":[{"k":[33324],"v":[{"k":[26159],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[20889],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[36733],"v":[{"k":[21551],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]}]}]}]}]},{"k":[21160],"v":[{"k":[35270],"v":[{"k":[24046],"v":[{"d":{"df":1,"dc":[[56,1]]}}]}]}]},{"k":[32454],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20998],"v":[{"k":[35299],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]},{"k":[40],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[105],"v":[{"k":[102],"v":[{"k":[116],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]},{"k":[38169],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[36339],"v":[{"k":[36716],"v":[{"k":[21040],"v":[{"k":[32593],"v":[{"k":[31449],"v":[{"k":[35814],"v":[{"k":[32454],"v":[{"k":[35828],"v":[{"k":[26126],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20307],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[22836],"v":[{"k":[19968],"v":[{"k":[27425],"v":[{"k":[23545],"v":[{"k":[24494],"v":[{"k":[36719],"v":[{"k":[30340],"v":[{"k":[19996],"v":[{"k":[35199],"v":[{"k":[36825],"v":[{"k":[20040],"v":[{"k":[28385],"v":[{"k":[24847],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[57,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35835],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[58,1]]}}]}]},{"k":[21270],"v":[{"d":{"df":1,"dc":[[58,2]]}}]},{"k":[21040,20102,22238],"v":[{"k":[23433,12290],"v":[{"k":[35013],"v":[{"k":[21253],"v":[{"k":[35299],"v":[{"k":[21387],"v":[{"k":[65292],"v":[{"k":[21491],"v":[{"k":[38190],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[69,2]]}}]},{"k":[24456],"v":[{"k":[20037],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]},{"k":[23494],"v":[{"k":[30721],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]},{"k":[20987],"v":[{"d":{"df":1,"dc":[[59,2]]},"k":[36873,28155,36827,32418],"v":[{"k":[25321],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[24773],"v":[{"k":[26223],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"k":[26465],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]},{"k":[20837],"v":[{"k":[24050],"v":[{"k":[21019],"v":[{"k":[24314],"v":[{"k":[30340],"v":[{"k":[23454],"v":[{"k":[20307],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]},{"k":[33394],"v":[{"k":[31661],"v":[{"k":[22836],"v":[{"k":[25152],"v":[{"k":[25351],"v":[{"k":[22278],"v":[{"k":[22280],"v":[{"k":[20301],"v":[{"k":[32622],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[22120],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26223],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]},{"k":[35775,30340],"v":[{"k":[38382],"v":[{"k":[65292],"v":[{"k":[26377],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[19981],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[65292],"v":[{"k":[37027],"v":[{"k":[23601],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[20020],"v":[{"k":[26102],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"k":[65292],"v":[{"k":[40664],"v":[{"k":[35748],"v":[{"k":[26159],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32593],"v":[{"k":[31449],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"k":[22270],"v":[{"k":[26631],"v":[{"k":[20026],"v":[{"k":[33],"v":[{"k":[91],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[49],"v":[{"k":[50],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"k":[26102],"v":[{"k":[20026],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[65292],"v":[{"k":[22270],"v":[{"k":[26631],"v":[{"k":[20026],"v":[{"k":[33],"v":[{"k":[91],"v":[{"k":[93],"v":[{"k":[40],"v":[{"k":[47],"v":[{"k":[98],"v":[{"k":[97],"v":[{"k":[115],"v":[{"k":[105],"v":[{"k":[99],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[115],"v":[{"k":[47],"v":[{"k":[105],"v":[{"k":[109],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[49],"v":[{"k":[51],"v":[{"k":[46],"v":[{"k":[112],"v":[{"k":[110],"v":[{"k":[103],"v":[{"k":[41],"v":[{"k":[26102],"v":[{"k":[20026],"v":[{"k":[20195],"v":[{"k":[29702],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[59,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32553],"v":[{"k":[58,20195],"v":[{"d":{"df":1,"dc":[[60,1]]}},{"k":[30721],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]}]}]},{"k":[35201],"v":[{"k":[25240],"v":[{"k":[33150],"v":[{"k":[30340],"v":[{"k":[35805],"v":[{"k":[44],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[35797],"v":[{"k":[35797],"v":[{"k":[96],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[110],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[96],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20307,27573],"v":[{"d":{"df":1,"dc":[[61,1]]}},{"k":[23558,36827,21152],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[34920],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[20851],"v":[{"k":[32852],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[74,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[34892],"v":[{"k":[20851],"v":[{"k":[32852],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]},{"k":[32034],"v":[{"k":[24341],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]},{"k":[25913,21152],"v":[{"k":[24323],"v":[{"k":[29992],"v":[{"k":[30340],"v":[{"k":[25554],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]},{"k":[30446,39033],"v":[{"k":[24405],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]},{"k":[30446],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[37096],"v":[{"k":[22823],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"k":[21345],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]},{"k":[21491],"v":[{"k":[23567],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"k":[21345],"v":[{"d":{"df":1,"dc":[[61,1]]}}]}]}]}]}]},{"k":[20837,32479],"v":[{"k":[19968,21442],"v":[{"k":[20123],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[62,1]]}}]}]}]},{"k":[25968],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]},{"k":[35299],"v":[{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"k":[31569],"v":[{"d":{"df":1,"dc":[[62,1]]}}]},{"k":[21151,29087,20026],"v":[{"d":{"df":1,"dc":[[62,8]]},"k":[65306,27880],"v":[{"d":{"df":1,"dc":[[62,1]]}},{"k":[20876],"v":[{"k":[30340],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21517],"v":[{"k":[25110],"v":[{"k":[25163],"v":[{"k":[26426],"v":[{"k":[21495],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[30340],"v":[{"k":[24320,35774],"v":[{"k":[21457],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[37117],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[20570],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"k":[65292],"v":[{"k":[20182],"v":[{"k":[20204],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[24320],"v":[{"k":[21457],"v":[{"k":[24037],"v":[{"k":[20855],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[27169],"v":[{"k":[22411],"v":[{"k":[39537],"v":[{"k":[21160],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[24211],"v":[{"k":[21644],"v":[{"k":[21508],"v":[{"k":[23618],"v":[{"k":[27425],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[37027],"v":[{"k":[20123],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35745],"v":[{"k":[27169],"v":[{"k":[24335],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[22242],"v":[{"k":[38431],"v":[{"k":[37324],"v":[{"k":[30340],"v":[{"k":[25605],"v":[{"k":[23630],"v":[{"k":[26829],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21040,24471,28040,20043],"v":[{"k":[30340],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[62,2]]}}]}]}]}]},{"k":[21442],"v":[{"k":[25968],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]},{"k":[40664],"v":[{"k":[35748],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[25139],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[81,1]]}}]}]}]}]}]}]}]},{"k":[26377],"v":[{"k":[36947],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]},{"d":{"df":1,"dc":[[63,4]]}},{"d":{"df":1,"dc":[[63,2]]}},{"k":[21046],"v":[{"k":[30340,37325,36229,30331],"v":[{"k":[35686],"v":[{"k":[21578],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[21551],"v":[{"k":[30340],"v":[{"k":[21151],"v":[{"k":[33021],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[85,1]]}}]}]}]}]}]},{"k":[26102],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[23567],"v":[{"k":[20110],"v":[{"k":[21322],"v":[{"k":[23567],"v":[{"k":[26102],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]},{"k":[24405],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]},{"k":[24207],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[32622,20110,65289],"v":[{"k":[35843],"v":[{"k":[25972],"v":[{"k":[31639],"v":[{"k":[27861],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]},{"k":[65306],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[115,108,104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[118],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[69,2]]}}]}]}]}]}]}]}]}]}]},{"k":[105],"v":[{"k":[98],"v":[{"k":[47],"v":[{"k":[115],"v":[{"k":[119],"v":[{"k":[97],"v":[{"k":[103],"v":[{"k":[103],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[97],"v":[{"k":[110],"v":[{"k":[100],"v":[{"k":[108],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[47],"v":[{"k":[111],"v":[{"k":[116],"v":[{"k":[104],"v":[{"k":[101],"v":[{"k":[114],"v":[{"k":[115],"v":[{"k":[46],"v":[{"k":[106],"v":[{"k":[115],"v":[{"k":[96],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36755],"v":[{"k":[20837],"v":[{"k":[26356],"v":[{"k":[26041],"v":[{"k":[20415],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[24341],"v":[{"k":[23548],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[24110],"v":[{"k":[21161],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[30410],"v":[{"k":[22788],"v":[{"k":[12290],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[21462],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20986],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[30340],"v":[{"k":[22806],"v":[{"k":[37096],"v":[{"k":[25509],"v":[{"k":[21475],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]}]}]}]}]}]},{"k":[25442],"v":[{"k":[21551,21040],"v":[{"k":[29992],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"d":{"df":1,"dc":[[63,1]]}}]}]}]},{"k":[29992],"v":[{"k":[25143],"v":[{"k":[23433],"v":[{"k":[35013],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]}]}]}]}]},{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[21333,21382],"v":[{"k":[20248,21457,44],"v":[{"k":[38597],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[26041],"v":[{"k":[26696],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]},{"k":[36865],"v":[{"k":[25509],"v":[{"k":[25910],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[32463],"v":[{"k":[21382],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[19981],"v":[{"k":[28385],"v":[{"k":[19968],"v":[{"k":[24180],"v":[{"k":[65292],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[32463],"v":[{"k":[39564],"v":[{"k":[20016],"v":[{"k":[23500],"v":[{"k":[25110],"v":[{"k":[25285],"v":[{"k":[20219],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[36127],"v":[{"k":[36131],"v":[{"k":[20154],"v":[{"k":[12289],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[36127],"v":[{"k":[36131],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[38754],"v":[{"k":[35797],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20030,34920],"v":[{"d":{"df":1,"dc":[[64,1]]}},{"k":[30340,12290],"v":[{"k":[26356],"v":[{"k":[26032],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[84,1]]}}]}]}]},{"d":{"df":1,"dc":[[90,1]]}}]}]},{"k":[30041],"v":[{"d":{"df":1,"dc":[[64,1]]},"k":[20102],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]},{"k":[35013],"v":[{"k":[35831,22320],"v":[{"k":[27714],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]},{"k":[22336],"v":[{"k":[44],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[29992],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[114],"v":[{"k":[101],"v":[{"k":[97],"v":[{"k":[109],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21152],"v":[{"k":[36733],"v":[{"k":[20248],"v":[{"k":[21270],"v":[{"k":[24615],"v":[{"k":[33021],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"k":[20803],"v":[{"k":[32534],"v":[{"k":[31243],"v":[{"k":[26469],"v":[{"k":[35762],"v":[{"k":[25910],"v":[{"k":[30410],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[22826],"v":[{"k":[22823],"v":[{"d":{"df":1,"dc":[[64,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23384],"v":[{"d":{"df":1,"dc":[[79,1]]},"k":[32467,30340,65307],"v":[{"k":[26500],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[35774],"v":[{"k":[35745],"v":[{"k":[31034],"v":[{"k":[20363],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[107,1]]}}]}]}]}]}]}]},{"k":[26159],"v":[{"d":{"df":1,"dc":[[79,1]]}}]},{"d":{"df":1,"dc":[[106,1]]}}]}]},{"k":[34385],"v":[{"k":[21040],"v":[{"k":[26412],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[24050],"v":[{"k":[32463],"v":[{"k":[22312],"v":[{"k":[23454],"v":[{"k":[26045],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[21464],"v":[{"k":[26356],"v":[{"k":[25913],"v":[{"k":[21160],"v":[{"k":[36739],"v":[{"k":[22823],"v":[{"k":[65292],"v":[{"k":[26410],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21153],"v":[{"k":[20013,36923],"v":[{"k":[25554],"v":[{"k":[20837],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[23613],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[31934],"v":[{"k":[31616],"v":[{"k":[65292],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[26368],"v":[{"k":[22909],"v":[{"k":[32479],"v":[{"k":[19968],"v":[{"k":[65292],"v":[{"k":[20687],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[24335],"v":[{"k":[35843],"v":[{"k":[29992],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36753],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[27573],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[29992],"v":[{"d":{"df":1,"dc":[[65,1]]}}]},{"k":[38500,26224],"v":[{"k":[35745,51],"v":[{"k":[26102],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[48],"v":[{"k":[22825],"v":[{"k":[21069],"v":[{"k":[21382],"v":[{"k":[21490],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]},{"k":[19988],"v":[{"k":[20840],"v":[{"k":[38754],"v":[{"k":[30340],"v":[{"k":[27969],"v":[{"k":[31243],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"k":[20070],"v":[{"d":{"df":1,"dc":[[65,1]]},"k":[30001],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"k":[22635,36935],"v":[{"k":[30340],"v":[{"k":[22353],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]},{"d":{"df":1,"dc":[[97,1]]}}]},{"k":[38598,30721],"v":[{"k":[21457],"v":[{"k":[29983],"v":[{"k":[38459],"v":[{"k":[22622],"v":[{"k":[12290],"v":[{"k":[24182],"v":[{"k":[19988],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[35831],"v":[{"k":[27714],"v":[{"k":[22343],"v":[{"k":[20250],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[81,1],[109,2]]},"k":[34987,19981],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[31561],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[30452],"v":[{"k":[25509],"v":[{"k":[96],"v":[{"k":[109],"v":[{"k":[100],"v":[{"k":[53],"v":[{"k":[96],"v":[{"k":[25110],"v":[{"k":[96],"v":[{"k":[115],"v":[{"k":[104],"v":[{"k":[97],"v":[{"k":[49],"v":[{"k":[96],"v":[{"k":[21152],"v":[{"k":[23494],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[21152],"v":[{"k":[30416],"v":[{"k":[21152],"v":[{"k":[23494],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25163],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"k":[65292],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[26242],"v":[{"k":[26102],"v":[{"k":[24573],"v":[{"k":[30053],"v":[{"k":[12290],"v":[{"k":[26377],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[20102],"v":[{"k":[20877],"v":[{"k":[26469],"v":[{"k":[34917],"v":[{"k":[19978],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[65,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[22823],"v":[{"k":[23478],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]},{"k":[31435],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[39033],"v":[{"k":[30446],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]},{"k":[27492],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[66,1]]},"k":[23436],"v":[{"k":[25104],"v":[{"k":[36335],"v":[{"k":[30001],"v":[{"k":[36716],"v":[{"k":[21457],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]},{"k":[21462],"v":[{"k":[28304],"v":[{"k":[31449],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"d":{"df":1,"dc":[[66,1]]}}]}]}]}]}]},{"k":[31034],"v":[{"d":{"df":1,"dc":[[85,1]]},"k":[22320],"v":[{"k":[22336],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[67,1]]}}]}]}]}]},{"k":[24910],"v":[{"k":[28155],"v":[{"k":[21152],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]},{"d":{"df":1,"dc":[[106,1]]},"k":[24930],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[24615],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[22826],"v":[{"k":[22823],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[30340],"v":[{"k":[19981],"v":[{"k":[36275],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[68,1]]}}]}]}]}]}]}]}]},{"k":[21517],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"d":{"df":1,"dc":[[69,1]]},"k":[19981],"v":[{"k":[29992],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[21069],"v":[{"k":[31471],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[44],"v":[{"k":[38450],"v":[{"k":[27490],"v":[{"d":{"df":1,"dc":[[69,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32456],"v":[{"k":[20026],"v":[{"d":{"df":1,"dc":[[70,1]]}}]}]},{"k":[21512],"v":[{"k":[24615,12289],"v":[{"k":[19982],"v":[{"k":[20869],"v":[{"k":[32858],"v":[{"k":[24615],"v":[{"k":[26159],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[29420],"v":[{"k":[31435],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[20004],"v":[{"k":[20010],"v":[{"k":[23450],"v":[{"k":[24615],"v":[{"k":[26631],"v":[{"k":[20934],"v":[{"k":[65292],"v":[{"k":[23558],"v":[{"k":[36719],"v":[{"k":[20214],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[21010],"v":[{"k":[20998],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[26102],"v":[{"k":[65292],"v":[{"k":[23613],"v":[{"k":[37327],"v":[{"k":[20570],"v":[{"k":[21040],"v":[{"k":[39640],"v":[{"k":[20869],"v":[{"k":[32858],"v":[{"k":[20302],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[65292],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"k":[30340],"v":[{"k":[29420],"v":[{"k":[31435],"v":[{"k":[24615],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[39640],"v":[{"k":[36136],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[36719],"v":[{"k":[20214],"v":[{"k":[32467],"v":[{"k":[26500],"v":[{"k":[22880],"v":[{"k":[23450],"v":[{"k":[22522],"v":[{"k":[30784],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20869],"v":[{"k":[32858],"v":[{"k":[30340],"v":[{"k":[35780],"v":[{"k":[20272],"v":[{"k":[26631],"v":[{"k":[20934],"v":[{"k":[26159],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[24378],"v":[{"k":[24230],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[65292],"v":[{"k":[32806],"v":[{"k":[21512],"v":[{"k":[36234],"v":[{"k":[24369],"v":[{"k":[36234],"v":[{"k":[22909],"v":[{"k":[65292],"v":[{"k":[20869],"v":[{"k":[32858],"v":[{"k":[36234],"v":[{"k":[24378],"v":[{"k":[36234],"v":[{"k":[22909],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[71,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33539,36991,21010],"v":[{"d":{"df":1,"dc":[[72,1]]},"k":[30340],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[21644],"v":[{"k":[22270],"v":[{"k":[40],"v":[{"k":[27169],"v":[{"k":[22411],"v":[{"k":[41],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26080],"v":[{"k":[24847],"v":[{"k":[20041],"v":[{"k":[30340],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[25197],"v":[{"k":[36716],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"k":[24471],"v":[{"k":[26377],"v":[{"k":[26465],"v":[{"k":[29702],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[24065],"v":[{"k":[30342],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[35201],"v":[{"k":[29992],"v":[{"k":[25209],"v":[{"k":[21028],"v":[{"k":[30340],"v":[{"k":[30524],"v":[{"k":[20809],"v":[{"k":[21435],"v":[{"k":[23457],"v":[{"k":[35270],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[32463],"v":[{"k":[29702],"v":[{"k":[30340],"v":[{"k":[28857],"v":[{"k":[23376],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[72,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20923],"v":[{"k":[19977],"v":[{"k":[23610],"v":[{"k":[38750],"v":[{"k":[19968],"v":[{"k":[26085],"v":[{"k":[20043],"v":[{"k":[23506],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[21475],"v":[{"k":[21507],"v":[{"k":[19981],"v":[{"k":[25104],"v":[{"k":[32982],"v":[{"k":[23376],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[26377],"v":[{"k":[24222],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[65292],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[30001],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20010],"v":[{"k":[23567],"v":[{"k":[30340],"v":[{"k":[23376],"v":[{"k":[31995],"v":[{"k":[32479],"v":[{"k":[36880],"v":[{"k":[27493],"v":[{"k":[28436],"v":[{"k":[21270],"v":[{"k":[32780],"v":[{"k":[26469],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31383],"v":[{"k":[20013],"v":[{"k":[21253],"v":[{"k":[21547],"v":[{"k":[21491],"v":[{"k":[19978],"v":[{"k":[35282],"v":[{"k":[20851],"v":[{"k":[38381],"v":[{"k":[25353],"v":[{"k":[38062],"v":[{"k":[65292],"v":[{"k":[20013],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[21462],"v":[{"k":[28040],"v":[{"k":[25353],"v":[{"k":[38062],"v":[{"k":[65292],"v":[{"k":[20197],"v":[{"k":[21450],"v":[{"k":[23631],"v":[{"k":[24149],"v":[{"k":[28857],"v":[{"k":[20987],"v":[{"k":[31354],"v":[{"k":[30333],"v":[{"k":[22788],"v":[{"k":[30340],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[20851],"v":[{"k":[38381],"v":[{"k":[65292],"v":[{"k":[20849],"v":[{"k":[35745],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":2,"dc":[[73,1],[103,1]]}},{"k":[20114],"v":[{"k":[20013],"v":[{"k":[36991],"v":[{"k":[20813],"v":[{"k":[22686],"v":[{"k":[21152],"v":[{"k":[19981],"v":[{"k":[24517],"v":[{"k":[35201],"v":[{"k":[30340],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[31616],"v":[{"k":[21270],"v":[{"k":[22797],"v":[{"k":[26434],"v":[{"k":[25805],"v":[{"k":[20316],"v":[{"k":[65307],"v":[{"d":{"df":1,"dc":[[73,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24565],"v":[{"k":[35762],"v":[{"k":[35299],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]},{"k":[20040],"v":[{"k":[20063],"v":[{"k":[25910],"v":[{"k":[19981],"v":[{"k":[21040],"v":[{"k":[28040],"v":[{"k":[24687],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]}]}]}]}]}]},{"k":[32454],"v":[{"k":[30475,24819],"v":[{"k":[19978],"v":[{"k":[22270],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[75,1]]}}]}]}]},{"k":[24819],"v":[{"k":[65292],"v":[{"k":[30495],"v":[{"k":[26159],"v":[{"k":[20154],"v":[{"k":[24615],"v":[{"k":[26412],"v":[{"k":[21892],"v":[{"k":[12290],"v":[{"k":[20316],"v":[{"k":[20026],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[32773],"v":[{"k":[65292],"v":[{"k":[23450],"v":[{"k":[35201],"v":[{"k":[20048],"v":[{"k":[20110],"v":[{"k":[21453],"v":[{"k":[30465],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21548],"v":[{"k":[21551,28304,24212],"v":[{"k":[21160],"v":[{"d":{"df":1,"dc":[[76,2]]}}]},{"k":[30721],"v":[{"k":[44],"v":[{"k":[20462],"v":[{"k":[25913],"v":[{"k":[36830],"v":[{"k":[25509],"v":[{"k":[23383],"v":[{"k":[31526],"v":[{"k":[20018],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[76,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[76,2]]}}]}]}]}]}]}]},{"k":[26041],"v":[{"k":[24335],"v":[{"k":[40],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[20013],"v":[{"k":[26410],"v":[{"k":[25552],"v":[{"k":[21450],"v":[{"k":[41],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[77,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[27465],"v":[{"k":[44],"v":[{"k":[21457],"v":[{"k":[24067],"v":[{"k":[21518],"v":[{"k":[26080],"v":[{"k":[27861],"v":[{"k":[35775],"v":[{"k":[38382],"v":[{"d":{"df":1,"dc":[[78,1]]}}]}]}]}]}]}]}]}]}]},{"k":[26223],"v":[{"k":[20013],"v":[{"k":[20351],"v":[{"k":[29992],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[79,1]]}}]}]}]}]}]},{"k":[21046,26800],"v":[{"d":{"df":1,"dc":[[79,1]]}},{"k":[38190],"v":[{"k":[30424],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]},{"k":[112],"v":[{"k":[111],"v":[{"k":[115],"v":[{"k":[116],"v":[{"k":[8217],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[80,2]]}}]}]}]}]}]}]},{"k":[26435],"v":[{"k":[30340,20013],"v":[{"k":[36923],"v":[{"k":[36753],"v":[{"k":[19981],"v":[{"k":[34987],"v":[{"k":[20445],"v":[{"k":[30041],"v":[{"k":[23436],"v":[{"k":[20840],"v":[{"k":[21516],"v":[{"k":[27493],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[38388],"v":[{"k":[20214],"v":[{"d":{"df":1,"dc":[[80,1]]},"k":[31034],"v":[{"k":[20363],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[80,1]]}}]}]}]}]}]}]}]},{"k":[21017],"v":[{"k":[20250,44],"v":[{"k":[25253],"v":[{"d":{"df":1,"dc":[[81,1]]}}]},{"d":{"df":1,"dc":[[100,1]]}}]}]},{"k":[32423],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[20013],"v":[{"k":[25552],"v":[{"k":[31034],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]}]}]}]},{"k":[21457],"v":[{"k":[35777],"v":[{"k":[20070],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[82,1]]}}]}]}]}]},{"k":[23494],"v":[{"k":[30721],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[88,1]]}}]}]}]}]},{"k":[32493],"v":[{"k":[20132],"v":[{"k":[20184],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[27969],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]},{"k":[20391,21491],"v":[{"k":[27963],"v":[{"k":[21160],"v":[{"k":[20449],"v":[{"k":[24687],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[12304],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[12305],"v":[{"k":[36873],"v":[{"k":[39033],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[21246],"v":[{"k":[36873],"v":[{"k":[65292],"v":[{"k":[21017],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[36890],"v":[{"k":[36807],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[36827],"v":[{"k":[20837],"v":[{"k":[19979],"v":[{"k":[19968],"v":[{"k":[27493],"v":[{"k":[65288],"v":[{"k":[22914],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[65289],"v":[{"k":[65292],"v":[{"k":[21542],"v":[{"k":[21017],"v":[{"k":[20250],"v":[{"k":[20572],"v":[{"k":[22312],"v":[{"k":[36825],"v":[{"k":[37324],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[25163],"v":[{"k":[21160],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[19979],"v":[{"k":[22270],"v":[{"k":[25152],"v":[{"k":[31034],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[12290,26159,30340,21040],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[36339],"v":[{"k":[27133],"v":[{"k":[65292],"v":[{"k":[24403],"v":[{"k":[21069],"v":[{"k":[30340],"v":[{"k":[23601],"v":[{"k":[19994],"v":[{"k":[24418],"v":[{"k":[21183],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23436],"v":[{"k":[20840],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[22312],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[32487],"v":[{"k":[32493],"v":[{"k":[24453],"v":[{"k":[19979],"v":[{"k":[21435],"v":[{"k":[65292],"v":[{"k":[21363],"v":[{"k":[20415],"v":[{"k":[30701],"v":[{"k":[26399],"v":[{"k":[20869],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[27425],"v":[{"k":[28072],"v":[{"k":[34218],"v":[{"k":[40],"v":[{"k":[25353],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27700],"v":[{"k":[24179],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]},{"k":[20102],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]},{"k":[20837],"v":[{"k":[27979],"v":[{"k":[35797],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[22120],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]},{"k":[33258,30446],"v":[{"k":[21160],"v":[{"k":[35302],"v":[{"k":[21457],"v":[{"k":[12305],"v":[{"k":[12289],"v":[{"k":[12304],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[23436],"v":[{"k":[25104],"v":[{"k":[12305],"v":[{"k":[21246],"v":[{"k":[36873],"v":[{"k":[19978],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[25171],"v":[{"k":[24320],"v":[{"k":[12304],"v":[{"k":[24322],"v":[{"k":[24120],"v":[{"k":[36890],"v":[{"k":[30693],"v":[{"k":[12305],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26631],"v":[{"k":[26426],"v":[{"k":[22120],"v":[{"k":[12305],"v":[{"k":[22914],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[21488],"v":[{"k":[36127],"v":[{"k":[36733],"v":[{"k":[22343],"v":[{"k":[34913],"v":[{"k":[27178],"v":[{"k":[21521],"v":[{"k":[25193],"v":[{"k":[23637],"v":[{"k":[30340],"v":[{"k":[30456],"v":[{"k":[21516],"v":[{"k":[29615],"v":[{"k":[22659],"v":[{"k":[26426],"v":[{"k":[22120],"v":[{"k":[20197],"v":[{"k":[36887],"v":[{"k":[21495],"v":[{"k":[20998],"v":[{"k":[38548],"v":[{"d":{"df":1,"dc":[[89,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25910],"v":[{"d":{"df":1,"dc":[[90,1]]}}]},{"k":[24448],"v":[{"k":[22312,19981],"v":[{"k":[26550],"v":[{"k":[26500],"v":[{"k":[35774],"v":[{"k":[35745],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20505],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[20248],"v":[{"k":[21183],"v":[{"k":[29942],"v":[{"k":[39048],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]},{"k":[22815],"v":[{"k":[25215],"v":[{"k":[25285],"v":[{"k":[36215],"v":[{"k":[24456],"v":[{"k":[22823],"v":[{"k":[19968],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[30340],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[39044],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[21644],"v":[{"k":[21021],"v":[{"k":[31579],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20851],"v":[{"k":[21644],"v":[{"k":[32456],"v":[{"k":[31471],"v":[{"k":[21508],"v":[{"k":[33258],"v":[{"k":[25215],"v":[{"k":[25285],"v":[{"k":[19968],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20998,24403],"v":[{"k":[21033],"v":[{"k":[29992],"v":[{"k":[21508],"v":[{"k":[20010],"v":[{"k":[23384],"v":[{"k":[20648],"v":[{"k":[36816],"v":[{"k":[31639],"v":[{"k":[21333],"v":[{"k":[20803],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[91,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[19968],"v":[{"k":[39063],"v":[{"k":[34746],"v":[{"k":[19997],"v":[{"k":[38025],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]},{"k":[35880],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[29359],"v":[{"k":[38169],"v":[{"k":[30340],"v":[{"k":[21069],"v":[{"k":[25552],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]}]},{"k":[25104],"v":[{"k":[33391,21152],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[32534],"v":[{"k":[30721],"v":[{"k":[27880],"v":[{"k":[37322],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]}]}]},{"k":[27880],"v":[{"k":[37322],"v":[{"k":[30340],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"d":{"df":1,"dc":[[108,1]]}}]}]}]}]}]}]}]},{"k":[20859],"v":[{"k":[22823,26465,29420],"v":[{"k":[23616],"v":[{"k":[35266],"v":[{"k":[21644],"v":[{"k":[27934],"v":[{"k":[23519],"v":[{"k":[21147],"v":[{"d":{"df":1,"dc":[[94,1]]}}]}]}]}]}]}]},{"k":[29702],"v":[{"k":[21644],"v":[{"k":[25552],"v":[{"k":[21069],"v":[{"k":[35268],"v":[{"k":[21010],"v":[{"k":[20064],"v":[{"k":[24815],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]},{"k":[31435],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[24635],"v":[{"k":[26159],"v":[{"k":[36935],"v":[{"k":[20107],"v":[{"k":[23601],"v":[{"k":[24320],"v":[{"k":[20250],"v":[{"k":[65292],"v":[{"k":[33437],"v":[{"k":[40635],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[37117],"v":[{"k":[35201],"v":[{"k":[24320],"v":[{"k":[20010],"v":[{"k":[20250],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25265],"v":[{"k":[20043],"v":[{"k":[26408],"v":[{"k":[65292],"v":[{"k":[29983],"v":[{"k":[20110],"v":[{"k":[27627],"v":[{"k":[26411],"v":[{"k":[65307],"v":[{"k":[20061],"v":[{"k":[23618],"v":[{"k":[20043],"v":[{"k":[21488],"v":[{"k":[65292],"v":[{"k":[36215],"v":[{"k":[20110],"v":[{"k":[22418],"v":[{"k":[22303],"v":[{"k":[65307],"v":[{"k":[21315],"v":[{"k":[37324],"v":[{"k":[20043],"v":[{"k":[34892],"v":[{"k":[65292],"v":[{"k":[22987],"v":[{"k":[20110],"v":[{"k":[36275],"v":[{"k":[19979],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32780],"v":[{"k":[19981],"v":[{"k":[31934],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]},{"k":[27133],"v":[{"d":{"df":1,"dc":[[95,1]]},"k":[30340,21040],"v":[{"k":[30446],"v":[{"k":[30340],"v":[{"k":[26080],"v":[{"k":[38750],"v":[{"k":[20004],"v":[{"k":[28857],"v":[{"k":[65292],"v":[{"k":[26356],"v":[{"k":[22909],"v":[{"k":[30340],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[31354],"v":[{"k":[38388],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[26356],"v":[{"k":[39640],"v":[{"k":[30340],"v":[{"k":[24453],"v":[{"k":[36935],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36866],"v":[{"k":[24212],"v":[{"k":[30340],"v":[{"k":[21608],"v":[{"k":[26399],"v":[{"k":[22826],"v":[{"k":[38271],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[24180],"v":[{"k":[36731],"v":[{"k":[21017],"v":[{"k":[24212],"v":[{"k":[35813],"v":[{"k":[26159],"v":[{"k":[20840],"v":[{"k":[36895],"v":[{"k":[21521],"v":[{"k":[21069],"v":[{"k":[30340],"v":[{"k":[38454],"v":[{"k":[27573],"v":[{"k":[12290],"v":[{"k":[21040],"v":[{"k":[20102],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[23703],"v":[{"k":[20301],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[20999],"v":[{"k":[21448],"v":[{"k":[24471],"v":[{"k":[37325],"v":[{"k":[22836],"v":[{"k":[20877],"v":[{"k":[26469],"v":[{"k":[65292],"v":[{"k":[29087],"v":[{"k":[24713],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[19994],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[26032],"v":[{"k":[30340],"v":[{"k":[25216],"v":[{"k":[26415],"v":[{"k":[65292],"v":[{"k":[34701],"v":[{"k":[20837],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19981],"v":[{"k":[20197],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[33267],"v":[{"k":[19978],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]},{"k":[38065],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[32467],"v":[{"k":[26524],"v":[{"k":[20043],"v":[{"k":[19968],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[30446],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[26356],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23376],"v":[{"k":[29233],"v":[{"k":[36130],"v":[{"k":[65292],"v":[{"k":[21462],"v":[{"k":[20043],"v":[{"k":[26377],"v":[{"k":[36947],"v":[{"k":[12290],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[26465],"v":[{"k":[26368],"v":[{"k":[22522],"v":[{"k":[26412],"v":[{"k":[30340],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[26159],"v":[{"k":[20114],"v":[{"k":[21033],"v":[{"k":[20849],"v":[{"k":[36194],"v":[{"k":[12290],"v":[{"k":[20570],"v":[{"k":[20135],"v":[{"k":[21697],"v":[{"k":[12289],"v":[{"k":[20570],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[24110],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[30465],"v":[{"k":[38065],"v":[{"k":[65292],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[21453],"v":[{"k":[32780],"v":[{"k":[20250],"v":[{"k":[26356],"v":[{"k":[24895],"v":[{"k":[24847],"v":[{"k":[20026],"v":[{"k":[20320],"v":[{"k":[33457],"v":[{"k":[38065],"v":[{"k":[12290],"v":[{"k":[21482],"v":[{"k":[24819],"v":[{"k":[30528],"v":[{"k":[24590],"v":[{"k":[20040],"v":[{"k":[21464],"v":[{"k":[30528],"v":[{"k":[33457],"v":[{"k":[26679],"v":[{"k":[25630],"v":[{"k":[20123],"v":[{"k":[22129],"v":[{"k":[22836],"v":[{"k":[20174],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[36523],"v":[{"k":[19978],"v":[{"k":[27048],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[21033],"v":[{"k":[30410],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[36186],"v":[{"k":[38065],"v":[{"k":[30340],"v":[{"k":[26041],"v":[{"k":[27861],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[25345],"v":[{"k":[32493],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20581],"v":[{"k":[26519],"v":[{"k":[35828],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]},{"k":[36895],"v":[{"k":[22686],"v":[{"k":[38271],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[38750],"v":[{"k":[36965],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[21450],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[20046],"v":[{"k":[20063],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[23569],"v":[{"k":[65292],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[20154],"v":[{"k":[26469],"v":[{"k":[35828],"v":[{"k":[36825],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[23567],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[19981],"v":[{"k":[31639],"v":[{"k":[22826],"v":[{"k":[38590],"v":[{"k":[23454],"v":[{"k":[29616],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[95,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20197,20064],"v":[{"k":[33268],"v":[{"k":[29992],"v":[{"d":{"df":1,"dc":[[96,1]]},"k":[20063],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[31181],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[21147],"v":[{"d":{"df":1,"dc":[[98,1]]},"k":[36828],"v":[{"k":[22823],"v":[{"k":[20110],"v":[{"k":[23398],"v":[{"k":[21382],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[22823],"v":[{"k":[20110],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"k":[26377],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[22312],"v":[{"k":[30701],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[33021],"v":[{"k":[25552],"v":[{"k":[21319],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[34917],"v":[{"k":[25305],"v":[{"k":[26159],"v":[{"k":[33391],"v":[{"k":[35757],"v":[{"k":[65292],"v":[{"k":[19968],"v":[{"k":[20998],"v":[{"k":[36763],"v":[{"k":[33510],"v":[{"k":[19968],"v":[{"k":[20998],"v":[{"k":[25165],"v":[{"d":{"df":1,"dc":[[96,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21033],"v":[{"d":{"df":1,"dc":[[97,1]]},"k":[24453],"v":[{"k":[36935],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]},{"k":[20113,22826],"v":[{"k":[35828],"v":[{"k":[65306],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[30340],"v":[{"k":[31163],"v":[{"k":[32844],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[20004],"v":[{"k":[28857],"v":[{"k":[26368],"v":[{"k":[30495],"v":[{"k":[23454],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[25928],"v":[{"k":[24212],"v":[{"k":[65306],"v":[{"k":[31351],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[36234],"v":[{"k":[26469],"v":[{"k":[36234],"v":[{"k":[31351],"v":[{"k":[65292],"v":[{"k":[23500],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[36234],"v":[{"k":[26469],"v":[{"k":[36234],"v":[{"k":[23500],"v":[{"k":[12290],"v":[{"k":[20854],"v":[{"k":[26412],"v":[{"k":[36136],"v":[{"k":[21306],"v":[{"k":[21035],"v":[{"k":[65292],"v":[{"k":[26469],"v":[{"k":[28304],"v":[{"k":[20110],"v":[{"k":[20869],"v":[{"k":[24515],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24037],"v":[{"k":[20020],"v":[{"k":[36208],"v":[{"k":[36824],"v":[{"k":[36153],"v":[{"k":[23613],"v":[{"k":[24515],"v":[{"k":[24605],"v":[{"k":[25214],"v":[{"k":[38752],"v":[{"k":[35889],"v":[{"k":[30340],"v":[{"k":[29702],"v":[{"k":[30001],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[20026],"v":[{"k":[32473],"v":[{"k":[20320],"v":[{"k":[30041],"v":[{"k":[38754],"v":[{"k":[23376],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[24819],"v":[{"k":[35828],"v":[{"k":[31359],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[31649],"v":[{"k":[29702],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[28866],"v":[{"k":[12289],"v":[{"k":[20182],"v":[{"k":[23545],"v":[{"k":[20320],"v":[{"k":[24050],"v":[{"k":[22833],"v":[{"k":[26395],"v":[{"k":[36879],"v":[{"k":[39030],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20551,26085],"v":[{"k":[26085],"v":[{"k":[20445],"v":[{"k":[38556],"v":[{"k":[65292],"v":[{"k":[24102],"v":[{"k":[34218],"v":[{"k":[24180],"v":[{"k":[20551],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]},{"k":[12289],"v":[{"k":[29983],"v":[{"k":[26085],"v":[{"k":[31036],"v":[{"k":[21253],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]},{"k":[21160],"v":[{"k":[27861],"v":[{"k":[35268],"v":[{"k":[23450],"v":[{"k":[30340],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[20302],"v":[{"k":[20445],"v":[{"k":[38556],"v":[{"k":[65292],"v":[{"k":[38656],"v":[{"k":[35201],"v":[{"k":[20005],"v":[{"k":[26684],"v":[{"k":[36981],"v":[{"k":[23432],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[19988],"v":[{"k":[24212],"v":[{"k":[39640],"v":[{"k":[20110],"v":[{"k":[20854],"v":[{"k":[35268],"v":[{"k":[23450],"v":[{"k":[30340],"v":[{"k":[20869],"v":[{"k":[23481],"v":[{"k":[12290],"v":[{"k":[38500],"v":[{"k":[27492],"v":[{"k":[20043],"v":[{"k":[22806],"v":[{"k":[65292],"v":[{"k":[36824],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[34701],"v":[{"k":[20837],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[26377],"v":[{"k":[20225],"v":[{"k":[19994],"v":[{"k":[25991],"v":[{"k":[21270],"v":[{"k":[29305],"v":[{"k":[33394],"v":[{"k":[30340],"v":[{"k":[31119],"v":[{"k":[21033],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20307,24615,26684],"v":[{"k":[24037],"v":[{"k":[31243],"v":[{"k":[23398],"v":[{"k":[24231],"v":[{"k":[26885],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]},{"d":{"df":1,"dc":[[97,1]]},"k":[183],"v":[{"k":[34880],"v":[{"k":[24615],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]},{"k":[32570],"v":[{"k":[38519],"v":[{"k":[19981],"v":[{"k":[30041],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]},{"k":[38431],"v":[{"k":[20869,37324,24847,27963,22806,24212,21457,23545],"v":[{"k":[37096],"v":[{"k":[36716],"v":[{"k":[26041],"v":[{"k":[21521],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]},{"k":[38656],"v":[{"k":[35201],"v":[{"k":[26377],"v":[{"k":[24178],"v":[{"k":[21170],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[26159],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[24178],"v":[{"k":[21170],"v":[{"k":[26469],"v":[{"k":[33258],"v":[{"k":[20110],"v":[{"k":[21738],"v":[{"k":[37324],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35782],"v":[{"d":{"df":1,"dc":[[98,1]]}}]},{"k":[21270],"v":[{"k":[21058],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]},{"k":[30340],"v":[{"k":[25237],"v":[{"k":[36164],"v":[{"k":[20154],"v":[{"k":[44],"v":[{"k":[23458],"v":[{"k":[25143],"v":[{"k":[44],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[41],"v":[{"k":[37117],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[36731],"v":[{"k":[26131],"v":[{"k":[29702],"v":[{"k":[35299],"v":[{"k":[20320],"v":[{"k":[30340],"v":[{"k":[24819],"v":[{"k":[27861],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35813],"v":[{"k":[21521],"v":[{"k":[30528],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20849],"v":[{"k":[21516],"v":[{"k":[30340],"v":[{"k":[30446],"v":[{"k":[26631],"v":[{"k":[21435],"v":[{"k":[21162],"v":[{"k":[21147],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23637],"v":[{"k":[24212],"v":[{"k":[24403],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[33391],"v":[{"k":[24615],"v":[{"k":[30340],"v":[{"k":[36235],"v":[{"k":[21183],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20110],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"k":[26159],"v":[{"k":[24456],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[30701],"v":[{"k":[26495],"v":[{"k":[23545],"v":[{"k":[20110],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[30340],"v":[{"k":[24433],"v":[{"k":[21709],"v":[{"k":[20063],"v":[{"k":[26159],"v":[{"k":[24456],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[23601],"v":[{"k":[22909],"v":[{"k":[27604],"v":[{"k":[25226],"v":[{"k":[19968],"v":[{"k":[21242],"v":[{"k":[37202],"v":[{"k":[20498],"v":[{"k":[36827],"v":[{"k":[19968],"v":[{"k":[26742],"v":[{"k":[27745],"v":[{"k":[27700],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[30340],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[26742],"v":[{"k":[27745],"v":[{"k":[27700],"v":[{"k":[65307],"v":[{"k":[25226],"v":[{"k":[19968],"v":[{"k":[21242],"v":[{"k":[27745],"v":[{"k":[27700],"v":[{"k":[23548],"v":[{"k":[20837],"v":[{"k":[19968],"v":[{"k":[26742],"v":[{"k":[37202],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[24471],"v":[{"k":[21040],"v":[{"k":[30340],"v":[{"k":[36824],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[26742],"v":[{"k":[27745],"v":[{"k":[27700],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23064],"v":[{"d":{"df":1,"dc":[[97,1]]}}]},{"k":[24615],"v":[{"d":{"df":1,"dc":[[97,1]]}}]},{"k":[35859,20026],"v":[{"k":[28909],"v":[{"k":[34880],"v":[{"k":[38738],"v":[{"k":[24180],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]},{"k":[19968],"v":[{"k":[19987],"v":[{"k":[22810],"v":[{"k":[33021],"v":[{"k":[65311],"v":[{"k":[25797],"v":[{"k":[38271],"v":[{"k":[26576],"v":[{"k":[19968],"v":[{"k":[39046],"v":[{"k":[22495],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[23545],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[39046],"v":[{"k":[22495],"v":[{"k":[24191],"v":[{"k":[27867],"v":[{"k":[28041],"v":[{"k":[29454],"v":[{"k":[24182],"v":[{"k":[26377],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[35265],"v":[{"k":[35299],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36861],"v":[{"k":[36880],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]},{"k":[20316],"v":[{"k":[25954],"v":[{"k":[24403],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]},{"k":[29239],"v":[{"k":[26377],"v":[{"k":[19968],"v":[{"k":[21477],"v":[{"k":[21488],"v":[{"k":[35789],"v":[{"k":[65306],"v":[{"k":[8220],"v":[{"k":[20570],"v":[{"k":[20154],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[27809],"v":[{"k":[26790],"v":[{"k":[24819],"v":[{"k":[65292],"v":[{"k":[36319],"v":[{"k":[21688],"v":[{"k":[40060],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[20998],"v":[{"k":[21035],"v":[{"k":[65311],"v":[{"k":[8221],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[20154],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[26790],"v":[{"k":[24819],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26159],"v":[{"k":[36133],"v":[{"k":[32473],"v":[{"k":[20102],"v":[{"k":[29616],"v":[{"k":[23454],"v":[{"k":[65292],"v":[{"k":[28608],"v":[{"k":[21457],"v":[{"k":[19981],"v":[{"k":[20986],"v":[{"k":[28608],"v":[{"k":[24773],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24819],"v":[{"k":[39532],"v":[{"k":[20799],"v":[{"k":[19981],"v":[{"k":[21507],"v":[{"k":[33609],"v":[{"k":[65292],"v":[{"k":[21448],"v":[{"k":[24819],"v":[{"k":[39532],"v":[{"k":[20799],"v":[{"k":[24555],"v":[{"k":[24555],"v":[{"k":[36305],"v":[{"k":[65292],"v":[{"k":[36825],"v":[{"k":[26159],"v":[{"k":[19981],"v":[{"k":[20999],"v":[{"k":[23454],"v":[{"k":[38469],"v":[{"k":[30340],"v":[{"k":[12290],"v":[{"k":[21892],"v":[{"k":[24453],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[65292],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[28608],"v":[{"k":[21457],"v":[{"k":[26356],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[21019],"v":[{"k":[36896],"v":[{"k":[21147],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20043],"v":[{"k":[12289],"v":[{"k":[36149],"v":[{"k":[20043],"v":[{"k":[12289],"v":[{"k":[25964],"v":[{"k":[20043],"v":[{"k":[12289],"v":[{"k":[35465],"v":[{"k":[20043],"v":[{"k":[65292],"v":[{"k":[28982],"v":[{"k":[21518],"v":[{"k":[22269],"v":[{"k":[20043],"v":[{"k":[33391],"v":[{"k":[22763],"v":[{"k":[20134],"v":[{"k":[23558],"v":[{"k":[21487],"v":[{"k":[24471],"v":[{"k":[32780],"v":[{"k":[20247],"v":[{"k":[20063],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[97,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21161],"v":[{"k":[22242,21035],"v":[{"k":[38431],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[25104],"v":[{"k":[21592],"v":[{"k":[20849],"v":[{"k":[21516],"v":[{"k":[36827],"v":[{"k":[27493],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20154],"v":[{"k":[36827],"v":[{"k":[27493],"v":[{"k":[30340],"v":[{"k":[21516],"v":[{"k":[26102],"v":[{"k":[65292],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[20063],"v":[{"k":[20250],"v":[{"k":[36827],"v":[{"k":[27493],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30528],"v":[{"k":[21435],"v":[{"k":[20998],"v":[{"k":[25285],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[36127],"v":[{"k":[25285],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[32473],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[22686],"v":[{"k":[21152],"v":[{"k":[36127],"v":[{"k":[25285],"v":[{"k":[12290],"v":[{"k":[22810],"v":[{"k":[21435],"v":[{"k":[20026],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[20026],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[21046],"v":[{"k":[36896],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20854],"v":[{"k":[26159,22312],"v":[{"k":[22312],"v":[{"k":[21021],"v":[{"k":[21019],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[37324],"v":[{"k":[65292],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[24378],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[24102],"v":[{"k":[39046],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[21435],"v":[{"k":[25915],"v":[{"k":[20811],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[38590],"v":[{"k":[39064],"v":[{"k":[65307],"v":[{"k":[20320],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[24369],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[34394],"v":[{"k":[24515],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[65292],"v":[{"k":[21548],"v":[{"k":[21462],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[30340],"v":[{"k":[24847],"v":[{"k":[35265],"v":[{"k":[65292],"v":[{"k":[24182],"v":[{"k":[20998],"v":[{"k":[26512],"v":[{"k":[34701],"v":[{"k":[20837],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21019],"v":[{"k":[19994],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[20013],"v":[{"k":[65292],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[28041],"v":[{"k":[21450],"v":[{"k":[38754],"v":[{"k":[24191],"v":[{"k":[12290],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[33021],"v":[{"k":[39030],"v":[{"k":[22810],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[29702],"v":[{"k":[24819],"v":[{"k":[30340],"v":[{"k":[29366],"v":[{"k":[24577],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[35201],"v":[{"k":[25954],"v":[{"k":[20110],"v":[{"k":[25285],"v":[{"k":[24403],"v":[{"k":[65292],"v":[{"k":[25954],"v":[{"k":[20110],"v":[{"k":[35797],"v":[{"k":[38169],"v":[{"k":[12290],"v":[{"k":[21482],"v":[{"k":[20851],"v":[{"k":[27880],"v":[{"k":[26576],"v":[{"k":[19968],"v":[{"k":[22359],"v":[{"k":[65292],"v":[{"k":[23601],"v":[{"k":[20250],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[29942],"v":[{"k":[39048],"v":[{"k":[65292],"v":[{"k":[33258],"v":[{"k":[36523],"v":[{"k":[38590],"v":[{"k":[31361],"v":[{"k":[30772],"v":[{"k":[65292],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[38590],"v":[{"k":[21019],"v":[{"k":[36896],"v":[{"k":[26356],"v":[{"k":[22823],"v":[{"k":[20215],"v":[{"k":[20540],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32769],"v":[{"k":[21334],"v":[{"k":[32769],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[24456],"v":[{"k":[22810],"v":[{"k":[65292],"v":[{"k":[20294],"v":[{"k":[19981],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[35841],"v":[{"k":[30495],"v":[{"k":[30340],"v":[{"k":[20250],"v":[{"k":[25226],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30475],"v":[{"k":[23478],"v":[{"k":[26412],"v":[{"k":[39046],"v":[{"k":[26080],"v":[{"k":[31169],"v":[{"k":[22857],"v":[{"k":[29486],"v":[{"k":[32473],"v":[{"k":[20320],"v":[{"k":[12290],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[26159],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20027],"v":[{"k":[21160],"v":[{"k":[30340],"v":[{"k":[36807],"v":[{"k":[31243],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[34987],"v":[{"k":[21160],"v":[{"k":[30340],"v":[{"k":[25509],"v":[{"k":[21463],"v":[{"k":[12290],"v":[{"k":[25442],"v":[{"k":[20301],"v":[{"k":[24605],"v":[{"k":[32771],"v":[{"k":[19968],"v":[{"k":[19979],"v":[{"k":[65292],"v":[{"k":[20026],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[35201],"v":[{"k":[25945],"v":[{"k":[20320],"v":[{"k":[65311],"v":[{"k":[20320],"v":[{"k":[36186],"v":[{"k":[20102],"v":[{"k":[38065],"v":[{"k":[21448],"v":[{"k":[19981],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[37117],"v":[{"k":[32473],"v":[{"k":[20182],"v":[{"k":[65292],"v":[{"k":[21453],"v":[{"k":[32780],"v":[{"k":[26377],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[20250],"v":[{"k":[21462],"v":[{"k":[20195],"v":[{"k":[20182],"v":[{"k":[20570],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[65292],"v":[{"k":[34429],"v":[{"k":[28982],"v":[{"k":[27531],"v":[{"k":[37239],"v":[{"k":[20294],"v":[{"k":[36825],"v":[{"k":[25165],"v":[{"k":[26159],"v":[{"k":[29616],"v":[{"k":[23454],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[25351],"v":[{"k":[26395],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[24102],"v":[{"k":[20320],"v":[{"k":[65292],"v":[{"k":[25110],"v":[{"k":[32773],"v":[{"k":[26377],"v":[{"k":[23548],"v":[{"k":[24072],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[25351],"v":[{"k":[24341],"v":[{"k":[20320],"v":[{"k":[65292],"v":[{"k":[38500],"v":[{"k":[38750],"v":[{"k":[20320],"v":[{"k":[26377],"v":[{"k":[38065],"v":[{"k":[20132],"v":[{"k":[22823],"v":[{"k":[25226],"v":[{"k":[30340],"v":[{"k":[23398],"v":[{"k":[36153],"v":[{"k":[65292],"v":[{"k":[32473],"v":[{"k":[36275],"v":[{"k":[20102],"v":[{"k":[23545],"v":[{"k":[26041],"v":[{"k":[29980],"v":[{"k":[22836],"v":[{"k":[12290],"v":[{"k":[19981],"v":[{"k":[28982],"v":[{"k":[65292],"v":[{"k":[20320],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[38752],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[19979,20043],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20813],"v":[{"k":[36153],"v":[{"k":[30340],"v":[{"k":[21320],"v":[{"k":[39184],"v":[{"k":[65292],"v":[{"k":[20063],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[19981],"v":[{"k":[33457],"v":[{"k":[38065],"v":[{"k":[23601],"v":[{"k":[23398],"v":[{"k":[21040],"v":[{"k":[30340],"v":[{"k":[30693],"v":[{"k":[35782],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[26377],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[23398],"v":[{"k":[20063],"v":[{"k":[32610],"v":[{"k":[65292],"v":[{"k":[23398],"v":[{"k":[20102],"v":[{"k":[20063],"v":[{"k":[32047],"v":[{"k":[36184],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36947],"v":[{"k":[65292],"v":[{"k":[25439],"v":[{"k":[26377],"v":[{"k":[20313],"v":[{"k":[32780],"v":[{"k":[34917],"v":[{"k":[19981],"v":[{"k":[36275],"v":[{"k":[12290],"v":[{"k":[20154],"v":[{"k":[20043],"v":[{"k":[36947],"v":[{"k":[21017],"v":[{"k":[19981],"v":[{"k":[28982],"v":[{"k":[65292],"v":[{"k":[25439],"v":[{"k":[19981],"v":[{"k":[36275],"v":[{"k":[20197],"v":[{"k":[22857],"v":[{"k":[26377],"v":[{"k":[20313],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30740],"v":[{"k":[31934],"v":[{"k":[31070],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]},{"k":[36874],"v":[{"d":{"df":1,"dc":[[98,1]]},"k":[26159],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[22909],"v":[{"k":[23398],"v":[{"k":[30340],"v":[{"k":[20154],"v":[{"k":[37117],"v":[{"k":[20849],"v":[{"k":[26377],"v":[{"k":[30340],"v":[{"k":[19968],"v":[{"k":[28857],"v":[{"k":[26126],"v":[{"k":[26174],"v":[{"k":[29305],"v":[{"k":[24449],"v":[{"k":[65292],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[25105],"v":[{"k":[20063],"v":[{"k":[23558],"v":[{"k":[20854],"v":[{"k":[21193],"v":[{"k":[24378],"v":[{"k":[24402],"v":[{"k":[20837],"v":[{"k":[23398],"v":[{"k":[20064],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[20043],"v":[{"k":[20013],"v":[{"k":[12290],"v":[{"k":[21482],"v":[{"k":[35201],"v":[{"k":[33021],"v":[{"k":[23398],"v":[{"k":[21040],"v":[{"k":[26412],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[25918],"v":[{"k":[19979],"v":[{"k":[37027],"v":[{"k":[19968],"v":[{"k":[25991],"v":[{"k":[19981],"v":[{"k":[20540],"v":[{"k":[30340],"v":[{"k":[23562],"v":[{"k":[20005],"v":[{"k":[21543],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[98,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20540],"v":[{"k":[34913,35780],"v":[{"k":[37327],"v":[{"d":{"df":1,"dc":[[99,1]]}}]},{"k":[21028],"v":[{"k":[29289],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[99,3]]}}]}]}]}]}]},{"k":[29486],"v":[{"k":[20102],"v":[{"k":[22810],"v":[{"k":[20040],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[20195],"v":[{"k":[30721],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20041],"v":[{"k":[26159],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]},{"k":[30340],"v":[{"k":[39640,26377],"v":[{"k":[25928],"v":[{"k":[21527],"v":[{"k":[63],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]},{"k":[37027],"v":[{"k":[20040],"v":[{"k":[22810],"v":[{"k":[26126],"v":[{"k":[26174],"v":[{"k":[30340],"v":[{"k":[30028],"v":[{"k":[38480],"v":[{"k":[21527],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20820],"v":[{"k":[36187],"v":[{"k":[36305],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]},{"k":[23376],"v":[{"k":[30561],"v":[{"k":[20102],"v":[{"k":[19968],"v":[{"k":[35273],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]},{"k":[24471],"v":[{"k":[22914],"v":[{"k":[20309],"v":[{"k":[23558],"v":[{"k":[33258],"v":[{"k":[24049],"v":[{"k":[30340],"v":[{"k":[20219],"v":[{"k":[21153],"v":[{"k":[20998],"v":[{"k":[20248],"v":[{"k":[20808],"v":[{"k":[32423],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33267],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[24110],"v":[{"k":[21161],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[37327],"v":[{"k":[26159,35780],"v":[{"k":[26368],"v":[{"k":[33021],"v":[{"k":[35780],"v":[{"k":[21028],"v":[{"k":[19968],"v":[{"k":[20010],"v":[{"k":[20248],"v":[{"k":[31168],"v":[{"k":[24037],"v":[{"k":[31243],"v":[{"k":[24072],"v":[{"k":[30340],"v":[{"k":[25351],"v":[{"k":[26631],"v":[{"k":[20102],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21028],"v":[{"k":[21442],"v":[{"k":[32771],"v":[{"k":[26631],"v":[{"k":[20934],"v":[{"k":[58],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]}]},{"k":[27861],"v":[{"k":[41,12289],"v":[{"d":{"df":1,"dc":[[99,1]]}},{"k":[36923],"v":[{"k":[36753],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[99,1]]}},{"k":[30422],"v":[{"k":[26356],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[24615],"v":[{"d":{"df":1,"dc":[[99,1]]}}]}]}]}]}]}]}]},{"k":[35797],"v":[{"k":[20013],"v":[{"k":[20174],"v":[{"k":[32454],"v":[{"k":[33410],"v":[{"k":[35266],"v":[{"k":[23519],"v":[{"k":[65292],"v":[{"k":[22914],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[27010],"v":[{"k":[24565],"v":[{"k":[65292],"v":[{"k":[36831],"v":[{"k":[21040],"v":[{"k":[12289],"v":[{"k":[36214],"v":[{"k":[26102],"v":[{"k":[38388],"v":[{"k":[30340],"v":[{"k":[19981],"v":[{"k":[20248],"v":[{"k":[20808],"v":[{"k":[32771],"v":[{"k":[34385],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30028],"v":[{"k":[29421,26377],"v":[{"k":[31364],"v":[{"k":[19981],"v":[{"k":[25307],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]},{"k":[22810],"v":[{"k":[24320],"v":[{"k":[38420],"v":[{"k":[65292],"v":[{"k":[19990],"v":[{"k":[30028],"v":[{"k":[23601],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[23485],"v":[{"k":[24191],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[32773],"v":[{"k":[30340],"v":[{"k":[20849],"v":[{"k":[21516],"v":[{"k":[29305],"v":[{"k":[28857],"v":[{"k":[26159],"v":[{"k":[65306],"v":[{"k":[19968],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[30475],"v":[{"k":[28165],"v":[{"k":[20102],"v":[{"k":[29289],"v":[{"k":[36136],"v":[{"k":[24555],"v":[{"k":[20048],"v":[{"k":[30340],"v":[{"k":[26377],"v":[{"k":[38480],"v":[{"k":[65292],"v":[{"k":[26368],"v":[{"k":[23569],"v":[{"k":[30340],"v":[{"k":[29289],"v":[{"k":[36136],"v":[{"k":[23601],"v":[{"k":[33021],"v":[{"k":[20351],"v":[{"k":[20182],"v":[{"k":[20204],"v":[{"k":[28385],"v":[{"k":[36275],"v":[{"k":[65307],"v":[{"k":[21478],"v":[{"k":[19968],"v":[{"k":[26041],"v":[{"k":[38754],"v":[{"k":[65292],"v":[{"k":[22240],"v":[{"k":[20026],"v":[{"k":[28212],"v":[{"k":[26395],"v":[{"k":[26080],"v":[{"k":[38480],"v":[{"k":[30340],"v":[{"k":[31934],"v":[{"k":[31070],"v":[{"k":[24555],"v":[{"k":[20048],"v":[{"k":[65292],"v":[{"k":[20877],"v":[{"k":[22810],"v":[{"k":[30340],"v":[{"k":[29289],"v":[{"k":[36136],"v":[{"k":[20063],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[20351],"v":[{"k":[20182],"v":[{"k":[20204],"v":[{"k":[28385],"v":[{"k":[36275],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[27493],"v":[{"k":[33258],"v":[{"k":[23553],"v":[{"k":[19981],"v":[{"k":[30041],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]},{"k":[26399],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[36827],"v":[{"k":[27493],"v":[{"k":[65292],"v":[{"k":[22312],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[26085],"v":[{"k":[26032],"v":[{"k":[26376],"v":[{"k":[24322],"v":[{"k":[30340],"v":[{"k":[26102],"v":[{"k":[20195],"v":[{"k":[37324],"v":[{"k":[65292],"v":[{"k":[31561],"v":[{"k":[21516],"v":[{"k":[20110],"v":[{"k":[36864],"v":[{"k":[27493],"v":[{"k":[12290],"v":[{"k":[27605],"v":[{"k":[31455],"v":[{"k":[36825],"v":[{"k":[20010],"v":[{"k":[34892],"v":[{"k":[19994],"v":[{"k":[26089],"v":[{"k":[23601],"v":[{"k":[27809],"v":[{"k":[26377],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[36824],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[19968],"v":[{"k":[25307],"v":[{"k":[40092],"v":[{"k":[21507],"v":[{"k":[36941],"v":[{"k":[22825],"v":[{"k":[30340],"v":[{"k":[25216],"v":[{"k":[33021],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[30382],"v":[{"k":[29699],"v":[{"k":[26159],"v":[{"k":[26368],"v":[{"k":[24524],"v":[{"k":[35763],"v":[{"k":[30340],"v":[{"k":[65292],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[30340],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[24456],"v":[{"k":[37325],"v":[{"k":[35201],"v":[{"k":[12290],"v":[{"k":[35201],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[25110],"v":[{"k":[24110],"v":[{"k":[21161],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[35299],"v":[{"k":[20915],"v":[{"k":[20844],"v":[{"k":[21496],"v":[{"k":[20013],"v":[{"k":[28508],"v":[{"k":[22312],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[19981],"v":[{"k":[26159],"v":[{"k":[36935],"v":[{"k":[21040],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[21482],"v":[{"k":[33021],"v":[{"k":[25351],"v":[{"k":[26395],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33778],"v":[{"k":[23450],"v":[{"k":[24459],"v":[{"k":[65292],"v":[{"k":[36234],"v":[{"k":[25285],"v":[{"k":[24515],"v":[{"k":[21457],"v":[{"k":[29983],"v":[{"k":[30340],"v":[{"k":[20107],"v":[{"k":[24773],"v":[{"k":[23601],"v":[{"k":[36234],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[21457],"v":[{"k":[29983],"v":[{"k":[12290],"v":[{"k":[24773],"v":[{"k":[32490],"v":[{"k":[23481],"v":[{"k":[26131],"v":[{"k":[20256],"v":[{"k":[36882],"v":[{"k":[65292],"v":[{"k":[22242],"v":[{"k":[38431],"v":[{"k":[37324],"v":[{"k":[23613],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[37117],"v":[{"k":[26159],"v":[{"k":[20048],"v":[{"k":[35266],"v":[{"k":[27491],"v":[{"k":[33021],"v":[{"k":[37327],"v":[{"k":[30340],"v":[{"k":[27675],"v":[{"k":[22260],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[36133],"v":[{"k":[26159],"v":[{"k":[25104],"v":[{"k":[21151],"v":[{"k":[20043],"v":[{"k":[27597],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[26377],"v":[{"k":[36234],"v":[{"k":[25387],"v":[{"k":[36234],"v":[{"k":[21191],"v":[{"k":[65292],"v":[{"k":[25165],"v":[{"k":[33021],"v":[{"k":[26377],"v":[{"k":[25152],"v":[{"k":[31361],"v":[{"k":[30772],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20102],"v":[{"k":[19968],"v":[{"k":[38149],"v":[{"k":[31909],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]},{"k":[24895],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[20302],"v":[{"k":[19968],"v":[{"k":[20123],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]},{"k":[36367],"v":[{"k":[23454],"v":[{"k":[23454],"v":[{"k":[20570],"v":[{"k":[23454],"v":[{"k":[20107],"v":[{"k":[26159],"v":[{"k":[27599],"v":[{"k":[20010],"v":[{"k":[21592],"v":[{"k":[24037],"v":[{"k":[24212],"v":[{"k":[23613],"v":[{"k":[30340],"v":[{"k":[20041],"v":[{"k":[21153],"v":[{"k":[21644],"v":[{"k":[36131],"v":[{"k":[20219],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35201],"v":[{"k":[20139],"v":[{"k":[21463],"v":[{"k":[30528],"v":[{"k":[36319],"v":[{"k":[21035],"v":[{"k":[20154],"v":[{"k":[19968],"v":[{"k":[26679],"v":[{"k":[30340],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[24453],"v":[{"k":[36935],"v":[{"k":[63],"v":[{"d":{"df":1,"dc":[[100,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[35828],"v":[{"k":[24223],"v":[{"k":[35805],"v":[{"k":[22810],"v":[{"k":[20570],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[51],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]},{"k":[31616],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[20027,20154],"v":[{"k":[39064],"v":[{"k":[65292],"v":[{"k":[21482],"v":[{"k":[35752],"v":[{"k":[35770],"v":[{"k":[26680],"v":[{"k":[24515],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[21644],"v":[{"k":[28041],"v":[{"k":[21450],"v":[{"k":[38754],"v":[{"k":[36739],"v":[{"k":[24191],"v":[{"k":[30340],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[65307],"v":[{"k":[20854],"v":[{"k":[20182],"v":[{"k":[38382],"v":[{"k":[39064],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[31169],"v":[{"k":[19979],"v":[{"k":[32452],"v":[{"k":[32455],"v":[{"k":[23567],"v":[{"k":[33539],"v":[{"k":[22260],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[25110],"v":[{"k":[35752],"v":[{"k":[35770],"v":[{"k":[65292],"v":[{"k":[36755],"v":[{"k":[20986],"v":[{"k":[25991],"v":[{"k":[26723],"v":[{"k":[31561],"v":[{"k":[24418],"v":[{"k":[24335],"v":[{"k":[36890],"v":[{"k":[30693],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21592],"v":[{"k":[65292],"v":[{"k":[26080],"v":[{"k":[20851],"v":[{"k":[20154],"v":[{"k":[21592],"v":[{"k":[19981],"v":[{"k":[21442],"v":[{"k":[19982],"v":[{"k":[65292],"v":[{"k":[33509],"v":[{"k":[30456],"v":[{"k":[20851],"v":[{"k":[20154],"v":[{"k":[21592],"v":[{"k":[21487],"v":[{"k":[20197],"v":[{"k":[22312],"v":[{"k":[20250],"v":[{"k":[21069],"v":[{"k":[35752],"v":[{"k":[35770],"v":[{"k":[21644],"v":[{"k":[20250],"v":[{"k":[21518],"v":[{"k":[36890],"v":[{"k":[30693],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[24030],"v":[{"k":[35774],"v":[{"k":[32622],"v":[{"k":[21608],"v":[{"k":[19977],"v":[{"k":[20026],"v":[{"k":[26080],"v":[{"k":[20250],"v":[{"k":[26085],"v":[{"k":[40],"v":[{"k":[25351],"v":[{"k":[27599],"v":[{"k":[21608],"v":[{"k":[19977],"v":[{"k":[19981],"v":[{"k":[21484],"v":[{"k":[24320],"v":[{"k":[24066],"v":[{"k":[22996],"v":[{"k":[24120],"v":[{"k":[22996],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[12289],"v":[{"k":[24066],"v":[{"k":[25919],"v":[{"k":[24220],"v":[{"k":[24120],"v":[{"k":[21153],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[12289],"v":[{"k":[24066],"v":[{"k":[38271],"v":[{"k":[21150],"v":[{"k":[20844],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[23433],"v":[{"k":[25490],"v":[{"k":[20197],"v":[{"k":[24066],"v":[{"k":[22996],"v":[{"k":[12289],"v":[{"k":[24066],"v":[{"k":[25919],"v":[{"k":[24220],"v":[{"k":[25110],"v":[{"k":[24066],"v":[{"k":[22996],"v":[{"k":[21150],"v":[{"k":[20844],"v":[{"k":[21381],"v":[{"k":[12289],"v":[{"k":[24066],"v":[{"k":[25919],"v":[{"k":[24220],"v":[{"k":[21150],"v":[{"k":[20844],"v":[{"k":[21381],"v":[{"k":[21450],"v":[{"k":[37096],"v":[{"k":[38376],"v":[{"k":[21517],"v":[{"k":[20041],"v":[{"k":[20030],"v":[{"k":[34892],"v":[{"k":[30340],"v":[{"k":[20840],"v":[{"k":[24066],"v":[{"k":[24615],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[25110],"v":[{"k":[27963],"v":[{"k":[21160],"v":[{"k":[65292],"v":[{"k":[24066],"v":[{"k":[22996],"v":[{"k":[24120],"v":[{"k":[22996],"v":[{"k":[12289],"v":[{"k":[21103],"v":[{"k":[24066],"v":[{"k":[38271],"v":[{"k":[19981],"v":[{"k":[21484],"v":[{"k":[24320],"v":[{"k":[30740],"v":[{"k":[31350],"v":[{"k":[37096],"v":[{"k":[32626],"v":[{"k":[24037],"v":[{"k":[20316],"v":[{"k":[30340],"v":[{"k":[21508],"v":[{"k":[31867],"v":[{"k":[19987],"v":[{"k":[39064],"v":[{"k":[20250],"v":[{"k":[35758],"v":[{"k":[41],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[101,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[39048],"v":[{"k":[26469],"v":[{"k":[28304],"v":[{"k":[20998],"v":[{"k":[20026],"v":[{"k":[20004],"v":[{"k":[31181],"v":[{"k":[65306],"v":[{"k":[33258],"v":[{"k":[36523],"v":[{"k":[32570],"v":[{"k":[38519],"v":[{"k":[12289],"v":[{"k":[22806],"v":[{"k":[37096],"v":[{"k":[32570],"v":[{"k":[38519],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[26381],"v":[{"k":[33258],"v":[{"k":[36523],"v":[{"k":[32570],"v":[{"k":[38519],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]},{"k":[30861,27490],"v":[{"k":[19968,20010],"v":[{"k":[20010],"v":[{"k":[20154],"v":[{"k":[21457],"v":[{"k":[23637],"v":[{"k":[30340],"v":[{"k":[20027],"v":[{"k":[35201],"v":[{"k":[22240],"v":[{"k":[32032],"v":[{"k":[65292],"v":[{"k":[24448],"v":[{"k":[24448],"v":[{"k":[24182],"v":[{"k":[19981],"v":[{"k":[22312],"v":[{"k":[20110],"v":[{"k":[33021],"v":[{"k":[21147],"v":[{"k":[65292],"v":[{"k":[32780],"v":[{"k":[26159],"v":[{"k":[32570],"v":[{"k":[38519],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20154],"v":[{"k":[25104],"v":[{"k":[38271],"v":[{"k":[30340],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]},{"k":[35831],"v":[{"k":[27714],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]},{"k":[23519],"v":[{"k":[22806],"v":[{"k":[37096],"v":[{"k":[32570],"v":[{"k":[38519],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]},{"k":[21017],"v":[{"k":[29420],"v":[{"k":[21892],"v":[{"k":[20854],"v":[{"k":[36523],"v":[{"k":[65292],"v":[{"k":[36798],"v":[{"k":[21017],"v":[{"k":[20860],"v":[{"k":[27982],"v":[{"k":[22825],"v":[{"k":[19979],"v":[{"k":[12290],"v":[{"k":[22914],"v":[{"k":[26524],"v":[{"k":[19981],"v":[{"k":[33021],"v":[{"k":[22815],"v":[{"k":[20462],"v":[{"k":[22797],"v":[{"k":[37027],"v":[{"k":[22359],"v":[{"k":[26368],"v":[{"k":[30701],"v":[{"k":[30340],"v":[{"k":[26408],"v":[{"k":[26495],"v":[{"k":[65292],"v":[{"k":[35201],"v":[{"k":[20040],"v":[{"k":[23558],"v":[{"k":[20854],"v":[{"k":[25442],"v":[{"k":[25481],"v":[{"k":[65292],"v":[{"k":[35201],"v":[{"k":[20040],"v":[{"k":[20840],"v":[{"k":[36523],"v":[{"k":[32780],"v":[{"k":[36864],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31350],"v":[{"k":[38750],"v":[{"k":[24120],"v":[{"k":[28145],"v":[{"k":[20837],"v":[{"k":[46],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[26356],"v":[{"k":[22909],"v":[{"k":[22320],"v":[{"k":[22312],"v":[{"k":[32844],"v":[{"k":[22330],"v":[{"k":[20013],"v":[{"k":[31435],"v":[{"k":[36275],"v":[{"k":[44],"v":[{"d":{"df":1,"dc":[[102,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26426],"v":[{"k":[19978,21495],"v":[{"k":[30340],"v":[{"k":[26410],"v":[{"k":[35835],"v":[{"k":[36890],"v":[{"k":[30693],"v":[{"k":[19968],"v":[{"k":[23450],"v":[{"k":[35201],"v":[{"k":[20840],"v":[{"k":[37096],"v":[{"k":[28040],"v":[{"k":[28781],"v":[{"k":[25481],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"d":{"df":1,"dc":[[109,2]]}}]}]},{"k":[29273],"v":[{"k":[33167],"v":[{"k":[19968],"v":[{"k":[23450],"v":[{"k":[24471],"v":[{"k":[20174],"v":[{"k":[26681],"v":[{"k":[37096],"v":[{"k":[24320],"v":[{"k":[22987],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[27714],"v":[{"k":[23436],"v":[{"k":[32654],"v":[{"k":[26159],"v":[{"k":[22909],"v":[{"k":[20107],"v":[{"k":[65292],"v":[{"k":[36807],"v":[{"k":[20998],"v":[{"k":[36861],"v":[{"k":[27714],"v":[{"k":[23601],"v":[{"k":[26159],"v":[{"k":[21561],"v":[{"k":[27611],"v":[{"k":[27714],"v":[{"k":[30133],"v":[{"k":[65292],"v":[{"k":[25928],"v":[{"k":[29575],"v":[{"k":[21069],"v":[{"k":[26399],"v":[{"k":[25552],"v":[{"k":[39640],"v":[{"k":[21518],"v":[{"k":[26399],"v":[{"k":[24517],"v":[{"k":[28982],"v":[{"k":[20250],"v":[{"k":[19979],"v":[{"k":[38477],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[23478],"v":[{"k":[30340],"v":[{"k":[31532],"v":[{"k":[19968],"v":[{"k":[21407],"v":[{"k":[21017],"v":[{"k":[26159],"v":[{"k":[8220],"v":[{"k":[36947],"v":[{"k":[27861],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[8221],"v":[{"k":[12290],"v":[{"k":[39034],"v":[{"k":[24212],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[35201],"v":[{"k":[36807],"v":[{"k":[20110],"v":[{"k":[21051],"v":[{"k":[24847],"v":[{"k":[65292],"v":[{"k":[8220],"v":[{"k":[21435],"v":[{"k":[29978],"v":[{"k":[65292],"v":[{"k":[21435],"v":[{"k":[22882],"v":[{"k":[65292],"v":[{"k":[21435],"v":[{"k":[27888],"v":[{"k":[8221],"v":[{"k":[12290],"v":[{"k":[20154],"v":[{"k":[35201],"v":[{"k":[20197],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[30340],"v":[{"k":[24577],"v":[{"k":[24230],"v":[{"k":[23545],"v":[{"k":[24453],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[65292],"v":[{"k":[23545],"v":[{"k":[24453],"v":[{"k":[20182],"v":[{"k":[20154],"v":[{"k":[65292],"v":[{"k":[23545],"v":[{"k":[24453],"v":[{"k":[33258],"v":[{"k":[25105],"v":[{"k":[12290],"v":[{"k":[25152],"v":[{"k":[20197],"v":[{"k":[20250],"v":[{"k":[26377],"v":[{"k":[8220],"v":[{"k":[33258],"v":[{"k":[28982],"v":[{"k":[8212],"v":[{"k":[8212],"v":[{"k":[37322],"v":[{"k":[28982],"v":[{"k":[8212],"v":[{"k":[8212],"v":[{"k":[24403],"v":[{"k":[28982],"v":[{"k":[8212],"v":[{"k":[8212],"v":[{"k":[24609],"v":[{"k":[28982],"v":[{"k":[8221],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[103,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[31455],"v":[{"k":[21676],"v":[{"k":[25991],"v":[{"k":[22204],"v":[{"k":[23383],"v":[{"k":[29609],"v":[{"k":[25991],"v":[{"k":[23383],"v":[{"k":[28216],"v":[{"k":[25103],"v":[{"k":[26377],"v":[{"k":[22810],"v":[{"k":[22823],"v":[{"k":[24847],"v":[{"k":[20041],"v":[{"k":[65311],"v":[{"d":{"df":1,"dc":[[104,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[20284],"v":[{"k":[31616],"v":[{"k":[21333],"v":[{"k":[65292],"v":[{"k":[20854],"v":[{"k":[23454],"v":[{"k":[19981],"v":[{"k":[26131],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[105,1]]}}]}]}]}]}]}]}]}]}]},{"k":[20986,26102],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"k":[65292],"v":[{"k":[27491],"v":[{"k":[30830],"v":[{"k":[29992],"v":[{"k":[25143],"v":[{"k":[23494],"v":[{"k":[30721],"v":[{"k":[30331],"v":[{"k":[24405],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[26159],"v":[{"k":[21542],"v":[{"k":[22312],"v":[{"k":[21512],"v":[{"k":[29702],"v":[{"k":[33539],"v":[{"k":[22260],"v":[{"k":[20869],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[19979],"v":[{"k":[30340],"v":[{"k":[32534],"v":[{"k":[30721],"v":[{"k":[37096],"v":[{"k":[20998],"v":[{"k":[23601],"v":[{"k":[27809],"v":[{"k":[20160],"v":[{"k":[20040],"v":[{"k":[21487],"v":[{"k":[35762],"v":[{"k":[30340],"v":[{"k":[20102],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[106,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[33021],"v":[{"k":[27169],"v":[{"k":[22359],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]},{"k":[21450],"v":[{"k":[21442],"v":[{"k":[25968],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[109,3]]}}]}]}]}]},{"k":[20449],"v":[{"k":[39564],"v":[{"k":[35777],"v":[{"k":[30721],"v":[{"d":{"df":1,"dc":[[109,2]]},"k":[21457],"v":[{"k":[36865],"v":[{"k":[39057],"v":[{"k":[29575],"v":[{"k":[38480],"v":[{"k":[21046],"v":[{"d":{"df":1,"dc":[[109,1]]}}]}]}]}]}]}]}]}]}]}]},{"k":[26463],"v":[{"k":[26465],"v":[{"k":[20214],"v":[{"k":[65306],"v":[{"d":{"df":1,"dc":[[109,2]]}}]}]}]}]},{"k":[21319],"v":[{"k":[65306],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[25968],"v":[{"k":[24773],"v":[{"k":[20917],"v":[{"k":[26159],"v":[{"k":[27515],"v":[{"k":[24490],"v":[{"k":[29615],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]},{"k":[33268],"v":[{"k":[27515],"v":[{"k":[24490],"v":[{"k":[29615],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]},{"k":[24490],"v":[{"k":[29615],"v":[{"k":[22823],"v":[{"k":[22810],"v":[{"k":[21457],"v":[{"k":[29983],"v":[{"k":[20110],"v":[{"k":[23545],"v":[{"k":[25968],"v":[{"k":[25454],"v":[{"k":[36941],"v":[{"k":[21382],"v":[{"k":[30340],"v":[{"k":[22788],"v":[{"k":[29702],"v":[{"k":[12290],"v":[{"k":[20135],"v":[{"k":[29983],"v":[{"k":[27515],"v":[{"k":[24490],"v":[{"k":[29615],"v":[{"k":[26368],"v":[{"k":[22823],"v":[{"k":[30340],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[21407],"v":[{"k":[22240],"v":[{"k":[26159],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[95],"v":[{"k":[24490],"v":[{"k":[29615],"v":[{"k":[30340],"v":[{"k":[26465],"v":[{"k":[20214],"v":[{"k":[95],"v":[{"k":[42],"v":[{"k":[42],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[29992],"v":[{"k":[36827],"v":[{"k":[34892],"v":[{"k":[30417],"v":[{"k":[25511],"v":[{"k":[65292],"v":[{"k":[33258],"v":[{"k":[21160],"v":[{"k":[37325],"v":[{"k":[21551],"v":[{"k":[26381],"v":[{"k":[21153],"v":[{"k":[12290],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]},{"k":[21462],"v":[{"k":[35201],"v":[{"k":[24322],"v":[{"k":[24120],"v":[{"k":[25429],"v":[{"k":[33719],"v":[{"k":[65292],"v":[{"k":[19981],"v":[{"k":[28982],"v":[{"k":[31713],"v":[{"k":[25913],"v":[{"k":[20540],"v":[{"k":[21487],"v":[{"k":[33021],"v":[{"k":[23548],"v":[{"k":[33268],"v":[{"k":[31243],"v":[{"k":[24207],"v":[{"k":[23849],"v":[{"d":{"df":1,"dc":[[110,1]]}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}}}}}],"databaseVersion":1.5,"engineVersion":1.5,"filename":"content.db","_persistenceAdapter":null,"_persistenceMethod":null,"_throttledSaves":true} \ No newline at end of file diff --git a/_nuxt/db86cb3.js b/_nuxt/db86cb3.js new file mode 100644 index 00000000..b930e6f2 --- /dev/null +++ b/_nuxt/db86cb3.js @@ -0,0 +1 @@ +!function(e){function r(data){for(var r,n,f=data[0],l=data[1],d=data[2],i=0,h=[];i=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,h=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){h=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(h)throw o}}}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i1&&void 0!==arguments[1]?arguments[1]:[];return Object.keys(e).filter((function(e){return t.includes(e)})).reduce((function(t,n){return Object.assign(t,c({},n,e[n]))}),{})},w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Object.keys(e).filter((function(e){return!t.includes(e)})).reduce((function(t,n){return Object.assign(t,c({},n,e[n]))}),{})},m=function(){"use strict";function e(t,n){var r=t.query,path=t.path,o=t.init,text=t.text,h=t.postprocess,c=void 0===h?[]:h;l(this,e),this.query=r,this.path=path,this.init=o,this.postprocess=c,this.options=n||{},this.onlyKeys=null,this.withoutKeys=null,this.sortKeys=[],this.limitN=null,this.skipN=null,text||this.postprocess.unshift((function(data){return data.map((function(e){return w(e,["text"])}))}))}var t;return h(e,[{key:"only",value:function(e){return this.onlyKeys=Array.isArray(e)?e:[e],this}},{key:"without",value:function(e){return this.withoutKeys=Array.isArray(e)?e:[e],this}},{key:"sortBy",value:function(e,t){return this.sortKeys.push([e,"desc"===t]),this}},{key:"where",value:function(e){return this.query=this.query.find(e),this}},{key:"search",value:function(e,t){return e?(n="object"===o(e)?e:t?{query:{type:"match",field:e,value:t,prefix_length:1,fuzziness:1,extended:!0,minimum_should_match:1}}:{query:{type:"bool",should:this.options.fullTextSearchFields.map((function(t){return{type:"match",field:t,value:e,prefix_length:1,operator:"and",minimum_should_match:1,fuzziness:1,extended:!0}}))}},this.query=this.query.find({$fts:n}).sortByScoring(),this):this;var n}},{key:"surround",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.before,r=void 0===n?1:n,o=t.after,l=void 0===o?1:o,h=0===e.indexOf("/")?"path":"slug";this.onlyKeys&&this.onlyKeys.push(h),this.withoutKeys&&(this.withoutKeys=this.withoutKeys.filter((function(e){return e!==h})));var c=function(data){var t=data.findIndex((function(t){return t[h]===e})),n=new Array(r+l).fill(null,0);if(-1===t)return n;for(var o=data.slice(t-r,t),c=data.slice(t+1,t+1+l),d=0,i=r-1;i>=0;i--)n[i]=o[d]||null,d++;for(var f=0,_=r;_<=l;_++)n[_]=c[f]||null,f++;return n};return this.postprocess.push(c),this}},{key:"limit",value:function(e){return"string"==typeof e&&(e=parseInt(e)),this.limitN=e,this}},{key:"skip",value:function(e){return"string"==typeof e&&(e=parseInt(e)),this.skipN=e,this}},{key:"fetch",value:(t=r(regeneratorRuntime.mark((function e(){var data,t,n,r,o,l,h=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.sortKeys&&this.sortKeys.length&&(this.query=this.query.compoundsort(this.sortKeys)),this.skipN&&(this.query=this.query.offset(this.skipN)),this.limitN&&(this.query=this.query.limit(this.limitN)),data=this.query.data({removeMeta:!0}),this.onlyKeys&&(this.options.watch&&this.onlyKeys.push("path","extension"),t=function(data){return data.map((function(e){return _(e,h.onlyKeys)}))},this.postprocess.unshift(t)),this.withoutKeys&&(this.options.watch&&(this.withoutKeys=this.withoutKeys.filter((function(e){return!["path","extension"].includes(e)}))),n=function(data){return data.map((function(e){return w(e,h.withoutKeys)}))},this.postprocess.unshift(n)),r=d(this.postprocess);try{for(r.s();!(o=r.n()).done;)l=o.value,data=l(data)}catch(e){r.e(e)}finally{r.f()}if(data){e.next=10;break}throw new Error("".concat(this.path," not found"));case 10:return e.abrupt("return",JSON.parse(JSON.stringify(data)));case 11:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();e.exports=m},264:function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=n=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),n(t)}e.exports=n,e.exports.default=e.exports,e.exports.__esModule=!0},265:function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},266:function(e,t){function n(e,t){for(var i=0;i1?arguments[1]:void 0)}}),n(83)(l)},269:function(e,t,n){var r=n(8);r(r.P,"Array",{fill:n(270)}),n(83)("fill")},270:function(e,t,n){"use strict";var r=n(44),o=n(115),l=n(32);e.exports=function(e){for(var t=r(this),n=l(t.length),h=arguments.length,c=o(h>1?arguments[1]:void 0,n),d=h>2?arguments[2]:void 0,f=void 0===d?n:o(d,n);f>c;)t[c++]=e;return t}},271:function(e,t,n){var r;"undefined"!=typeof self&&self,r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},n.p="",n(n.s=8)}([function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2);let o={js:(e,t)=>e===t?0:ee==t?0:e{let n=new Date(e).toISOString(),r=new Date(t).toISOString();return n==r?0:nObject(r.b)(e,t)?0:Object(r.c)(e,t,!1)?-1:1}},function(e,t,n){"use strict";(function(e){function r(){let t;return function(e){t=e}(void 0!==e&&e||this),t}n.d(t,"a",(function(){return o}));const o=function(){const e=r(),t=Symbol.for("LOKI");return void 0===e[t]&&(e[t]={}),e[t]}()}).call(this,n(7))},function(e,t,n){"use strict";function r(e,t){if(e===t)return!0;if(!e||!t||!0===e||!0===t||e!=e||t!=t){let n,r;switch(e){case void 0:case null:n=1;break;case!1:n=3;break;case!0:n=4;break;case"":n=5;break;default:n=e==e?9:0}switch(t){case void 0:case null:r=1;break;case!1:r=3;break;case!0:r=4;break;case"":r=5;break;default:r=t==t?9:0}if(9!==n||9!==r)return n===r}let n=Number(e),r=Number(t);return n==n||r==r?n===r:(n=e.toString(),r=t.toString(),n==r)}function o(e,t,n){if(!e||!t||!0===e||!0===t||e!=e||t!=t){let r,o;switch(e){case void 0:case null:r=1;break;case!1:r=3;break;case!0:r=4;break;case"":r=5;break;default:r=e==e?9:0}switch(t){case void 0:case null:o=1;break;case!1:o=3;break;case!0:o=4;break;case"":o=5;break;default:o=t==t?9:0}if(9!==r||9!==o)return r===o?n:ro)&&n:r==r&&o!=o||(o!=o||r==r)&&(et)&&(e==t?n:(r=e.toString(),o=t.toString(),ro}let r=Number(e),o=Number(t);return r==r&&o==o?r>o||!(rt||!(eo||r==o&&n)))}function h(e,t,n){return r(e,t)?0:o(e,t,!1)?n?1:-1:l(e,t,!1)?n?-1:1:0}n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return o})),n.d(t,"d",(function(){return h})),n.d(t,"a",(function(){return d}));class c{$eq(a,b){return a===b}$ne(a,b){return a!==b}$gt(a,b){return a>b}$gte(a,b){return a>=b}$lt(a,b){return a=e[0]&&a<=e[1]}$in(a,b){return-1!==b.indexOf(a)}$nin(a,b){return-1===b.indexOf(a)}$keyin(a,b){return a in b}$nkeyin(a,b){return!(a in b)}$definedin(a,b){return void 0!==b[a]}$undefinedin(a,b){return void 0===b[a]}$regex(a,b){return b.test(a)}$containsNone(a,b){return!this.$containsAny(a,b)}$containsAny(a,b){const e=this.containsCheckFn(a);return null!==e&&(Array.isArray(b)?b.some(e):e(b))}$contains(a,b){const e=this.containsCheckFn(a);return null!==e&&(Array.isArray(b)?b.every(e):e(b))}$type(a,b){let e=typeof a;return"object"===e&&(Array.isArray(a)?e="array":a instanceof Date&&(e="date")),"object"!=typeof b?e===b:this.doQueryOp(e,b)}$finite(a,b){return b===isFinite(a)}$size(a,b){return!!Array.isArray(a)&&("object"!=typeof b?a.length===b:this.doQueryOp(a.length,b))}$len(a,b){return"string"==typeof a&&("object"!=typeof b?a.length===b:this.doQueryOp(a.length,b))}$where(a,b){return!0===b(a)}$not(a,b){return!this.doQueryOp(a,b)}$and(a,b){for(let e=0,t=b.length;e-1!==a.indexOf(b):"object"==typeof a&&null!==a?b=>Object.hasOwnProperty.call(a,b):null}}let d={js:new c,loki:new class extends c{constructor(){super()}$eq(a,b){return r(a,b)}$ne(a,b){return!r(a,b)}$gt(a,b){return l(a,b,!1)}$gte(a,b){return l(a,b,!0)}$lt(a,b){return o(a,b,!1)}$lte(a,b){return o(a,b,!0)}$between(a,e){return null!=a&&l(a,e[0],!0)&&o(a,e[1],!0)}}}},function(e,t,n){"use strict";var r=n(5);class o{constructor(e){this._field=e,this._lokiMap={},this._valMap={}}set(e,t){if(null!=t){if(t in this._lokiMap)throw new Error("Duplicate key for property "+this._field+": "+t);if(e in this._valMap)throw new Error("Duplicate key for property $loki : "+e);this._lokiMap[t]=e,this._valMap[e]=t}}get(e){return this._lokiMap[e]}update(e,t){if(t!==this._valMap[e]){if(t in this._lokiMap)throw new Error("Duplicate key for property "+this._field+": "+t);this.remove(e),this.set(e,t)}}remove(e){if(!(e in this._valMap))throw new Error("Key is not in unique index: "+this._field);let t=this._valMap[e];delete this._lokiMap[t],delete this._valMap[e]}clear(){this._lokiMap={},this._valMap={}}}function l(e,t,n){return e instanceof Array?(e.push(n),e[e.length-1]):e instanceof Object?(e[t]=n,e[t]):void 0}function h(e,t){for(let n in e){let r=e[n];r instanceof Date?l(t,n,new Date(r.getTime())):r instanceof Function?l(t,n,r):r instanceof Array?h(r,l(t,n,[])):r instanceof Object?h(r,l(t,n,{})):l(t,n,r)}}function c(e){if(/number|string|boolean/.test(typeof e))return e;if(e instanceof Date)return new Date(e.getTime());const t=e instanceof Array?[]:{};return h(e,t),t}function d(data,e="parse-stringify"){if(null==data)return null;let t;switch(e){case"parse-stringify":t=JSON.parse(JSON.stringify(data));break;case"deep":t=c(data);break;case"shallow":t=Object.create(data.constructor.prototype),Object.assign(t,data);break;case"shallow-recurse":t=d(data,"shallow");const e=Object.keys(data);for(let i=0;i=10)return e;for(const r in e)if("string"==typeof e[r]&&0===e[r].indexOf("[%lktxp]")){const n=e[r].substring(8);void 0!==t[n]&&(e[r]=t[n])}else"object"==typeof e[r]&&(e[r]=w(e[r],t,n));return e}const m={$eq:!0,$dteq:!0,$gt:!0,$gte:!0,$lt:!0,$lte:!0,$in:!0,$between:!0};class v{constructor(e){this._filteredRows=[],this._filterInitialized=!1,this._scoring=null,this._collection=e}reset(){return this._filteredRows.length>0&&(this._filteredRows=[]),this._filterInitialized=!1,this}toJSON(){const e=this.copy();return e._collection=null,e}limit(e){return this._filterInitialized||0!==this._filteredRows.length||(this._filteredRows=this._collection._prepareFullDocIndex()),this._filteredRows=this._filteredRows.slice(0,e),this._filterInitialized=!0,this}offset(e){return this._filterInitialized||0!==this._filteredRows.length||(this._filteredRows=this._collection._prepareFullDocIndex()),this._filteredRows=this._filteredRows.slice(e),this._filterInitialized=!0,this}copy(){const e=new v(this._collection);return e._filteredRows=this._filteredRows.slice(),e._filterInitialized=this._filterInitialized,e}transform(e,t){"string"==typeof e&&(e=this._collection._transforms[e]),void 0!==t&&(e=function(e,t){if(void 0===t)return e;const n=[];for(let r=0;re(data[a],data[b]))),this}simplesort(e,t={desc:!1}){if("boolean"==typeof t&&(t={desc:t}),!this._filterInitialized&&this._collection._rangedIndexes.hasOwnProperty(e)){let n=this._collection._rangedIndexes[e].index.rangeRequest(),r=[];for(let e of n)r.push(this._collection.get(e,!0)[1]);return this._filteredRows=t.desc?r.reverse():r,this._filterInitialized=!0,this}this._filterInitialized||0!==this._filteredRows.length||(this._filteredRows=this._collection._prepareFullDocIndex());const data=this._collection._data;let n=t.sortComparator?_.a[t.sortComparator]:_.a[this._collection._unindexedSortComparator];return this._filteredRows.sort(((a,b)=>n(data[a][e],data[b][e]))),t.desc&&this._filteredRows.reverse(),this}compoundsort(e){if(0===e.length)throw new Error("Invalid call to compoundsort, need at least one property");if(1===e.length){const t=e[0];return"string"==typeof t?this.simplesort(t,!1):this.simplesort(t[0],t[1])}for(let i=0,t=e.length;ithis._compoundeval(e,data[a],data[b]))),this}_compoundeval(e,t,n){for(let i=0,r=e.length;ithis._scoring[a].score-this._scoring[b].score)):this._filteredRows.sort(((a,b)=>this._scoring[b].score-this._scoring[a].score)),this}getScoring(){if(null===this._scoring)throw new Error("No scoring available");const e=[];for(let i=0;i1)return this.find({$and:e},t)}if(!r||"getAll"===n)return t&&(this._filteredRows=this._collection._data.length>0?[0]:[],this._filterInitialized=!0),this;if("$and"===r||"$or"===r)return this[r](o),t&&this._filteredRows.length>1&&(this._filteredRows=this._filteredRows.slice(0,1)),this;let h="";if(null===o||"object"!=typeof o||o instanceof Date)h="$eq",l=o;else{if("object"!=typeof o)throw new Error("Do not know what you want to do.");for(let e in o)if(void 0!==o[e]){h=e,l=o[e];break}}"$regex"===h&&(Array.isArray(l)?l=new RegExp(l[0],l[1]):l instanceof RegExp||(l=new RegExp(l)));let c=!1;!this._filterInitialized&&this._collection._rangedIndexes[r]&&m[h]&&(c=!0);const d=f.a[this._collection._defaultLokiOperatorPackage],data=this._collection._data;let _=[];if(this._filterInitialized){let filter=this._filteredRows;if("$fts"===r){this._scoring=this._collection._fullTextSearch.search(n.$fts);let e=Object.keys(this._scoring);for(let i=0;i({left:e,right:t}));for(let e=0;e=0?(this._filterPipeline[e]=filter,this.reapplyFilters()):(this._cachedResultSet=null,this._persistent&&(this._resultData=[],this._resultDirty=!0),this._addFilter(filter),this._sortFunction||this._sortCriteria||this._sortCriteriaSimple||null!==this._sortByScoring?this._queueSortPhase():this._queueRebuildEvent(),this)}applyFind(e,t=""){return this.applyFilter({type:"find",val:e,uid:t}),this}applyWhere(e,t){return this.applyFilter({type:"where",val:e,uid:t}),this}removeFilter(e){const t=this._indexOfFilterWithId(e);if(t<0)throw new Error("Dynamic view does not contain a filter with ID: "+e);return this._filterPipeline.splice(t,1),this.reapplyFilters(),this}count(){return this._resultDirty&&(this._resultData=this._resultSet.data()),this._resultSet.count()}data(e={}){return(this._sortDirty||this._resultDirty)&&this._performSortPhase({suppressRebuildEvent:!0}),this._persistent?this._resultData:this._resultSet.data(e)}_queueRebuildEvent(){this._rebuildPending||(this._rebuildPending=!0,setTimeout((()=>{this._rebuildPending&&(this._rebuildPending=!1,this.emit("rebuild",this))}),this._minRebuildInterval))}_queueSortPhase(){this._sortDirty||(this._sortDirty=!0,"active"===this._sortPriority?setTimeout((()=>{this._performSortPhase()}),this._minRebuildInterval):this._queueRebuildEvent())}_performSortPhase(e={}){(this._sortDirty||this._resultDirty)&&(this._sortDirty&&(this._sortFunction?this._resultSet.sort(this._sortFunction):this._sortCriteria?this._resultSet.compoundsort(this._sortCriteria):this._sortCriteriaSimple?this._resultSet.simplesort(this._sortCriteriaSimple.field,this._sortCriteriaSimple.options):null!==this._sortByScoring&&this._resultSet.sortByScoring(this._sortByScoring),this._sortDirty=!1),this._persistent&&(this._resultData=this._resultSet.data(),this._resultDirty=!1),e.suppressRebuildEvent||this.emit("rebuild",this))}_evaluateDocument(e,t){if(!this._resultSet._filterInitialized)return this._persistent&&(this._resultData=this._resultSet.data()),void(this._sortFunction||this._sortCriteria||this._sortCriteriaSimple?this._queueSortPhase():this._queueRebuildEvent());const n=this._resultSet._filteredRows,r=t?-1:n.indexOf(+e),o=n.length,l=new v(this._collection);let filter;l._filteredRows=[e],l._filterInitialized=!0;for(let e=0,t=this._filterPipeline.length;ee&&t[n]--}mapReduce(e,t){try{return t(this.data().map(e))}catch(e){throw e}}}var x=n(4),S=n(1);function k(e){return e.reduce(((a,b)=>a+b),0)/e.length}function I(e,path,t,n=0){if(void 0===e)return!1;if(n+1===path.length)return t.push(e[path[n]]),!1;const r=e[path[n]];if(Array.isArray(r)){for(let i=0;i0)throw new Error("disableMeta option cannot be passed as true when ttl is enabled")}if(this.name=e,this._unindexedSortComparator=t.unindexedSortComparator||"js",this._defaultLokiOperatorPackage=t.defaultLokiOperatorPackage||"js",void 0!==t.unique&&(Array.isArray(t.unique)||(t.unique=[t.unique]),t.unique.forEach((e=>{this._constraints.unique[e]=new o(e)}))),void 0!==S.a.FullTextSearch?this._fullTextSearch=void 0!==t.fullTextSearch?new S.a.FullTextSearch(t.fullTextSearch):null:this._fullTextSearch=null,this._transactional=void 0!==t.transactional&&t.transactional,this._cloneObjects=void 0!==t.clone&&t.clone,this._asyncListeners=void 0!==t.asyncListeners&&t.asyncListeners,this._disableMeta=void 0!==t.disableMeta&&t.disableMeta,this._disableChangesApi=void 0===t.disableChangesApi||t.disableChangesApi,this._disableDeltaChangesApi=void 0===t.disableDeltaChangesApi||t.disableDeltaChangesApi,this._cloneMethod=void 0!==t.cloneMethod?t.cloneMethod:"deep",this._disableChangesApi&&(this._disableDeltaChangesApi=!0),this._serializableIndexes=void 0===t.serializableIndexes||t.serializableIndexes,null!=t.nestedProperties)for(let i=0;i{for(let n in e)t[n]=e[n]});return data=>{const t=new n.proto;return e(data,t),t}}return n.inflate}(e);for(let t=0;t{const e=Date.now();this.chain().where((t=>{const n=t.meta.updated||t.meta.created,r=e-n;return this._ttl.agee&&e[t]?e[t]:null),this)[path[path.length-1]]=e},enumerable:!1,configurable:!0})}return data}clear({removeIndices:e=!1}={}){if(this._data=[],this._idIndex=[],this._cached=null,this._maxId=0,this._dynamicViews=[],this._dirty=!0,!0===e)this._rangedIndexes={},this._constraints={unique:{}};else{for(let e in this._rangedIndexes)this.ensureRangedIndex(e,this._rangedIndexes[e].indexTypeName,this._rangedIndexes[e].comparatorName);const e=Object.keys(this._constraints.unique);for(let i=0;i{this._constraints.unique[e].update(o.$loki,o[e])})),this._data[r]=o,this._lokimap[e.$loki]=o;for(let e=0;e{e in r&&this._constraints.unique[e].remove(r.$loki)}));for(let e=0;e>1;if(e="number"==typeof e?e:parseInt(e,10),isNaN(e))throw new TypeError("Passed id is not an integer");for(;data[r]>1,data[o]n&&(t.value=n,t.index=this._data[i].$loki)}return t}maxRecord(e){const t={index:0,value:0};if(0===this._data.length)return t.index=null,t.value=null,t;t.index=this._data[0].$loki,t.value=parseFloat(this._data[0][e]);for(let i=1;i!isNaN(e)))}avg(e){return k(this.extractNumerical(e))}stdDev(e){return function(e){const t=k(e),n=k(e.map((e=>{const n=e-t;return n*n})));return Math.sqrt(n)}(this.extractNumerical(e))}mode(e){const t={},data=this.extractNumerical(e);let n=data[0],r=-1/0;for(let i=0;ir&&(n=e,r=t[e])}return n}median(e){const t=this.extractNumerical(e);t.sort(((a,b)=>a-b));const n=Math.floor(t.length/2);return t.length%2?t[n]:(t[n-1]+t[n])/2}}},function(e,t,n){"use strict";class r{constructor(e,t){this.nodes={},this.apex=null,this.name=e,this.comparator=t}backup(){let e=new r(this.name,this.comparator);return e.nodes=JSON.parse(JSON.stringify(this.nodes)),e.apex=this.apex,e}restore(e){this.name=e.name,this.comparator=e.comparator,this.nodes=JSON.parse(JSON.stringify(e.nodes)),this.apex=e.apex}insert(e,t){if(e<=0)throw new Error("avl index ids are required to be numbers greater than zero");let n=this.nodes[e]={id:e,value:t,parent:null,balance:0,height:0,left:null,right:null,siblings:[]};this.apex?this.insertNode(this.nodes[this.apex],n):this.apex=e}insertNode(e,t){switch(this.comparator(t.value,e.value)){case 0:e.siblings.push(t.id),t.parent=e.id;break;case 1:e.right?(this.insertNode(this.nodes[e.right],t),this.updateBalance(e)):(e.right=t.id,t.parent=e.id,this.updateBalance(e));break;case-1:e.left?(this.insertNode(this.nodes[e.left],t),this.updateBalance(e)):(e.left=t.id,t.parent=e.id,this.updateBalance(e));break;default:throw new Error("Invalid comparator result")}if(e.balance<-1){if(null===e.left)throw new Error("insertNode.balance() : left child should not be null");this.nodes[e.left].balance<=0?this.leftLeftCase(e):this.leftRightCase(e)}if(e.balance>1){if(null===e.right)throw new Error("insertNode.balance() : right child should not be null");this.nodes[e.right].balance>=0?this.rightRightCase(e):this.rightLeftCase(e)}return e.height}updateBalance(e){let t=e.left?this.nodes[e.left].height:-1,hr=e.right?this.nodes[e.right].height:-1;e.height=t>hr?1+t:1+hr,e.balance=hr-t}leftLeftCase(e){return this.rotateRight(e)}leftRightCase(e){if(!e.left)throw new Error("leftRightCase: left child not set");return e.left=this.rotateLeft(this.nodes[e.left]).id,this.rotateRight(e)}rightRightCase(e){return this.rotateLeft(e)}rightLeftCase(e){if(!e.right)throw new Error("rightLeftCase: right child not set");return e.right=this.rotateRight(this.nodes[e.right]).id,this.rotateLeft(e)}rotateLeft(e){if(!e.right)throw new Error("rotateLeft: right child was unavailable.");let t=e.parent?this.nodes[e.parent]:null,n=this.nodes[e.right];if(e.right=n.left,e.right&&(this.nodes[e.right].parent=e.id),n.left=e.id,n.parent=e.parent,e.parent=n.id,t)if(t.left===e.id)t.left=n.id;else{if(t.right!==e.id)throw new Error("rotateLeft() : attempt to remap parent back to child failed... not found");t.right=n.id}else{if(this.apex!==e.id)throw new Error("rightRotate expecting parentless node to be apex");this.apex=n.id}return this.updateBalance(e),this.updateBalance(n),n}rotateRight(e){if(!e.left)throw new Error("rotateRight : left child unavailable");let t=e.parent?this.nodes[e.parent]:null,n=this.nodes[e.left];if(e.left=n.right,n.right&&(this.nodes[n.right].parent=e.id),n.right=e.id,n.parent=e.parent,e.parent=n.id,t)t.left===e.id?t.left=n.id:t.right=n.id;else{if(this.apex!==e.id)throw new Error("rightRotate expecting parentless node to be apex");this.apex=n.id}return this.updateBalance(e),this.updateBalance(n),n}getValuesAsTree(e){return null===this.apex?null:{id:(e=e||this.nodes[this.apex]).id,val:e.value,siblings:e.siblings,balance:e.balance,height:e.height,left:e.left?this.getValuesAsTree(this.nodes[e.left]):null,right:e.right?this.getValuesAsTree(this.nodes[e.right]):null}}update(e,t){let n=this.nodes[e];0!==this.comparator(n.value,t)&&(this.remove(e),this.insert(e,t))}remove(e){if(!this.apex)throw new Error("remove() : attempting remove when tree has no apex");this.removeNode(this.nodes[this.apex],e)}removeNode(e,t){if(!this.nodes[t])throw new Error("removeNode: attempting to remove a node which is not in hashmap");let n=this.nodes[t].value;switch(this.comparator(n,e.value)){case 0:if(e.siblings.length>0){if(e.id===t){let n=e.siblings.shift(),r=this.nodes[n];r.parent=e.parent,this.updateChildLink(e.parent,t,n),e.left&&(this.nodes[e.left].parent=n),e.right&&(this.nodes[e.right].parent=n),r.left=e.left,r.right=e.right,r.siblings=e.siblings,r.height=e.height,r.balance=e.balance,this.apex===t&&(this.apex=n);for(let e of r.siblings)this.nodes[e].parent=n;return void delete this.nodes[t]}{let n=e.siblings.indexOf(t);if(-1===n)throw new Error("Unable to remove sibling from parented sibling");return e.siblings.splice(n,1),void delete this.nodes[t]}}return e.left||e.right?e.left&&e.right?void this.promoteSuccessor(e):(e.left&&(this.promoteChild(e,this.nodes[e.left]),this.apex===t&&(this.apex=e.left)),void(e.right&&(this.promoteChild(e,this.nodes[e.right]),this.apex===t&&(this.apex=e.right)))):(this.updateChildLink(e.parent,e.id,null),delete this.nodes[t],void(t===this.apex&&(this.apex=null)));case 1:if(!e.right)throw new Error("removeNode: Unable to find value in tree");this.removeNode(this.nodes[e.right],t);break;case-1:if(!e.left)throw new Error("removeNode: Unable to find value in tree");this.removeNode(this.nodes[e.left],t)}if(this.updateBalance(e),e.balance<-1){if(null===e.left)throw new Error("insertNode.balance() : left child should not be null");this.nodes[e.left].balance<=0?this.leftLeftCase(e):this.leftRightCase(e)}if(e.balance>1){if(null===e.right)throw new Error("insertNode.balance() : right child should not be null");this.nodes[e.right].balance>=0?this.rightRightCase(e):this.rightLeftCase(e)}}updateChildLink(e,t,n){if(null===e)return;let r=this.nodes[e];r.left===t?r.left=n:r.right===t&&(r.right=n)}promoteChild(e,t){let n=e.parent;if(n){let r=this.nodes[n];r.left===e.id?r.left=t.id:r.right===e.id&&(r.right=t.id)}t.parent=n,delete this.nodes[e.id]}promoteSuccessor(e){let t=e.id;if(!e.right||!e.left)throw new Error("promoteSuccessor() : node to replace does not have two children");let n,r,o,l=null;if(e.balance<0){let t=this.nodes[e.left];l=this.findGreaterLeaf(t),n=l.id,r=l.value,o=l.siblings,l.siblings=[],this.removeNode(t,n)}else{let t=this.nodes[e.right];l=this.findLesserLeaf(t),n=l.id,r=l.value,o=l.siblings,l.siblings=[],this.removeNode(t,n)}if(e.parent){let p=this.nodes[e.parent];p.left===t&&(p.left=n),p.right===t&&(p.right=n)}e.left&&(this.nodes[e.left].parent=n),e.right&&(this.nodes[e.right].parent=n),e.id=n,e.value=r,e.siblings=o,this.nodes[n]=e,delete this.nodes[t],this.apex===t&&(this.apex=n),this.updateBalance(e)}findGreaterLeaf(e){if(!e.right)return e;let t=this.findGreaterLeaf(this.nodes[e.right]);return t||e}findLesserLeaf(e){if(!e.left)return e;let t=this.findLesserLeaf(this.nodes[e.left]);return t||e}rangeRequest(e){if(!this.apex)return[];if(!e)return this.collateIds(this.nodes[this.apex]);if("$eq"===e.op){let t=this.locate(this.nodes[this.apex],e.val);return null===t?[]:t.siblings.length?[t.id,...t.siblings]:[t.id]}return this.collateRequest(this.nodes[this.apex],e)}collateRequest(e,t){let n=[];if("$eq"===t.op)throw new Error("collateRequest does not support $eq range request");let r=this.comparator(e.value,t.val),o=0;if("$between"===t.op){if(null===t.high||void 0===t.high)throw new Error("collateRequest: $between request missing high range value");o=this.comparator(e.value,t.high)}if(e.left)switch(t.op){case"$lt":case"$lte":n=this.collateRequest(this.nodes[e.left],t);break;case"$gt":case"$gte":case"$between":1===r&&(n=this.collateRequest(this.nodes[e.left],t))}if(t)switch(t.op){case"$lt":-1===r&&(n.push(e.id),n.push(...e.siblings));break;case"$lte":-1!==r&&0!==r||(n.push(e.id),n.push(...e.siblings));break;case"$gt":1===r&&(n.push(e.id),n.push(...e.siblings));break;case"$gte":1!==r&&0!==r||(n.push(e.id),n.push(...e.siblings));break;case"$between":r>=0&&o<=0&&(n.push(e.id),n.push(...e.siblings))}else n.push(e.id),n.push(...e.siblings);if(e.right)if(t)switch(t.op){case"$lt":case"$lte":-1===r&&n.push(...this.collateRequest(this.nodes[e.right],t));break;case"$gt":case"$gte":n.push(...this.collateRequest(this.nodes[e.right],t));break;case"$between":-1===o&&n.push(...this.collateRequest(this.nodes[e.right],t))}else n.push(...this.collateRequest(this.nodes[e.right],t));return n}collateIds(e){let t=[];return e?(e.left&&(t=this.collateIds(this.nodes[e.left])),t.push(e.id),t.push(...e.siblings),e.right&&t.push(...this.collateIds(this.nodes[e.right])),t):[]}locate(e,t){for(;null!==e;)switch(this.comparator(t,e.value)){case 0:return e;case 1:if(!e.right)return null;e=this.nodes[e.right];break;case-1:if(!e.left)return null;e=this.nodes[e.left]}return null}validateIndex(){if(!this.apex)return 0===Object.keys(this.nodes).length;if(null!==this.nodes[this.apex].parent)return!1;let e=this.collateIds(this.nodes[this.apex]),t=Object.keys(this.nodes).length;if(e.length!==t)return!1;if(1===e.length)return null===this.nodes[e[0]].parent&&null===this.nodes[e[0]].left&&null===this.nodes[e[0]].right;for(let i=0;i0)for(let t of e.siblings)if(this.nodes[t].parent!==e.id)return!1;if(e.left){if(this.nodes[e.left].parent!==e.id)return!1;if(!this.validateNode(this.nodes[e.left]))return!1}if(e.right){if(this.nodes[e.right].parent!==e.id)return!1;if(!this.validateNode(this.nodes[e.right]))return!1}return!0}}n.d(t,"a",(function(){return o}));let o={avl:(e,t)=>new r(e,t)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));class r{constructor(){this._events={},this._asyncListeners=!1}on(e,t){let n;return Array.isArray(e)?(e.forEach((e=>{this.on(e,t)})),t):(n=this._events[e],n||(n=this._events[e]=[]),n.push(t),t)}emit(e,...data){e&&this._events[e]&&this._events[e].forEach((e=>{this._asyncListeners?setTimeout((()=>{e(...data)}),1):e(...data)}))}addListener(e,t){return this.on(e,t)}removeListener(e,t){if(Array.isArray(e)&&e.forEach((e=>{this.removeListener(e,t)})),this._events[e]){const n=this._events[e];n.splice(n.indexOf(t),1)}}}},function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return _}));var r=n(5),o=n(3),l=n(1),h=n(0),c=n(4),d=n(2);function f(){if(void 0!==e&&(e.android||e.NSObject))return"NATIVESCRIPT";if(void 0!==e&&"[object process]"==={}.toString.call(e.process))return e.window,"NODEJS";if(void 0!==document)return-1===document.URL.indexOf("http://")&&-1===document.URL.indexOf("https://")?"CORDOVA":"BROWSER";if(void 0!==window&&"[object Window]"==={}.toString.call(window))return"BROWSER";throw SyntaxError("Unknown environment...")}class _ extends r.a{constructor(e="loki.db",t={}){if(super(),this.databaseVersion=1.5,this.engineVersion=1.5,this._persistenceMethod=null,this._persistenceAdapter=null,this._throttledSaves=!0,this._throttledSaveRunning=null,this._throttledSavePending=null,this._autosave=!1,this._autosaveInterval=5e3,this._autosaveRunning=!1,this._autosaveHandler=Promise.resolve(),this.filename=e,this._collections=[],({serializationMethod:this._serializationMethod="normal",destructureDelimiter:this._destructureDelimiter="$<\n",env:this._env=f()}=t),this._events={init:[],loaded:[],flushChanges:[],close:[],changes:[],warning:[]},t.comparatorMap)for(let e in t.comparatorMap)h.a[e]=t.comparatorMap[e];if(t.rangedIndexFactoryMap)for(let e in t.rangedIndexFactoryMap)c.a[e]=t.rangedIndexFactoryMap[e];if(t.lokiOperatorPackageMap)for(let e in t.lokiOperatorPackageMap)d.a[e]=t.lokiOperatorPackageMap[e];this.on("init",this.clearChanges)}initializePersistence(e={}){let t=this._autosaveDisable();({autosave:this._autosave=!1,autosaveInterval:this._autosaveInterval=5e3,persistenceMethod:this._persistenceMethod,throttledSaves:this._throttledSaves=!0}=e);const n={NODEJS:["fs-storage"],BROWSER:["local-storage","indexed-storage"],CORDOVA:["local-storage","indexed-storage"],MEMORY:["memory-storage"]},r={"fs-storage":l.a.FSStorage,"local-storage":l.a.LocalStorage,"indexed-storage":l.a.IndexedStorage,"memory-storage":l.a.MemoryStorage};if(void 0!==this._persistenceMethod){if("function"!=typeof r[this._persistenceMethod])throw Error("Unknown persistence method.");this._persistenceAdapter=new r[this._persistenceMethod]}if(void 0!==e.adapter&&(this._persistenceMethod="adapter",this._persistenceAdapter=e.adapter),null===this._persistenceAdapter){let e=n[this._env];if(e)for(let i=0;ithis._loadDatabase(e.inflate,!0)))),t.then((()=>{this._autosaveEnable()}))}copy(e={}){const t=new _(this.filename,{env:this._env});if(t.loadJSONObject(this,{retainDirtyFlags:!0}),e.removeNonSerializable){t._persistenceAdapter=null;for(let e=0;e=0)return this.serializeCollection({delimited:e.delimited,delimiter:e.delimiter,collectionIndex:e.partition});let t=new _(this.filename);t.loadJSONObject(this);for(let e=0;eo&&(c=!0):r._collections[l]._data.push(JSON.parse(n[h])),n[h++]=null;return r}deserializeCollection(e,t={}){void 0===t.partitioned&&(t.partitioned=!1),void 0===t.delimited&&(t.delimited=!0),void 0===t.delimiter&&(t.delimiter=this._destructureDelimiter);let n=[];t.delimited?(n=e.split(t.delimiter),n.pop()):n=e;for(let e=0;ethis._autosaveDirty()?this.saveDatabase():Promise.resolve())):Promise.resolve().then((()=>{this.emit("close")}))}generateChangesNotification(e){let t=[];const n=e||this._collections.map((e=>e.name));return this._collections.forEach((e=>{-1!==n.indexOf(e.name)&&(t=t.concat(e.getChanges()))})),t}serializeChanges(e){return JSON.stringify(this.generateChangesNotification(e))}clearChanges(){this._collections.forEach((e=>{e.flushChanges&&e.flushChanges()}))}throttledSaveDrain(e={}){const t=(new Date).getTime();return this._throttledSaves?(void 0===e.recursiveWait&&(e.recursiveWait=!0),void 0===e.recursiveWaitLimit&&(e.recursiveWaitLimit=!1),void 0===e.recursiveWaitLimitDuration&&(e.recursiveWaitLimitDuration=2e3),void 0===e.started&&(e.started=new Date),this._throttledSaves&&null!==this._throttledSaveRunning?e.recursiveWait?Promise.resolve(Promise.all([this._throttledSaveRunning,this._throttledSavePending])).then((()=>null!==this._throttledSaveRunning||null!==this._throttledSavePending?e.recursiveWaitLimit&&t-e.started.getTime()>e.recursiveWaitLimitDuration?Promise.reject({}):this.throttledSaveDrain(e):Promise.resolve())):Promise.resolve(this._throttledSaveRunning):Promise.resolve()):Promise.resolve()}_loadDatabase(e={},t=!1){return null===this._persistenceAdapter?Promise.reject(new Error("persistenceAdapter not configured")):Promise.resolve(this._persistenceAdapter.loadDatabase(this.filename)).then((t=>{if("string"==typeof t)this.loadJSON(t,e),this.emit("load",this);else{if("object"!=typeof t||null===t||t instanceof Error)throw t;this.loadJSONObject(t,e),this.emit("load",this)}})).catch((e=>{if(e instanceof Error)throw e;if(null!=e)throw new TypeError("The persistence adapter did not load a serialized DB string or object.");if(!t)throw new Error("Database not found.")}))}loadDatabase(e={}){return this._throttledSaves?this.throttledSaveDrain(e).then((()=>(this._throttledSaveRunning=this._loadDatabase(e).then((()=>{this._throttledSaveRunning=null})),this._throttledSaveRunning)),(()=>{throw new Error("Unable to pause save throttling long enough to read database")})):this._loadDatabase(e)}_saveDatabase(){return null===this._persistenceAdapter?Promise.reject(new Error("persistenceAdapter not configured")):"reference"===this._persistenceAdapter.mode&&"function"==typeof this._persistenceAdapter.exportDatabase?Promise.resolve(this._persistenceAdapter.exportDatabase(this.filename,this.copy({removeNonSerializable:!0}))).then((()=>{this._autosaveClearFlags(),this.emit("save")})):(this._autosaveClearFlags(),Promise.resolve(this._persistenceAdapter.saveDatabase(this.filename,this.serialize())).then((()=>{this.emit("save")})))}saveDatabase(){return this._throttledSaves?(null!==this._throttledSaveRunning&&null===this._throttledSavePending&&(this._throttledSavePending=Promise.resolve(this._throttledSaveRunning).then((()=>(this._throttledSaveRunning=null,this._throttledSavePending=null,this.saveDatabase())))),null!==this._throttledSavePending?this._throttledSavePending:(this._throttledSaveRunning=this._saveDatabase().then((()=>{this._throttledSaveRunning=null})),this._throttledSaveRunning)):this._saveDatabase()}deleteDatabase(){return null===this._persistenceAdapter?Promise.reject(new Error("persistenceAdapter not configured")):Promise.resolve(this._persistenceAdapter.deleteDatabase(this.filename))}_autosaveDirty(){for(let e=0;e{this._autosaveRunning?this._autosaveDirty()&&(this._autosaveHandler=this._autosaveHandler.then((()=>this.saveDatabase()))):clearInterval(e)}),this._autosaveInterval)}_autosaveDisable(){return this._autosaveRunning=!1,this._autosaveHandler}}}).call(this,n(7))},function(e,t){var g;g=function(){return this}();try{g=g||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(g=window)}e.exports=g},function(e,t,n){"use strict";n.r(t);var r=n(6);n.d(t,"Loki",(function(){return r.a}));var o=n(3);n.d(t,"Collection",(function(){return o.a})),r.a.Collection=o.a,t.default=r.a}])},e.exports=r()},272:function(e,t,n){var r;"undefined"!=typeof self&&self,r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";(function(e){function r(){let t;return function(e){t=e}(void 0!==e&&e||this),t}n.d(t,"a",(function(){return o}));const o=function(){const e=r(),t=Symbol.for("LOKI");return void 0===e[t]&&(e[t]={}),e[t]}()}).call(this,n(2))},function(e,t,n){"use strict";function r(e){return e.split(/[\s]+/)}function o(e){return e.toLowerCase()}function l(e){return e.toUpperCase()}function h(e,t){if(e.char_filter)for(let n=0;ne))}n.r(t);class c{constructor(){this.tokenizer=r,this.token_filter=[o]}}function d(e){const t=[];for(let i=0;i=55296&&n<=56319){const r=e.charCodeAt(i++);t.push(65536+(n-55296<<10)|r-56320)}else t.push(n)}return t}class f{constructor(e={}){this.docCount=0,this.docStore=new Map,this.totalFieldLength=0,this.root=new Map,({store:this._store=!0,optimizeChanges:this._optimizeChanges=!0,analyzer:this.analyzer=new c}=e)}insert(e,t){if(this.docStore.has(t))throw Error("Field already added.");const n=h(this.analyzer,e);if(0==n.length)return void this.docStore.set(t,{fieldLength:0});this.totalFieldLength+=n.length,this.docCount+=1,this.docStore.set(t,{fieldLength:n.length});const r=[];this._optimizeChanges&&Object.defineProperties(this.docStore.get(t),{indexRef:{enumerable:!1,configurable:!0,writable:!0,value:r}});for(const e of new Set(n)){let o=0;for(let t=0;t=e.length)return null;for(let i=n;i1;){const t=a+b>>>1;if(this._points[t]>e)b=t;else{if(!(this._points[t]=this._classmap.length?this._transitions[e*this._points.length+this.getCharClass(t)]:this._transitions[e*this._points.length+this._classmap[t]]}isAccept(e){return this._accept[e]}}const m=1114111;function v(a,b){return a[0]b[0]?1:a[1]b[1]?1:a[2]b[2]?1:0}function y(a,b){return a[1]b[1]?1:a[2]b[2]?1:a[0]b[0]?1:0}class x{constructor(){this._stateTransitions=[],this._stateTransitions=[],this._accept=new Set,this._nextState=0,this._currState=-1,this._transitions={}}isAccept(e){return this._accept.has(e)}createState(){return this._nextState++}setAccept(e,t){t?this._accept.add(e):this._accept.delete(e)}finishState(){-1!==this._currState&&(this._finishCurrentState(),this._currState=-1)}_finishCurrentState(){this._stateTransitions.sort(v);let e=0,p=[-1,-1,-1];for(let i=0,t=this._stateTransitions.length;ip[2]&&(p[2]=t[2]):(-1!==p[0]&&(this._stateTransitions[e][0]=p[0],this._stateTransitions[e][1]=p[1],this._stateTransitions[e][2]=p[2],e++),p[1]=t[1],p[2]=t[2]):(-1!==p[0]&&(this._stateTransitions[e][0]=p[0],this._stateTransitions[e][1]=p[1],this._stateTransitions[e][2]=p[2],e++),p[0]=t[0],p[1]=t[1],p[2]=t[2])}-1!==p[0]&&(this._stateTransitions[e][0]=p[0],this._stateTransitions[e][1]=p[1],this._stateTransitions[e][2]=p[2],e++),this._transitions[this._currState]=this._stateTransitions.slice(0,e).sort(y),this._stateTransitions=[]}getStartPoints(){const e=new Set;e.add(0);const t=Object.keys(this._transitions);for(let i=0;ia-b))}step(e,label){let t=this._transitions[e];if(t)for(let i=0;i>>e|this._high<<32-e,this._high>>e):new S(this._high>>e-32,this._high>=0?0:-1)}shiftLeft(e){return 0==(e&=63)?this:e<32?new S(this._low<>>32-e):new S(0,this._low<>6,o=63&n;if(o+t<=64)return data[r].shiftRight(o).and(k[t-1]).toInt();{const e=64-o;return data[r].shiftRight(o).and(k[e-1]).toInt()+data[1+r].and(k[t-e-1]).shiftLeft(e).toInt()}}}const C=[new S(2)],O=[new S(0)],R=[new S(2627)],D=[new S(56)],z=[new S(2182348803,877873428),new S(109)],A=[new S(1436680192,21845)],N=[new S(2416705539,559024212),new S(1161073005,1531779490),new S(55860)],M=[new S(553385984,1431678474),new S(1431655765)];class P extends I{constructor(e){super(e,1,[0,1,0,-1,-1,-1])}transition(e,t,n){let r=Math.floor(e/(this._w+1)),o=e%(this._w+1);if(t===this._w){if(r<2){const e=2*n+r;o+=I.unpack(O,e,1),r=I.unpack(C,e,2)-1}}else if(t===this._w-1){if(r<3){const e=3*n+r;o+=I.unpack(D,e,1),r=I.unpack(R,e,2)-1}}else if(t===this._w-2){if(r<6){const e=6*n+r;o+=I.unpack(A,e,2),r=I.unpack(z,e,3)-1}}else if(r<6){const e=6*n+r;o+=I.unpack(M,e,2),r=I.unpack(N,e,3)-1}return-1===r?-1:r*(this._w+1)+o}}const j=[new S(35)],T=[new S(0)],$=[new S(325618500)],E=[new S(992)],F=[new S(1375778052,1625010352),new S(654713383,1379082614),new S(338833973,592794674),new S(17236)],L=[new S(8192,1431339176),new S(1431655765,85)],J=[new S(1074107396,3875651625),new S(10813440,2685408800),new S(2705416840,2955709504),new S(822630592,176295986),new S(220770817,826549144),new S(2222426336,1384244520),new S(146941966,2721677523),new S(2841782156,506631345),new S(579396904,2353082526),new S(35310113,289686537),new S(2259748971,295985736),new S(492978372,711088276),new S(1217426605,1344578827),new S(1376534810,344070858),new S(190401092,1485354377),new S(3289490533,2484954400),new S(2909430484,2337837173),new S(441472420)],V=[new S(8192,3195650),new S(3288085308,704655603),new S(2189600800,591003698),new S(850559912,1431655765),new S(1431655765,1431655765),new S(1431655765,1431655765),new S(1431655765,1431655765)],B=[new S(2904068,58725456),new S(3640,3305111883),new S(1363153922,1300),new S(0),new S(335609856,85458955),new S(685900336,166838792),new S(2198499522,564071920),new S(136348160,2181038210),new S(1619003392,134546689),new S(39855683,813828486),new S(1347453028,1164181826),new S(536873009,139461908),new S(2231378050,1094735904),new S(160481793,1164017816),new S(1352667217,137456908),new S(84799712,558175264),new S(340820500,219423040),new S(1350704224,1008844824),new S(3407093895,30086147),new S(407994924,2148016453),new S(545259552,2097672),new S(2266497861,3490060320),new S(613903113,3406463435),new S(1648822737,145860110),new S(2183434377,38340640),new S(13811748,3272876486),new S(356860963,1009861909),new S(3256660288,830815266),new S(740327956,1158959115),new S(1351286865,141656116),new S(1359540421,2999666001),new S(481339408,3894702429),new S(2425032288,337824532),new S(3224154437,813771810),new S(212943372,2216698370),new S(550373456,1545653768),new S(2332913858,545392672),new S(337723912,1107841154),new S(1350765600,153125696),new S(325399954,3323153862),new S(1841617741,3540595740),new S(1423134004,1680136456),new S(50861250,2449943586),new S(614664496,1109422667),new S(633938146,611374880),new S(2539425922,2462657904),new S(76697096,3406332098),new S(3259769985,1165203240),new S(3663819994,3336195509),new S(1563465501,1264399831),new S(2474794210,271614300),new S(34386245,1363419217),new S(740429356,3308790030),new S(1389038960,139543060),new S(2232701250,541788240),new S(1079067660,2450874499),new S(2785961365,1298533965),new S(476956248,2497254628),new S(341103461,2187601497),new S(1359153171,680658732),new S(3408700171,3804373106),new S(542345488,1160540375),new S(1888368785,145935149),new S(3255087694,2177569856),new S(683854372,3661947790),new S(2245419236,499571301),new S(2388496718,3804978483),new S(949191224)],U=[new S(524288,805437440),new S(2146400),new S(67108864,2169044992),new S(276973604,1076138561),new S(1610621058,3680514243),new S(807079296,1815527532),new S(897243,2954387888),new S(2441666669,460338720),new S(114847159,134255104),new S(37758096,76680228),new S(136613897,4784130),new S(672286724,1225265793),new S(306857122,880804100),new S(220463628,3272159376),new S(616713508,1073781257),new S(2449540634,77089286),new S(1898353250,1229784210),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,9362)],K=[new S(2904068,58725456),new S(3640,3305111883),new S(1363153922,1300),new S(0),new S(335609856,85196811),new S(59637984,5570560),new S(100708736,642062416),new S(136348168,2181570690),new S(1082263584,181504),new S(2156659014,1887570488),new S(2620424828,3279691970),new S(545261671,2130440),new S(33562752,2973765664),new S(5341184,2190352419),new S(547298336,137406220),new S(2235429087,1363481680),new S(340820500,370417986),new S(813715536,1613103716),new S(1124606104,621086726),new S(341196820,1107296387),new S(545587281,139461128),new S(336856450,2157513760),new S(136714249,2181140994),new S(2416314689,143787289),new S(3257709122,575218834),new S(23218476,1124599045),new S(2248302630,2151761173),new S(3316920642,935559200),new S(340819988,1107841157),new S(1350893649,21053528),new S(2550763714,1363501440),new S(206610448,3758633325),new S(1351295472,743623468),new S(3257709129,1611476114),new S(407929372,2268864960),new S(63640608,738315028),new S(1159221634,545261601),new S(136347648,1157636098),new S(545724419,141559316),new S(84419023,1946484981),new S(408981504,2471335494),new S(813845808,1277481805),new S(3321943618,25561121),new S(635093620,3265295049),new S(2445440114,745112472),new S(2300846658,2453800992),new S(883951872,2181591424),new S(2963079265,481446262),new S(2635903144,1625695344),new S(359976510,3541325271),new S(633494900,476056888),new S(1111241026,1364284500),new S(335790868,3257672139),new S(558045267,11715080),new S(85217605,54855856),new S(206604056,1427443855),new S(4060419156,141821184),new S(102297744,3797110162),new S(1704116792,1228416601),new S(566624470,1143194388),new S(3408729413,1925357634),new S(2693907828,1110194563),new S(1351298130,11715860),new S(2150936715,4039444593),new S(1162957064,2819666635),new S(1901927600,576776228),new S(2385343694,3864603731),new S(949191224,1108095105),new S(570559665,139494432),new S(3456639182,1891785760),new S(136350477,1107828866),new S(1350702113,203440648),new S(2200719491,554174592),new S(137937428,2768779394),new S(2848166960,2863311530),new S(2678717098,447381162),new S(337691400,2185765072),new S(2228833636,1904530289),new S(460404435,885148935),new S(355783501,2567517762),new S(818021680,137626888),new S(1398349970,886858038),new S(1303698529,2759444188),new S(1227133514,2450169746),new S(2173872170,1925324848),new S(814942496,119845450),new S(2450400290,225575516),new S(3372753479,2463566197),new S(618694956,2282496073),new S(3259505840,747801636),new S(2299037513,2158306440),new S(2865185684,1787173674),new S(2871505528,135998630),new S(120332803,2735288466),new S(1763036764,3614016979),new S(1998285110,1567933020),new S(2301457623,1917716851),new S(142656005,1277460939),new S(1939286210,1635048005),new S(3662525914,1252095430),new S(2252890502,1787206439),new S(813795018,212944144),new S(1142968578,571354193),new S(941690412,3406655685),new S(1363285074,340869640),new S(1258836101,1363414048),new S(339772204,3407106312),new S(1217071240,2486264328),new S(2675866051,4205477370),new S(2124930941,50862570),new S(550507601,1701086552),new S(2473165721,2517850499),new S(956767089,3647288901),new S(2521109812,81828105),new S(85213378,559286324),new S(1625708889,3596674266),new S(3336332676,2449992057),new S(3750905888,2821358087),new S(271614374,2300605125),new S(2999595186,740427564),new S(87593230,1388776818),new S(149129492,2334962391),new S(541795552,481379340),new S(2351735368,2269850802),new S(608733960,1133805922),new S(2602532471,2658691750),new S(3970345447,1359153177),new S(680658732,2386076427),new S(2207475987,1771444057),new S(1161328411,1959672182),new S(149130029,3255099982),new S(2177569856,683854372),new S(3661947790,2245419236),new S(1975966309,1770391529),new S(2582087242,2798283430)],W=[new S(524288,805437440),new S(2146400),new S(67108864,16777216),new S(1348481048,3681400539),new S(11702,2759852034),new S(1092883008,306782344),new S(1065248,1073742080),new S(2450071634,613598240),new S(157651673,204527616),new S(3277862616,2954562566),new S(1815534349,409731075),new S(2954587142,2911241057),new S(1533925085,905970103),new S(230032140,3289526556),new S(3068358150,56077),new S(3674310171,152604166),new S(1907829602,7198427),new S(8390944,1076101705),new S(2420711618,545409280),new S(1074040832,302064768),new S(2760925472,1428467018),new S(38273045,1083326496),new S(1212191753,2454856978),new S(603981856,1226838017),new S(541721760,689080612),new S(349513,2416455890),new S(616710196,154440460),new S(40379539,68708608),new S(1629493832,2588509714),new S(894585300,204767233),new S(2483889154,616827184),new S(153412173,440402074),new S(110231814,1644468298),new S(2456888978,2454277460),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756,1227133513),new S(2454267026,613566756),new S(1227133513,2454267026),new S(613566756)];class Q extends I{constructor(e){super(e,2,[0,2,1,0,1,0,-1,0,0,-1,0,-1,-1,-1,-1,-1,-2,-1,-1,-1,-2,-1,-1,-2,-1,-1,-2,-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2])}transition(e,t,n){let r=Math.floor(e/(this._w+1)),o=e%(this._w+1);if(t===this._w){if(r<3){const e=3*n+r;o+=I.unpack(T,e,1),r=I.unpack(j,e,2)-1}}else if(t===this._w-1){if(r<5){const e=5*n+r;o+=I.unpack(E,e,1),r=I.unpack($,e,3)-1}}else if(t===this._w-2){if(r<13){const e=13*n+r;o+=I.unpack(L,e,2),r=I.unpack(F,e,4)-1}}else if(t===this._w-3){if(r<28){const e=28*n+r;o+=I.unpack(V,e,2),r=I.unpack(J,e,5)-1}}else if(t===this._w-4){if(r<45){const e=45*n+r;o+=I.unpack(U,e,3),r=I.unpack(B,e,6)-1}}else if(r<45){const e=45*n+r;o+=I.unpack(W,e,3),r=I.unpack(K,e,6)-1}return-1===r?-1:r*(this._w+1)+o}}class H{constructor(input,e){this._word=input,this._editDistance=e,this._alphabet=[...new Set(this._word)].sort(((a,b)=>a-b)),this._numRanges=0,this._rangeLower=new Array(this._alphabet.length+2),this._rangeUpper=new Array(this._alphabet.length+2);let t=0;for(let i=0;it&&(this._rangeLower[this._numRanges]=t,this._rangeUpper[this._numRanges]=e-1,this._numRanges++),t=e+1}t<=m&&(this._rangeLower[this._numRanges]=t,this._rangeUpper[this._numRanges]=m,this._numRanges++),this._description=1===e?new P(input.length):new Q(input.length)}toAutomaton(){let e=new x;const t=2*this._editDistance+1,n=this._description.size();e.createState();for(let i=1;i=0&&e.addTransition(r,c,l,l)}const l=this._description.transition(r,n,0);if(l>=0)for(let t=0;t=l&&(n.has(e)?n.get(e).push(...t):o?n.set(e,t):n.delete(e))}if(null===n&&(n=this._recursive({type:"match_all"},!1)),void 0!==e.not){let t=this._getAll(e.not,null);for(const e of t.keys())n.has(e)&&n.delete(e)}if(1!==r)for(const[e,t]of n)for(let i=0;i1&&e>1&&b[i-2]===a[e-1]&&a[e-2]===b[i-1]&&(n=Math.min(n,r[e-1]-(a[e-1]===b[i-1]?1:0)))),r[e-1]=t,t=n;r[a.length]=t}return r[a.length]}(t,n);o-=n.length-t.length}return r-o}function k(e,t,r){if(y[y.length-1]=t,-1!==(e=x.step(e,t))){if(x.isAccept(e)){if(l){const e=f.extendTermIndex(r);for(let i=0;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return l=t.done,t},e:function(t){c=!0,o=t},f:function(){try{l||null==r.return||r.return()}finally{if(c)throw o}}}}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,r=new Array(e);i + + + 无限层级目录算法 - 团队领袖计划 + + +

    + 无限层级目录算法 +

    设计 1

    +

    核心字段

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnDesc
    oid组织 id
    name组织名称
    parentoid上级组织 id
    rootoid根组织 id
    +

    测试数据, 一个复杂组织目录(根据 oid = 47378 查出):

    +

    test1.json

    +

    树形结构生成

    +

    期望结果:

    +

    tree1.json

    +

    递归方法:

    +
    // 将测试数据保存
    +const orgs = require('./test1.json');
    +
    +// 递归
    +const loop = (list, oid, isRoot = true) => {
    +  const c = list
    +    .filter((x) => oid === (isRoot ? x.oid : x.parentoid))
    +    .map((x) => {
    +      // 问题1: 每次都将数组完整传入遍历
    +      x.children = loop(list, x.oid, false);
    +      return x;
    +    });
    +  // 问题2: 循环次数最多 n^n 次
    +  return c;
    +};
    +
    +console.log(JSON.stringify(loop(orgs, 47378), null, 2));
    +
    +

    设计 2

    +

    核心字段

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ColumnDesc
    oid组织 id
    name组织名称
    parentoid上级组织 id
    rootoid根组织 id
    depth层级深度
    +

    测试数据, 一个复杂组织目录(根据 oid = 47378 查出):

    +

    test2.json

    + +

    树形结构生成

    +

    期望结果:

    +

    tree2.json

    +

    循环算法:

    +
    // 将测试数据保存
    +const orgs = require('./test2.json');
    +
    +const loop = (list) => {
    +  const sorted = list.sort((x, y) => (x.depth < y.depth ? 1 : -1));
    +  // 计算深度
    +  const depth = sorted[0].depth;
    +  const items = {};
    +  // 分级遍历, 问题1: 空间复杂度
    +  for (let i = 1; i <= depth; i += 1) {
    +    items[i] = list.filter((x) => x.depth === i);
    +  }
    +  // 循环自下而上遍历
    +  for (let i = depth; i > 1; i -= 1) {
    +    items[i] = items[i].forEach((x) => {
    +      const parentNode = items[i - 1].findIndex((y) => y.oid === x.parentoid);
    +      items[i - 1][parentNode].children = (items[i - 1][parentNode].children || []).concat(x);
    +    });
    +  }
    +  // 循环次数: CN(Depth)
    +  return items[1];
    +};
    +
    +console.log(JSON.stringify(loop(orgs), null, 2));
    +
    +

    BenchMark

    +

    使用matcha进行性能测试

    +
    suite('Categories', function () {
    +  bench('test 1', function () {
    +    loop1(orgs1, 47378);
    +  });
    +  bench('test 2', function () {
    +    loop2(orgs2);
    +  });
    +});
    +
    +
                         Categories
    +           2,620 op/s » test 1
    +             531 op/s » test 2
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/algorithm/find-the-odd-int/index.html b/basic/algorithm/find-the-odd-int/index.html new file mode 100644 index 00000000..dc83acbf --- /dev/null +++ b/basic/algorithm/find-the-odd-int/index.html @@ -0,0 +1,286 @@ + + + + 查找单数 - 团队领袖计划 + + +

    + 查找单数 +

    题目 1

    +

    Given an array, find the int that appears an odd number of times.

    +

    There will always be only one integer that appears an odd number of times.

    +

    Examples:

    +
    [20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5] => 5
    +
    +[1,1,2,-2,5,2,4,4,-1,-2,5] => -1
    +
    +

    题目地址: https://www.codewars.com/kata/find-the-odd-int

    +

    思路

    +

    数组过滤,单数的特征是首次出现的下标和最后一次出现的下标差值为奇数。

    +

    答案:

    +
    const findOdd = (arr) => arr.sort().filter((x) => (arr.lastIndexOf(x) - arr.indexOf(x)) % 2 === 0)[0];
    +
    +

    其中:

    +
      +
    • Array.prototype.filter是 ES 6 的特性。
    • +
    +

    题目 2

    +

    Given an array of integers, every element appears twice except for one. Find that single one.

    +

    Note:

    +
    +

    Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

    +
    +

    问题描述:

    +

    给出一个奇数位的数组, 所有元素都出现了两次,除了其中的一个数,找出这个孤立的数.

    +

    例子: [1,2,3,2,1,4,4] 可能是数十万条记录的数组

    +

    输出应该为: 3

    +

    要求:设计的算法是线性的复杂度,并且不要用额外的内存空间。

    +

    原题地址: https://leetcode.com/problems/single-number/

    +

    解题思路

    +

    异或运算的几个相关公式:

    +
      +
    1. a ^ a = 0
    2. +
    3. a ^ b = b ^ a
    4. +
    5. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c
    6. +
    7. d = a ^ b ^ c 可以推出 a = d ^ b ^ c
    8. +
    9. a ^ b ^ a = b
    10. +
    +

    本题可以抽象成:int 数组里有 x1, x2 … xn(每个出现 2 次),和 y(只出现一次),得出 y 的值。

    +

    由公式 2 可知,数组里面所有数异或的结果等于 x1^x1^x2^x2^…^xn^xn^y

    +

    由公式 3 可知,上式等于(x1^x1)^(x2^x2)^…^(xn^xn)^y

    +

    由公式 1 可知,上式等于(0)^(0)^…(0)^y = y

    +

    因此只需要将所有数字异或,就可得到结果。

    + +

    答案:

    +
    /**
    + * @param {number[]} nums
    + * @return {number}
    + */
    +const singleNumber = (nums) => nums.reduce((x, y) => x ^ y);
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/algorithm/find-the-stray-number/index.html b/basic/algorithm/find-the-stray-number/index.html new file mode 100644 index 00000000..924ef88f --- /dev/null +++ b/basic/algorithm/find-the-stray-number/index.html @@ -0,0 +1,264 @@ + + + + 查找散杂数 - 团队领袖计划 + + +

    + 查找散杂数 +

    题目

    +

    You are given an odd-length array of integers, in which all of them are the same, except for one single number.

    +

    Implement the method stray which accepts such array, and returns that single different number.

    +

    The input array will always be valid! (odd-length >= 3)

    +

    Examples:

    +
    [1, 1, 2] => 2
    +
    +[17, 17, 3, 17, 17, 17, 17] => 3
    +
    +

    题目地址: https://www.codewars.com/kata/find-the-stray-number

    + +

    思路一

    +

    数组过滤,散杂数的特征是首次出现的下标和最后一次出现的下标应保持一致(仅出现一次)。

    +

    答案:

    +
    const stray = (arr) => ~~arr.filter((x) => arr.indexOf(x) === arr.lastIndexOf(x)).join('');
    +
    +

    其中:

    +
      +
    • Array.prototype.filter是 ES 6 的特性。
    • +
    • 结果为数组,先变成字符串(用Array.prototype.join),再强制类型转换为数字(用~~
    • +
    +

    思路二

    +

    注意题干中提到了 odd 奇数个,可以用位运算来求不同值。

    +

    答案:

    +
    const stray = (nums) => nums.reduce((a, b) => a ^ b);
    +
    +

    其中:

    +
      +
    • Array.prototype.reduce 为 ES 6 特性,可以参考 Map/Reduce 相关教程。
    • +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/algorithm/sum-of-odd-numbers/index.html b/basic/algorithm/sum-of-odd-numbers/index.html new file mode 100644 index 00000000..ea41b846 --- /dev/null +++ b/basic/algorithm/sum-of-odd-numbers/index.html @@ -0,0 +1,278 @@ + + + + 奇数求和 - 团队领袖计划 + + +

    + 奇数求和 +

    题目

    +

    Given the triangle of consecutive odd numbers:

    +
                 1
    +          3     5
    +       7     9    11
    +   13    15    17    19
    +21    23    25    27    29
    +
    +

    Calculate the row sums of this triangle from the row index (starting at index 1) e.g.:

    +
    rowSumOddNumbers(1); // 1
    +rowSumOddNumbers(2); // 3 + 5 = 8
    +
    +

    题目地址: https://www.codewars.com/kata/sum-of-odd-numbers

    +

    解题思路

    +

    当成数学题来做。

    +
    第1行,1个数求和;
    +第2行,2个数;
    +第3行,3个数;
    +
    +......
    +
    +第N行,N个数。
    +
    +

    每一行,首尾数分别为:

    +
    1: N
    +2: N+1 2N+1
    +3: 2N+1 3N+2
    +
    +......
    +
    +N: (N-1)*N+1 (N+1)*N-1
    +
    +

    求和公式:

    +
    (首项 + 末项) * 项数 / 2
    +
    +

    即:

    +
      ((N-1)*N+1 + (N+1)*N-1) * N / 2
    += 2 * N * N * N / 2
    += N^3   //(此处^不表示xor位运算,表示幂)
    +
    + +

    答案:

    +
    const rowSumOddNumbers = (n) => Math.pow(n, 3);
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/db/graphql/index.html b/basic/db/graphql/index.html new file mode 100644 index 00000000..4f96122b --- /dev/null +++ b/basic/db/graphql/index.html @@ -0,0 +1,407 @@ + + + + GraphQL - 团队领袖计划 + + +

    + GraphQL +

    安装

    +

    准备工作:

    +
      +
    • 数据库环境(MySQL, MongoDB)
    • +
    • Node.js (版本大于 v7.6.0)
    • +
    +

    本章节示例项目源码位于: https://github.com/willin/start-grahql-server

    +

    安装各类依赖,养成良好习惯,第一步从eslint起.

    +

    !> 另外, 不建议安装Babel来转译服务器端的代码,因为最新的 Node.js 版本已经支持了很多 ES7 的新特性.

    +

    定义结构(Schema)

    +

    graphql-tools 定义结构(Schema): http://dev.apollodata.com/tools/graphql-tools/generate-schema.html

    +

    使用 graphql-tools 自动生成结构:

    +
    const typeDefs = `
    +type Author {
    +  id: Int
    +  firstName: String
    +  lastName: String
    +  posts: [Post]
    +}
    +type Post {
    +  id: Int
    +  title: String
    +  text: String
    +  views: Int
    +  author: Author
    +}
    +type Query {
    + author(firstName: String, lastName: String): Author
    + post(title: String): Post
    + getFortuneCookie: String
    +}
    +schema {
    + query: Query
    +}
    +`;
    +
    +

    Schema 扩展阅读

    +

    如果不使用该工具自动生成, 而是想要自己定义完整的数据结构, 可以参考: https://graphql.js.cool/learn/schema/

    +

    也可以在后面进阶的章节中了解: MySQL 向 GraphQL 迁移

    +

    快速搭建原型服务器(Mocked Server)

    +

    graphql-serve: https://github.com/apollographql/graphql-server

    +

    本文中分别使用 expresskoa 做了两个服务器.

    +
    // express
    +const express = require('express');
    +const { graphqlExpress, graphiqlExpress } = require('graphql-server-express');
    +const bodyParser = require('body-parser');
    +const schema = require('./schema');
    +
    +const GRAPHQL_PORT = 3000;
    +
    +const graphQLServer = express();
    +
    +graphQLServer.use('/graphql', bodyParser.json(), graphqlExpress({ schema }));
    +graphQLServer.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql' }));
    +
    +graphQLServer.listen(GRAPHQL_PORT, () => console.log(`GraphQL Server is now running on http://localhost:${GRAPHQL_PORT}/graphql`));
    +
    + +
    // koa
    +const Koa = require('koa');
    +const KoaRouter = require('koa-router');
    +const koaBody = require('koa-bodyparser');
    +const { graphqlKoa, graphiqlKoa } = require('graphql-server-koa');
    +const schema = require('./schema');
    +
    +const app = new Koa();
    +const router = new KoaRouter();
    +const PORT = 3000;
    +
    +// koaBody is needed just for POST.
    +app.use(koaBody());
    +
    +router.all('/graphql', graphqlKoa({ schema }));
    +router.all('/graphiql', graphiqlKoa({ endpointURL: '/graphql' }));
    +
    +app.use(router.routes());
    +app.use(router.allowedMethods());
    +app.listen(PORT);
    +
    +

    连接 SQL 数据库

    +

    使用 sequelize

    +
    const db = new Sequelize('blog', 'root', 'root', {
    +  dialect: 'mysql',
    +  host: 'localhost'
    +});
    +
    +const AuthorModel = db.define('author', {
    +  firstName: { type: Sequelize.STRING },
    +  lastName: { type: Sequelize.STRING }
    +});
    +
    +const PostModel = db.define('post', {
    +  title: { type: Sequelize.STRING },
    +  text: { type: Sequelize.STRING }
    +});
    +
    +AuthorModel.hasMany(PostModel);
    +PostModel.belongsTo(AuthorModel);
    +
    +// create mock data with a seed, so we always get the same
    +casual.seed(123);
    +db.sync({ force: true }).then(() => {
    +  _.times(10, () =>
    +    AuthorModel.create({
    +      firstName: casual.first_name,
    +      lastName: casual.last_name
    +    }).then((author) =>
    +      author.createPost({
    +        title: `A post by ${author.firstName}`,
    +        text: casual.sentences(3)
    +      })
    +    )
    +  );
    +});
    +
    +const Author = db.models.author;
    +const Post = db.models.post;
    +
    +

    连接 MongoDB

    +

    使用 mongoose

    +
    // somewhere in the middle:
    +Mongoose.connect('mongodb://localhost/views');
    +
    +const ViewSchema = Mongoose.Schema({
    +  postId: Number,
    +  views: Number
    +});
    +
    +const View = Mongoose.model('views', ViewSchema);
    +
    +

    从 GraphQL 中使用 REST 服务

    +
    const FortuneCookie = {
    +  getOne() {
    +    return fetch('http://fortunecookieapi.herokuapp.com/v1/cookie')
    +      .then((res) => res.json())
    +      .then((res) => res[0].fortune.message);
    +  }
    +};
    +
    +

    编写解决器(Resolver)

    +

    graphql

    +

    GraphQL 后边可以连接各种持久化存储,甚至 RESTful 远程资源.

    +
    const { Author, View, FortuneCookie } = require('./connectors');
    +
    +const resolvers = {
    +  Query: {
    +    author(_, args) {
    +      // MySQL
    +      return Author.find({ where: args });
    +    },
    +    getFortuneCookie() {
    +      // 远程REST服务
    +      return FortuneCookie.getOne();
    +    }
    +  },
    +  Author: {
    +    posts(author) {
    +      return author.getPosts();
    +    }
    +  },
    +  Post: {
    +    author(post) {
    +      return post.getAuthor();
    +    },
    +    views(post) {
    +      // MongoDB
    +      return View.findOne({ postId: post.id }).then((view) => view.views);
    +    }
    +  }
    +};
    +
    +module.exports = resolvers;
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/basic/db/mysql.png b/basic/db/mysql.png similarity index 100% rename from static/basic/db/mysql.png rename to basic/db/mysql.png diff --git a/basic/db/mysql/index.html b/basic/db/mysql/index.html new file mode 100644 index 00000000..774fb3b1 --- /dev/null +++ b/basic/db/mysql/index.html @@ -0,0 +1,374 @@ + + + + MySQL 5 - 团队领袖计划 + + +

    + MySQL 5 +

    查询优化

    +

    LIMIT 1

    +

    单条数据查询

    +
    SELECT uid FROM ?? WHERE email = ? LIMIT 1
    +
    +

    或单条记录更改

    +
    UPDATE ?? SET lastonline = if(updatedat < ? , ? , lastonline), ? WHERE did =  ? LIMIT 1
    +
    +

    或单条记录删除,加 LIMIT 1

    +

    SELECT 嵌套 SELECT

    +

    如:

    +
    SELECT did,type,
    +  (select username from ?? as t1 where t1.uid = fromuid LIMIT 1) username,
    +  (select email from  ?? as t1 where t1.uid = fromuid LIMIT 1) email,
    +FROM ?? WHERE --xxx
    +
    +

    优化为:

    +
    SELECT t1.`type`,t1.did,t2.username,t2.email FROM ??
    +  LEFT JOIN ?? ON t1.touid=t2.uid
    +WHERE --xxx
    +
    + +

    多次 JOIN

    +
    SELECT
    +   `t1`.`xxx`,
    +   `t1`.`xxx`,
    +   `t2`.`xxx`,
    +   `t2`.`xxx`,
    +   `t3`.`xxxx`,
    +   `t3`.`xxx`,
    +   `t4`.`xxx`,
    +   `t5`.`xxxx`
    +FROM (((?? `t1`
    +  left join ?? `t2` on((`t1`.`did` = `t2`.`did`)))
    +  left join ?? `t3` on((`t1`.`did` = `t3`.`did`)))
    +  left join ?? `t4` on((`t4`.`username` = `t1`.`did`)))
    +  left join ?? `t5` on((`t1`.`did` = `t5`.`did`)))
    +WHERE --xxx;
    +
    +

    80 条记录结果的查询约 40s,拆分查询,t1-t3 主要查询,t4、t5 表的数据只在部分记录中需要,分别做两次查询,共计三次查询,优化后查询总耗时 1s 以内。

    +

    表结构优化

    +

    引擎

    +

    如果需要用事务用 InnoDB

    +

    如果对查询效率要求高用MyISAM

    +

    表结构优化

    +

    基于 MyISAM 引擎。

    +
      +
    • 避免使用自增 ID;
    • +
    • 避免使用datetime,而用int(Unix Timestamp);
    • +
    • charvarchar的选择,追求极致查询性能用char,追求空间成本用varchar
    • +
    • 避免使用text,而用blob
    • +
    • 避免使用外键
    • +
    • 不允许空 null
    • +
    • 如果查询的 WHERE 条件有多个字段,应该创建联合索引
    • +
    +

    百万量级性能比较

    +

    项目源码: https://github.com/js-benchmark/mysql

    +

    GUID 插入性能损耗

    +

    毫无疑问,使用自增 ID 的查询性能更好。

    +

    但使用 GUID 后插入性能损耗是多少呢?

    +
      insert with_id ................................. 131 op/s
    +  insert with_guid ............................... 75 op/s
    +
    +

    结果来自于百万条数据,每千条为拆分进行的插入性能(下文的插入同)。

    +

    时间戳(Timestamp) vs 日期时间(DateTime)

    +
      insert with_timestamp .......................... 123 op/s
    +  insert with_datetime ........................... 66 op/s
    +  select with_timestamp .......................... 538 op/s
    +  select with_datetime ........................... 430 op/s
    +
    +

    插入和查询均为 Timestamp 更优。

    +
    bench('insert with_timestamp', (next) => {
    +  let sql = 'INSERT INTO `with_timestamp`(timestamp) VALUES ';
    +  for (let i = 0; i < 1000; i += 1) {
    +    sql += `(${parseInt(new Date() / 1000 - i * 86400, 10)})`;
    +    if (i !== 999) {
    +      sql += ',';
    +    }
    +  }
    +  connection.query(sql, next);
    +});
    +
    +bench('insert with_datetime', (next) => {
    +  let sql = 'INSERT INTO `with_datetime`(datetime) VALUES ';
    +  for (let i = 0; i < 1000; i += 1) {
    +    sql += `('${new Date(new Date() - i * 86400000).format('yyyy-MM-dd hh:mm:ss')}')`;
    +    if (i !== 999) {
    +      sql += ',';
    +    }
    +  }
    +  connection.query(sql, next);
    +});
    +
    +bench('select with_timestamp', (next) => {
    +  const sql = `SELECT * FROM \`with_timestamp\` WHERE \`timestamp\` > ${parseInt(new Date() / 1000 - 2 * 86400, 10)} AND \`timestamp\` < ${parseInt(
    +    new Date() / 1000 - 86400,
    +    10
    +  )}`;
    +  connection.query(sql, next);
    +});
    +
    +bench('select with_datetime', (next) => {
    +  const sql = `SELECT * FROM \`with_datetime\` WHERE \`datetime\` BETWEEN '${new Date(new Date() - 2 * 86400000).format(
    +    'yyyy-MM-dd hh:mm:ss'
    +  )}' AND '${new Date(new Date() - 86400000).format('yyyy-MM-dd hh:mm:ss')}'`;
    +  connection.query(sql, next);
    +});
    +
    +

    Char vs VarChar

    +
      90 op/s » insert with_char
    +  97 op/s » insert with_varchar
    +  308 op/s » select with_char
    +  298 op/s » select with_varchar
    +
    +

    查询性能平分秋色。多次测试发现char的查询性能略高于varchar。 +而主要区别在于:

    +
      +
    • VarChar 存储空间:27.5MB
    • +
    • Varchar 索引空间:19.5MB
    • +
    • Char 存储空间:34.6MB
    • +
    • Char 索引空间:51.6MB
    • +
    +

    MyISAM 引擎查询性能结果:

    +
      64 op/s » insert with_char
    +  43 op/s » insert with_varchar
    +  210 op/s » select with_char
    +  185 op/s » select with_varchar
    +
    +

    MyISAM 下查询性能char更优。(实例代码中将ENGINE替换,并删除已有表跑测试即可)

    +

    Blob vs Text

    +
      101 op/s » insert with_text
    +  104 op/s » insert with_blob
    +  167 op/s » select with_text
    +  180 op/s » select with_blob
    +
    +

    Blob略高一筹。存储方面两者基本使用相同。

    +

    其他

    +

    阿里云 RDS DMS 工具: https://dms-rds.aliyun.com/

    +

    阿里云 RDS 性能优化工具:

    +

    Image

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/db/mysql8/index.html b/basic/db/mysql8/index.html new file mode 100644 index 00000000..54861204 --- /dev/null +++ b/basic/db/mysql8/index.html @@ -0,0 +1,504 @@ + + + + MySQL 8 - 团队领袖计划 + + +

    + MySQL 8 +

    MySQL 8.0 挖坑指南。

    +

    最近项目中尝试使用 MySQL 8.0 的新特性 Document Store,但没有什么现成的项目案例,所以会持续踩一些坑。

    +

    参考文档

    + +

    官方文档:

    + + +

    创建索引

    +
    await db.getCollection(TABLE).createIndex('card_id', {
    +  fields: [
    +    {
    +      field: '$.card_id',
    +      type: 'TEXT(40)',
    +      required: true
    +    }
    +  ]
    +});
    +
    +

    创建索引后会生成一个类似于 $ix_t40_r_83B1B843CAF9C969DC1795BB1891E21C1BC12246 的虚拟字段(VIRTUAL COLUMN)。

    +
    ['$ix_t40_r_83B1B843CAF9C969DC1795BB1891E21C1BC12246', 'text', 'NO', 'MUL', null, 'VIRTUAL GENERATED'];
    +
    +

    创建唯一索引

    +

    目前(2020.07)还不能够创建文档类型的唯一索引。

    +
    await db.getCollection(TABLE).createIndex('card_id', {
    +  unique: true,
    +  fields: [
    +    {
    +      field: '$.card_id',
    +      type: 'TEXT(40)',
    +      required: true
    +    }
    +  ]
    +});
    +
    +

    目前会报错:

    +
    Error: Unique indexes are currently not supported.
    +    at Object.createIndex (/XXX/node_modules/@mysql/xdevapi/lib/DevAPI/Collection.js:347:39)
    +    at module.exports (/XXX/db/user.js:17:8)
    +    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    +    at async module.exports (/XXX/db/index.js:20:3)
    +
    +

    该部分源码位于: https://github.com/mysql/mysql-connector-nodejs/blob/master/lib/DevAPI/Collection.js#L346-L348

    +
    if (constraint.unique === true) {
    +  return Promise.reject(new Error('Unique indexes are currently not supported.'));
    +}
    +
    +

    文档数据操作

    +

    示例代码:

    +
    // 两个库提供的接口相同,下一个是 TS 封装(可能会定义不全)
    +import mysqlx from '@mysql/xdevapi';
    +// import mysqlx from 'mysqlx';
    +
    +const client = mysqlx.getClient(
    +  {
    +    host: 'localhost',
    +    port: 33060,
    +    user: 'root',
    +    password: 'root'
    +  },
    +  {
    +    pooling: {
    +      enabled: true,
    +      // maxIdleTime: 30000,
    +      maxSize: 25
    +      // queueTimeout: 10000
    +    }
    +  }
    +);
    +
    +async function main(): Promise<void> {
    +  const session = await client.getSession();
    +
    +  const db = session.getSchema('world_x');
    +
    +  const collection = db.getCollection('demo');
    +  const result = await collection.add({ test: 'demo02' }).add({ test: 'demo03' }).execute();
    +
    +  console.log(result);
    +  // OperationResult {
    +  //   xResult: {
    +  //     getWarnings: [Function: getWarnings],
    +  //     getWarningsCount: [Function: getWarningsCount],
    +  //     getAffectedItemsCount: [Function: getAffectedItemsCount],
    +  //     getAffectedRowsCount: [Function: deprecated],
    +  //     getAutoIncrementValue: [Function: getAutoIncrementValue],
    +  //     getGeneratedIds: [Function: getGeneratedIds]
    +  //   }
    +  // }
    +}
    +
    +main();
    +
    +

    其他示例可以参考项目: https://github.com/shiwangme/mysql8-x-devapi-demo

    +

    Tips

    +

    Count / 记录总数

    +

    Collection 总记录数:

    +
    const session = await mysqlx.getSession().then((session) => session.getSchema('SCHEMA_NAME').getCollection('COLLECTION_NAME'));
    +const total = await session.count();
    +
    +

    根据条件查询的结果条数:

    +
    const counter = await session.find().fields(['COUNT(1) as count']).execute();
    +const total = counter.fetchOne().count;
    +
    +

    Pagination / 分页

    +

    Koa 分页请求为例:

    +
    const { page, size } = ctx.query;
    +const session = await Card.getSession();
    +
    +// 计算页数
    +// const counter = await session.find().fields(['COUNT(1) as count']).execute();
    +// const total = counter.fetchOne().count;
    +const total = await session.count();
    +
    +const pages = Math.ceil(total / size);
    +
    +// 执行 Select
    +const query = session
    +  .find()
    +  .sort(['$.created_at DESC'])
    +  .limit(size)
    +  .offset((page - 1) * size);
    +
    +const result = await query.execute();
    +const list = result.fetchAll();
    +
    +ctx.success({ page, size, total, pages, list });
    +
    +

    Model 封装

    +

    封装 AddModifyRemoveFindOnegetSession,不包含 Find

    +

    Utils.js

    +
    /**
    + * 获取UNIX标准时间戳
    + * @return {int} UNIX标准时间戳
    + */
    +const getTimestamp = (t = new Date()) => parseInt(new Date(t).getTime() / 1000, 10);
    +
    +exports.createObj = (obj) => ({
    +  ...obj,
    +  created_at: getTimestamp(),
    +  updated_at: getTimestamp()
    +});
    +
    +exports.updateObj = (obj) => ({
    +  ...obj,
    +  updated_at: getTimestamp()
    +});
    +
    +

    Model.js

    +
    const mysqlx = require('@mysql/xdevapi');
    +
    +// 创建连接池
    +const client = mysqlx.getClient(
    +  {
    +    host: 'localhost',
    +    port: 33060,
    +    user: 'root',
    +    password: 'root'
    +  },
    +  {
    +    pooling: {
    +      enabled: true,
    +      maxIdleTime: 30000,
    +      maxSize: 25,
    +      queueTimeout: 10000
    +    }
    +  }
    +);
    +
    +const { createObj, updateObj } = require('./_utils');
    +
    +const DB_NAME = 'DATABASE_TEST';
    +
    +const models = [];
    +
    +class Model {
    +  constructor(TABLE) {
    +    this.TABLE = TABLE;
    +  }
    +
    +  getSession() {
    +    return mysqlx.getSession().then((session) => session.getSchema(DB_NAME).getCollection(this.TABLE));
    +  }
    +
    +  async add(item) {
    +    const session = await mysqlx.getSession();
    +    const db = session.getSchema(DB_NAME).getCollection(this.TABLE);
    +    return db.add(createObj(item)).execute();
    +    // {
    +    //   getWarnings: [Function: getWarnings],
    +    //   getWarningsCount: [Function: getWarningsCount],
    +    //   getAffectedItemsCount: [Function: getAffectedItemsCount],
    +    //   getAutoIncrementValue: [Function: getAutoIncrementValue],
    +    //   getGeneratedIds: [Function: getGeneratedIds]
    +    // }
    +  }
    +
    +  async findOne(key, val) {
    +    const session = await mysqlx.getSession();
    +    const db = session.getSchema(DB_NAME).getCollection(this.TABLE);
    +    return db
    +      .find(`${key} = :${key}`)
    +      .bind(key, val)
    +      .limit(1)
    +      .execute()
    +      .then((x) => x.fetchOne());
    +  }
    +
    +  async modify(id, item) {
    +    const session = await mysqlx.getSession();
    +    const db = session.getSchema(DB_NAME).getCollection(this.TABLE);
    +    return db.modify('_id = :id').bind('id', id).patch(updateObj(item)).execute();
    +  }
    +
    +  async remove(id) {
    +    const session = await mysqlx.getSession();
    +    const db = session.getSchema(DB_NAME).getCollection(this.TABLE);
    +    return db.remove('_id = :id').bind('id', id).limit(1).execute();
    +  }
    +}
    +
    +module.exports = new Proxy(
    +  {},
    +  {
    +    get(_, property = '') {
    +      const TABLE = property.toLowerCase();
    +      if (!models[TABLE]) {
    +        models[TABLE] = new Model(TABLE);
    +      }
    +      return models[TABLE];
    +    }
    +  }
    +);
    +
    +

    示例代码

    +
    const model = require('.@model');
    +
    +model.collection1
    +  .add({
    +    key: 'key',
    +    value: 'test'
    +  })
    +  .then((x) => {
    +    console.log('Warnings:', x.getWarningsCount());
    +    console.log('AffectedItems', x.getAffectedItemsCount());
    +    console.log('getAutoIncrementValue', x.getAutoIncrementValue());
    +    console.log('getGeneratedIds', x.getGeneratedIds());
    +  });
    +
    +model.collection1.modify('_id_xxx', { value: 'test22222' }).then((x) => {
    +  console.log('Warnings:', x.getWarningsCount());
    +  console.log('AffectedItems', x.getAffectedItemsCount());
    +  console.log('getAutoIncrementValue', x.getAutoIncrementValue());
    +  console.log('getGeneratedIds', x.getGeneratedIds());
    +});
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/db/redis/index.html b/basic/db/redis/index.html new file mode 100644 index 00000000..f750b710 --- /dev/null +++ b/basic/db/redis/index.html @@ -0,0 +1,263 @@ + + + + Redis - 团队领袖计划 + + +

    + Redis +

    代码示例

    +

    一般 Redis 里存储的数据需要一个默认的 TTL,即到期删除,尽可能避免无用数据长期存储。

    +
    const redis = require('@dwing/redis');
    +
    +const client = redis({
    +  host: '127.0.0.1',
    +  port: 6379,
    +  db: 0
    +});
    +
    +(async () => {
    +  // 推荐
    +  await client.set('trial:127.0.0.1', 1, 900);
    +
    +  // 或
    +
    +  // 需要注意,如果该`key`之前已存在,且ttl已设置,重新set之后,ttl会变成-1(永久);
    +  await client.set('trial:127.0.0.1', 1);
    +  // TTL: 900s
    +  await client.expire('trial:127.0.0.1', 900);
    +})();
    +
    + +

    注意事项

    +
      +
    • 设置 TTL,默认超时时间
    • +
    • Value 值为字符串,如果 JSON 数据存之前要JSON.stringify,取之后要JSON.parse
    • +
    • 具体 Redis 命令参数参考 http://redis.io/commands
    • +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/device/index.html b/basic/device/index.html new file mode 100644 index 00000000..27bddd76 --- /dev/null +++ b/basic/device/index.html @@ -0,0 +1,335 @@ + + + + 笔记本、台式机、平板二合一?Mac、Win、Linux? - 团队领袖计划 + + +

    + 笔记本、台式机、平板二合一?Mac、Win、Linux? +

    电脑选型

    +

    根据日常使用的需求进行选择,笔记本、台式机、平板和二合一电脑我都有尝试过,目前而言,最适合我个人的是笔记本。

    +

    笔记本

    +

    如果你犹豫笔记本和台式机,选择笔记本;如果你犹豫笔记本和二合一电脑,选择笔记本。笔记本电脑比较中规中矩,是绝大多数场景下都可以作为第一或者备选方案的选择。

    +

    在选择笔记本的时候,需要重点考虑如下几个因素:

    +
      +
    • 性能(如 CPU、内存、显卡是否能满足需求)
    • +
    • 散热(大部分的轻薄本都是热水袋,需要重点关注)
    • +
    • 续航(如果有移动办公的需求)
    • +
    • 屏幕尺寸(不再推荐 16:9 比例及 2k 以下分辨率的屏幕,看着很难受)
    • +
    • 重量(Mac Mini 的重量为 1.2Kg)
    • +
    +

    其他非关键的因素也可以作为参考:

    +
      +
    • 键盘(手感、键程等)
    • +
    • 触控板(是否支持多指手势)
    • +
    • 色域、亮度(设计领域需要重点关注)
    • +
    +

    大部分纠结选择苹果或者其他的,其实只需要关注预算就好了。

    +

    台式机

    +

    苹果

    +

    推荐 iMac 5k,正所谓买显示器送电脑,苹果台式机的显示器是真的好。当然如果 ¥ 不是问题,也可以采用 Mac Pro + Pro Display XDR 的方案。

    +

    我使用 iMac 5k 2019 两三年的时间,配合飞利浦的 4k 显示器双屏办公。定制了 i9 的处理器,自行安装了 64G (32*2) 内存条,整体下来 3 万左右的价格,并没有笔记本的顶配贵,但是真心性能强悍,也不用担心散热的问题,两个大屏看着很爽,开发效率真的很高。

    +

    劣势:

    +
      +
    • 不方便携带(我搬过两次,还要额外打包一台显示器,简直要了老命)
    • +
    • 不方便共享,别人开会抱着笔记本就进会议室了,我拿着笔记本(和笔)进会议室
    • +
    • 断电问题,虽然不常见,而且大部分有自动保存。但有一段时间在公司电力不稳定关机了几次,还是很吐血的
    • +
    +

    除去以上我在使用过程中的问题,其他剩下的都是优点了。

    +

    组装机

    +

    我也有过一段时间攒了一台台式机,配了一个带鱼曲面屏。游戏体验还不错,如果愿意折腾,不怕麻烦的话,Win、Linux、黑苹果三种系统也是可以通吃的。

    +

    劣势与 iMac 基本相同,除此之外:

    +
      +
    • 兼容性(需要折腾,比如想要完美黑苹果,或者安装其他发行版本的 Linux)
    • +
    +

    优势:

    +
      +
    • 性价比高,自己攒更便宜
    • +
    • 可定制性强,如果你喜欢 RGB 彩灯什么的,酷炫机箱外观啥的,虽然实用性不强,但装起来贼拉风
    • +
    +

    如果是为了娱乐游戏,攒一台高配性价比很高;如果是为了公司成本考虑,也算挺不错;但是作为个人生产力而言,并不推荐,需要关注的因素太多了,而且这些因素毫无生产力和效率可言。

    +

    笔记本平板二合一

    +

    我个人的理解,或许是适合有一些偏设计或者产品的人士。之前我用的是台电的二合一,性能虽然比较低,但是玩 LOL 什么的还是挺流畅的。给我留下最大的印象就是充电慢、耗电快。有的时候插着电边充边用还能整没电了。

    +

    优势:

    +
      +
    • 方便携带
    • +
    • 支持触控(或手写笔)
    • +
    +

    缺点:

    +
      +
    • 性能低
    • +
    • 接口(如 USB、HDMI、Type-C 等)少
    • +
    +

    如果有手写笔记、画画绘制灵感之类的,可以考虑一下。当然,其实如果没有特殊的需求,平板已经能够满足这部分的需求了。另外,真正可以选择的并不多,有华为 Matebook E 2022, 微软 Surface 系列,联想 Yoga 之类的。像戴尔 XPS 二合一虽然有触屏,但键盘不可拆卸。国产千元机形形色色,垃垃圾圾。

    +

    平板

    +

    顺带着提一下平板, Linux 平板(如 JingPad)还没有尝试过,不知道会不会有惊艳的体验。

    +

    平板可能更适合作为设计工具,但不太适合作为开发工具。我用过 iPad Pro 去尝试搭建各种开发环境,与 macOS 体验相差甚远。

    +

    目前有两种解决方案,一种是远程桌面控制家里的闲置电脑(或者云桌面)。该方案就涉及到了频率分辨率显示、网络延迟、屏幕键盘操作等问题。另外一种是远程服务器配置好开发环境,如 VS Code Web 版。都挺折腾的。

    +

    华为平板电脑模式(手机也有),配合外接大屏也是一种方案,但是分辨率只能是 1080P,而且虽然可以跑类似于 Termux 之类的 Linux 模拟器,但实践中问题还是挺多的。

    +

    目前的阶段,还没有达到可以通过移动设备进行完美开发。偶尔带着玩玩倒是可以。

    +

    设备

    +

    单设备还是多设备

    +

    有一段时间,我在家里用台式机,在公司用笔记本。两台主力开发电脑还是比较麻烦的,因为我并不会把所有的代码都提交到 Git 上。有一些本地写的临时 Demo 是忽略掉的。另外就是配置参数(环境变量)之类的,还需要同步。聊天信息不同步,本地素材资源需要额外的同步等等。

    +

    工具应当是用来提升生产力而不是降低生产力,所以对于我个人而言,麻烦比方便更多。我目前的理想状态是,在家里有一台 Macbook 配合一个大屏显示器,在外面带一个 iPad 随航充当一个副屏临时使用,就足矣。

    +

    显示器

    +

    选择显示器一般会纠结高分屏还是高刷新率,或者是大屏还是带鱼屏。

    +

    对于没有娱乐游戏需求的我而言,高分辨率会比刷新率更适合办公。高分屏我更倾向于 16:10 (暂未找到合适的 4k 显示器产品) 或者 3:2 (目前也仅有华为的 Mateview)的比例,退而求其次,我推荐带有 90w type-c 反向充电的显示器。当下飞利浦的显示器,还提供了 RJ45 千兆网口,非常不错的选择。

    +

    带鱼屏的话,32:9 比例,一个屏当两个用,更加适合分屏。但使用了带鱼屏,尤其是曲面带鱼屏(如三星玄龙骑士 G9 1000R 曲率),就决定了只能拥有一块工作屏幕。并且对于作为笔记本外接屏幕来说就比较不友好了。

    +

    台式机的话,可以用两台大屏的组合,或者 iMac 5k 自带显示器再带一块大屏。笔记本的话原则上来说另外接一个大屏够用(针对 Macbook 屏幕显示质量而言)。

    + +

    操作系统

    +

    仅代表我个人开发使用的心得与经验。纯粹个人好恶,仅供参考。

    +

    Windows

    +

    我是从 11 年正式加入 Mac OS X 阵营,在此之前折腾过一段时间黑苹果。后来 Windows 仅在公司配备的办公电脑及平板二合一电脑中使用过一些,所以对于一些新鲜效率工具方面可能了解欠缺一些。

    +

    从我自己的使用观感来看, Windows 开发需要配合 Linux 子系统 (WSL),所以系统里会存在多个 Shell 环境(如 Powershell、安装的 Git Shell、子系统的 Bash/Zsh 等等),使用起来非常不友好。并且在终端工具下复制、粘贴快捷键,选中状态等,都会让我头痛。这就极大程度上影响了我的开发效率。

    +

    优势:

    +
      +
    • 软件丰富(尤其是包含 GUI 图形界面的软件)且操作简单
    • +
    • 兼顾办公与娱乐
    • +
    +

    劣势:

    +
      +
    • 软件多也面临着垃圾软件更多的风险
    • +
    • 脚本/命令行处理
    • +
    • 文件管理/权限(比如删除文件遍历所有目录及文件,比如与 Linux 服务器上的文件权限策略不一致等)
    • +
    +

    不喜欢 Windows 的主要原因,是我觉得 GUI 是不可靠的,而且 GUI 很难去完成完整且复杂的功能操作。相较于图形界面,我更喜欢通过命令行来完成我的操作。

    +

    Linux 发行版

    +

    我也尝试过很多 Linux 发行版本,大部分使用的时间都不会超过半年,用着用着的过程中,会遇到一些不重装都解决不了的问题。而且很多软件,并不提供 Linux 的版本,即便提供了,也可能不适配我当前使用的发行版本。小到输入法,办公聊天软件等,普遍存在,还无解。

    +

    现在在公司里,我装的是 Manjaro (一个基于 Arch Linux 的发行版本),支持了滚动升级,一般情况下不会出现问题,但还是有一些非常影响体验的,我这里列举几个:

    +
      +
    • 虚拟机(已成开机必须打开的,用钉钉之类的聊天沟通)内外双向的复制粘贴,经常会失灵,导致整个系统卡住
    • +
    • Docker(不是容器服务那个 Docker) 和状态栏,需要手动配置,而且在每个屏幕下都需要单独配置,还经常会失灵(比如出现透明度问题、时间停止、应用程序菜单不显示等等)
    • +
    • 睡眠不能唤醒,偶尔无法关机,极少数情况下也会莫名其妙突然自动重启,可能跟驱动不全有关
    • +
    +

    虽然问题很多,但依然勉强能用。毕竟该方案的体验接近 macOS,环境接近服务器,性价比极高。

    +

    值得一提的是,可玩性更强一些,整个系统界面 UI 都可以灵活地配置,可以像 macOS 有全局的顶部状态栏和 Docker,也可以像 Windows 一样只有一个底部的状态栏。愿意折腾的话,是比 macOS 更个性的。

    +

    macOS

    +

    用了十余年,最大的感受就是:省心,也省事。虽然这几年更新下来感觉变化不太大,小问题越来越多,但目前依然是最适合开发的系统,没有之一。我这里指的是白苹果,黑苹果会有更多兼容性的问题,喜欢折腾的话可以试试。毕竟苹果一直性价比不太高,但能接受。

    +

    对于苹果的系统,这里就不过多阐述了,毕竟后续文章中的资源和示例,大多都是在 mac os 下完成的。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/chatgpt/index.html b/basic/framework/chatgpt/index.html new file mode 100644 index 00000000..14561376 --- /dev/null +++ b/basic/framework/chatgpt/index.html @@ -0,0 +1,258 @@ + + + + ChatGPT - 团队领袖计划 + + +

    + ChatGPT +

    ChatGpt 是一款由 OpenAI 开发的大型语言模型,主要功能是回答用户的问题和完成各种语言任务,如对话生成、文本摘要、翻译、生成文本等。它使用了先进的深度学习技术和海量的语言数据进行训练,可以在各种语言领域提供高质量的语言处理服务。

    +

    本教程旨在帮助您快速上手 ChatGpt,了解它的基本概念和使用方法。我们将通过以下几个步骤来介绍 ChatGpt 的开发流程:

    +
      +
    • 注册和登录 ChatGpt
    • +
    • 选择和创建项目
    • +
    • 编写和测试提示
    • +
    • 发布和分享项目
    • +
    +

    注册和登录 ChatGpt

    +

    要使用 ChatGpt,您需要先注册一个账号并登录。您可以访问 https://chatgpt.com/ ,点击右上角的 Sign Up 按钮,填写您的邮箱、用户名和密码,然后点击 Create Account 按钮,完成注册。

    +

    注册后,您会收到一封验证邮件,点击邮件中的链接,即可激活您的账号。然后,您可以返回 https://chatgpt.com/ ,点击右上角的 Log In 按钮,输入您的用户名和密码,然后点击 Log In 按钮,完成登录。

    +

    选择和创建项目

    +

    登录后,您会看到一个项目列表页面,显示了您已经创建或加入的项目。每个项目都有一个名称、一个描述、一个图标和一个类型。项目类型分为两种:Playground 和 Application。

    +

    Playground 是一个用于探索和实验 ChatGpt 的沙盒环境,您可以在其中编写任意的提示,并查看 ChatGpt 的回复。Playground 适合用于学习、测试和调试 ChatGpt 的功能。

    +

    Application 是一个用于构建和发布 ChatGpt 应用的正式环境,您可以在其中定义项目的目标、场景、用户界面等,并将其发布为一个可供他人使用的应用。Application 适合用于开发、部署和分享 ChatGpt 的产品。

    +

    要创建一个新的项目,您可以点击左上角的 New Project 按钮,然后选择项目类型(Playground 或 Application),输入项目名称和描述,选择项目图标(可选),然后点击 Create Project 按钮。

    +

    编写和测试提示

    +

    创建项目后,您会进入项目详情页面,在这里,您可以编写和测试提示。提示是一段文本,用于告诉 ChatGpt 您想要它做什么。提示通常包含以下几个部分:

    +
      +
    • 问题:用于描述您想要 ChatGpt 完成的任务或回答的问题。
    • +
    • 你需要做的事:用于指导 ChatGpt 如何完成任务或回答问题。
    • +
    • 数据库:用于提供 ChatGpt 需要使用或参考的信息或数据。
    • +
    • 当前日期:用于提供当前日期或时间。
    • +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/crawler/index.html b/basic/framework/crawler/index.html new file mode 100644 index 00000000..37206811 --- /dev/null +++ b/basic/framework/crawler/index.html @@ -0,0 +1,368 @@ + + + + Phantom/Request - 团队领袖计划 + + +

    + Phantom/Request +

    PhantomJS / Request 爬虫入门

    +

    以可备案域名后缀查询为例.

    +

    PhantomJS 优势为: 可以模拟页面渲染(执行 js).

    +

    request 优势就是效率高咯.

    +

    phantom 示例

    +

    思路很简单:

    +
      +
    1. 打开首页
    2. +
    3. 抓取数据
    4. +
    5. 模拟点击下一页
    6. +
    7. 重复第 2 步,直到没有数据
    8. +
    +
    const driver = require('node-phantom-simple');
    +const phantom = require('phantomjs-prebuilt');
    +
    +driver.create(
    +  {
    +    path: phantom.path
    +  },
    +  (err, browser) => {
    +    browser.createPage((err2, page) => {
    +      page.set(
    +        'settings.userAgent',
    +        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3175.4 Safari/537.36'
    +      );
    +      page.open('URL地址,和谐你我他', (err3, status) => {
    +        console.log('opened site? ', status);
    +        /* global nextPage,previousPage */
    +        let n = 0;
    +        const domains = [];
    +        const fib = () => {
    +          // eslint-disable-next-line
    +          page.evaluate(
    +            function () {
    +              /* eslint-disable */
    +              var i = 1;
    +              var ele;
    +              var result = [];
    +              while ((ele = document.getElementById(i))) {
    +                result.push(ele.children[3].innerText.trim());
    +                i++;
    +              }
    +              return {
    +                data: result,
    +                cur: ~~previousPage.toString().split(' = ')[2].split(';')[0] + 1
    +              };
    +            },
    +            (err4, result) => {
    +              /* eslint-enable */
    +              const { data, cur } = result;
    +              console.log('page %d done', cur);
    +              if (cur === n + 1) {
    +                domains.push(...data);
    +                n += 1;
    +              }
    +              if (data.length === 0) {
    +                console.log('-------');
    +                console.log('total domains:', domains.length);
    +                const arr = [...new Set(domains)];
    +                console.log('unique domains:', arr.length);
    +                console.log('-------');
    +                console.log(arr.sort().join('\n'));
    +                browser.exit();
    +                process.exit();
    +              }
    +            }
    +          );
    +          setTimeout(() => {
    +            // eslint-disable-next-line
    +            page.evaluate(
    +              function () {
    +                nextPage();
    +              },
    +              () => {
    +                setTimeout(fib, 3000);
    +              }
    +            );
    +          }, 3000);
    +        };
    +        fib();
    +      });
    +    });
    +  }
    +);
    +
    + +

    其中几个注意点:

    +
      +
    1. User-Agent 必须要设置
    2. +
    3. Timeout 是经过试验得出的较优的方案
    4. +
    +

    这些都是为了绕过知道创宇的反爬虫机制.

    +

    Request 示例

    +

    在这个示例里, 不推荐使用 phantom, 因为这样的界面上并没有动态的内容, 而且页面间通过传统表单形式进行跳转, 这就有一些可以利用的空间了.

    +

    比如pagesize默认选项只有三种: 5, 10, 20. 但经过测试, 设置 1000 也能正常获取数据. 所以我们这里就直接设置 1000,一次性搞定.

    +
    const request = require('request');
    +const cheerio = require('cheerio');
    +const gbk = require('gbk');
    +
    +request(
    +  {
    +    url: 'URL地址,和谐你我他',
    +    method: 'POST',
    +    headers: {
    +      'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3175.4 Safari/537.36'
    +    },
    +    form: {
    +      domainName: '',
    +      domainBlur: 0,
    +      domainType: 0,
    +      'page.pageSize': 1000,
    +      pageNo: 1,
    +      jumpPageNo: ''
    +    },
    +    encoding: null
    +  },
    +  (err, httpResponse, body) => {
    +    const $ = cheerio.load(gbk.toString('utf-8', body));
    +    const domains = [];
    +
    +    $('tr[id]').each((i, ele) => {
    +      domains.push($(ele).children('td').eq(3).text().trim());
    +    });
    +    console.log('-------');
    +    console.log('total domains:', domains.length);
    +    const arr = [...new Set(domains)];
    +    console.log('unique domains:', arr.length);
    +    console.log('-------');
    +    console.log(arr.sort().join('\n'));
    +    process.exit();
    +  }
    +);
    +
    +

    完整的项目源码位于: https://github.com/willin/beian-domain/tree/develop

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/electron/index.html b/basic/framework/electron/index.html new file mode 100644 index 00000000..68e39b6b --- /dev/null +++ b/basic/framework/electron/index.html @@ -0,0 +1,268 @@ + + + + Electron - 团队领袖计划 + + +

    + Electron +

    目前支持:Mac、Win、Linux 三个平台。

    +

    快速示例: https://github.com/electron/electron-quick-start

    +

    打包工具

    +

    electron-packager: https://github.com/electron-userland/electron-packager

    +

    Client

    +

    目录结构

    +
    .
    +├── app
    +│   ├── app.js
    +│   └── index.html
    +├── main.js
    +├── package.json
    +└── src
    +    ├── app.js
    +    ├── components
    +    │   ├── delete.js
    +    │   ├── login.js
    +    │   └── main.js
    +    ├── index.less
    +    ├── routes
    +    │   └── index.js
    +    ├── webpack.config.js
    +    └── webpack.config.prod.js
    +
    + +

    运行脚本

    +
    "scripts": {
    +  "start": "./node_modules/.bin/webpack --config src/webpack.config.js && ./node_modules/.bin/electron main.js",
    +  "test": "./node_modules/.bin/webpack --config src/webpack.config.js",
    +  "pack-win": "./node_modules/.bin/electron-packager . --asar  --overwrite --platform=win32 --arch=ia32 --prune=true --out=out --version-string.CompanyName='GitHub, Inc.'  --ignore=node_modules",
    +  "pack-mac": "./node_modules/.bin/electron-packager . --asar --overwrite --platform=darwin --arch=x64 --prune=true --out=out  --ignore=node_modules",
    +  "pack-all": "./node_modules/.bin/electron-packager . --out=dist --prune --asar --overwrite --all"
    +}
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/hapi/index.html b/basic/framework/hapi/index.html new file mode 100644 index 00000000..812b9a3d --- /dev/null +++ b/basic/framework/hapi/index.html @@ -0,0 +1,295 @@ + + + + Hapi - 团队领袖计划 + + +

    + Hapi +

    Server

    +
    import hapi from 'hapi';
    +
    +// Static File Server
    +import inert from 'inert';
    +// Render Views
    +import vision from 'vision';
    +
    +const server = new hapi.Server();
    +
    +server.connection(
    +  {
    +    host: '127.0.0.1',
    +    port: 4000,
    +    router: {
    +      stripTrailingSlash: true
    +    }
    +  },
    +  { timeout: { server: 5000, socket: 5000 } }
    +);
    +
    +// 根据需要注册插件
    +server.register([inert, vision], () => {
    +  server.start(() => {
    +    console.log(`Server started at:  ${server.info.uri}`);
    +  });
    +});
    +
    +// Load Routes
    +server.route(require('./routes'));
    +
    +// Error Response Handler
    +server.ext('onPreResponse', (request, reply) => {
    +  const response = request.response;
    +  if (!response.isBoom) {
    +    return reply.continue();
    +  }
    +  // return custom err result
    +});
    +
    +// Add Templates Support with handlebars
    +server.views({
    +  path: `${__dirname}/lib/views`,
    +  engines: { html: require('handlebars') },
    +  partialsPath: `${__dirname}/lib/views/partials`,
    +  isCached: false
    +});
    +
    +module.exports = server;
    +
    + +

    Plugins

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/koa/index.html b/basic/framework/koa/index.html new file mode 100644 index 00000000..e9af8ea3 --- /dev/null +++ b/basic/framework/koa/index.html @@ -0,0 +1,262 @@ + + + + Koa - 团队领袖计划 + + +

    + Koa +

    前置条件

    +

    koa 2.0 以上版本

    +
    npm install koa
    +
    +

    (更新本文时的最新版本为 2.0 alpha, 最新版本: https://github.com/koajs/koa )

    + +

    带 async 的示例

    +

    app.js:

    +
    const Koa = require('koa');
    +const app = new Koa();
    +
    +// logger
    +
    +app.use(async (ctx, next) => {
    +  const start = new Date();
    +  await next();
    +  const ms = new Date() - start;
    +  console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
    +});
    +
    +// response
    +
    +app.use((ctx) => {
    +  ctx.body = 'Hello World';
    +});
    +
    +app.listen(3000);
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/nativescript/index.html b/basic/framework/nativescript/index.html new file mode 100644 index 00000000..ed30ffd0 --- /dev/null +++ b/basic/framework/nativescript/index.html @@ -0,0 +1,277 @@ + + + + NativeScript - 团队领袖计划 + + +

    + NativeScript +

    安装

    +

    注意

    +

    MacOS 10.12 及之前版本 系统 ruby 的版本为 2.0.0,其中有一个依赖项的最新版本需要 2.2.2 以上。

    +

    先手动安装该依赖的旧版本:

    +
    gem install activesupport -v 4.2.7.1
    +
    +

    然后参考文档进行安装:http://docs.nativescript.org/start/ns-setup-os-x

    +

    安装 cocoapods 之后,执行:

    +
    pod setup --verbose
    +
    +

    进行 cocoapods 初始化。

    +

    最终执行 tns doctor 检查是否安装成功。

    +

    Client

    +

    目录结构

    +
    .
    +├── app
    +│   ├── App_Resources
    +│   │   ├── Android
    +│   │   └── iOS
    +│   ├── app.css
    +│   ├── app.ts
    +│   └── package.json
    +├── hooks
    +├── package.json
    +├── references.d.ts
    +└── tsconfig.json
    +
    + +

    运行脚本

    +
    tns run android
    +tns livesync android
    +
    +

    tns run 命令参数:

    +
    * --watch - If set, when you save changes to the project, changes are automatically synchronized to the connected device.
    +* --device - Specifies a connected device on which to run the app.
    +* --emulator - If set, runs the app in a native emulator for the target platform, if configured. When set, you can also set any other valid combination of emulator options as listed by $ tns help emulate android.
    +* --release - If set, produces a release build. Otherwise, produces a debug build. When set, you must also specify the --key-store-* options.
    +* --key-store-path - Specifies the file path to the keystore file (P12) which you want to use to code sign your APK. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options.
    +* --key-store-password - Provides the password for the keystore file specified with --key-store-path. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options.
    +* --key-store-alias - Provides the alias for the keystore file specified with --key-store-path. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options.
    +* --key-store-alias-password - Provides the password for the alias specified with --key-store-alias-password. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options.
    +* --justlaunch - If set, does not print the application output in the console.
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/nest/index.html b/basic/framework/nest/index.html new file mode 100644 index 00000000..513ce3b2 --- /dev/null +++ b/basic/framework/nest/index.html @@ -0,0 +1,490 @@ + + + + Nest.js - 团队领袖计划 + + +

    + Nest.js +

    +

    安装

    +
    # 如果是 node.js 10 之后的版本,需要加 --ignore-engines 来忽略一些不兼容库的警告
    +npm i -g @nestjs/cli --ignore-engines
    +# 或
    +yarn global add @nestjs/cli --ignore-engines
    +
    +

    入门文档

    + +

    小技巧

    +

    异步方法优化

    +

    减少不必要的 async/await 包裹。示例代码如下:

    +
    function test() {
    +  const deferred = {
    +    promise: undefined,
    +    resolve: undefined
    +  };
    +  deferred.promise = new Promise((resolve) => {
    +    deferred.resolve = resolve;
    +  });
    +  setTimeout(() => {
    +    deferred.resolve('hello world');
    +  }, 1000);
    +  return deferred.promise;
    +}
    +
    +@Controller()
    +export class AppController {
    +  constructor(private readonly appService: AppService) {}
    +
    +  // 以下两种写法都能运行,推荐使用第一种
    +  @Get('/test')
    +  getTest(): Promise<string> {
    +    return test();
    +  }
    +
    +  @Get('/test2')
    +  async getTest2(): Promise<string> {
    +    return await test();
    +  }
    +}
    +
    +

    同理,除了在 Controller 中,在 Model、 Service 等其他地方内层方法均可以进行优化,因为外层调用的时候已经带上了 await。同时,还需要注意各个方法的返回类型,养成良好习惯。

    + +

    使用 Fastify 框架

    +

    该部分没有文档,只有一个示例项目: https://github.com/nestjs/nest/tree/master/sample/10-fastify

    +
    yarn remove @nestjs/platform-express
    +yarn remove @types/express
    +yarn add @nestjs/platform-fastify
    +
    +

    修改 main.ts 文件:

    +
    import { NestFactory } from '@nestjs/core';
    +// 新增引用
    +import {
    +  FastifyAdapter,
    +  NestFastifyApplication,
    +} from '@nestjs/platform-fastify';
    +import { AppModule } from './app.module';
    +
    +async function bootstrap() {
    +  // 原有代码:
    +  // const app = await NestFactory.create(AppModule);
    +  // 替换代码:
    +  const app = await NestFactory.create<NestFastifyApplication>(
    +    AppModule,
    +    new FastifyAdapter(),
    +  );
    +  await app.listen(3000);
    +  console.log(`Application is running on: ${await app.getUrl()}`);
    +}
    +bootstrap();
    +
    +

    Open-API(Swagger)

    +

    目前只有英文文档,没有中文文档。地址:https://docs.nestjs.com/openapi/introduction

    +

    配合 Fastify 使用:

    +
    yarn add @nestjs/swagger
    +yarn add fastify-swagger
    +# [Nest] 7253   - 2020/07/08 下午4:42:59   [PackageLoader] The "fastify-swagger" package is missing. Please, make sure to install this library ($ npm install fastify-swagger) to take advantage of SwaggerModule. +37ms
    +# 如果出现类似报错,使用2.x版本重试
    +yarn add fastify-swagger@^2.6.0
    +
    +

    示例代码:

    +
    import { NestFactory } from '@nestjs/core';
    +import {
    +  FastifyAdapter,
    +  NestFastifyApplication,
    +} from '@nestjs/platform-fastify';
    +import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
    +import { AppModule } from './app.module';
    +
    +async function bootstrap() {
    +  const app = await NestFactory.create<NestFastifyApplication>(
    +    AppModule,
    +    new FastifyAdapter(),
    +  );
    +  const options = new DocumentBuilder()
    +    .setTitle('Cats example')
    +    .setDescription('The cats API description')
    +    .setVersion('1.0')
    +    .addTag('cats')
    +    .addBearerAuth()
    +    .build();
    +  // 生成的 JSON 格式文档,可以导出静态化
    +  const document = SwaggerModule.createDocument(app, options);
    +  // 注入, 访问 http://localhost:3000/api 可以访问
    +  SwaggerModule.setup('api', app, document);
    +
    +  await app.listen(3000);
    +  console.log(`Application is running on: ${await app.getUrl()}`);
    +}
    +bootstrap();
    +
    +

    Module 代码可以参考 Express Swagger 的示例项目: https://github.com/nestjs/nest/tree/master/sample/11-swagger

    +

    生成 Open-API.json 文件示例代码:

    +
    import { resolve } from 'path';
    +import { writeFileSync } from 'fs';
    +
    +import { NestFactory } from '@nestjs/core';
    +import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify';
    +import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
    +import { AppModule } from './app.module';
    +
    +async function bootstrap() {
    +  const app = (await NestFactory.create) < NestFastifyApplication > (AppModule, new FastifyAdapter());
    +  const options = new DocumentBuilder()
    +    .setTitle('Cats example')
    +    .setDescription('The cats API description')
    +    .setVersion('1.0')
    +    .addTag('cats')
    +    .addBearerAuth()
    +    .build();
    +  // 生成的 JSON 格式文档,可以导出静态化
    +  const document = SwaggerModule.createDocument(app, options);
    +  writeFileSync(resolve(__dirname, '../api.json'), JSON.stringify(document, null, 2), { encoding: 'utf8' });
    +}
    +bootstrap();
    +
    +

    E2E Testing

    +

    依然没有找到文档,参考一个示例的测试源码吧: https://github.com/nestjs/nest/blob/master/integration/hello-world/e2e/fastify-adapter.spec.ts

    +
    import { Test, TestingModule } from '@nestjs/testing';
    +import { AppModule } from './../src/app.module';
    +// 新增引用
    +import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify';
    +import { expect } from 'chai';
    +
    +describe('AppController (e2e)', () => {
    +  let app: NestFastifyApplication;
    +
    +  beforeEach(async () => {
    +    const moduleFixture: TestingModule = await Test.createTestingModule({
    +      imports: [AppModule]
    +    }).compile();
    +
    +    // 修改 app 创建
    +    app = moduleFixture.createNestApplication < NestFastifyApplication > new FastifyAdapter();
    +
    +    await app.init();
    +  });
    +
    +  it('/ (GET)', () => {
    +    // return request(app.getHttpServer())
    +    //   .get('/')
    +    //   .expect(200)
    +    //   .expect('Hello World!');
    +
    +    // 改用 inject 方式,不用 supertest
    +    return app
    +      .inject({
    +        method: 'GET',
    +        url: '/'
    +      })
    +      .then(({ payload }) => expect(payload).to.be.eql('Hello World!'));
    +  });
    +});
    +
    +

    Logger

    +
    npm i --save nestjs-pino
    +npm i --save-dev pino-pretty
    +
    +

    main.ts 入口文件引入:

    +
    import { Logger } from 'nestjs-pino';
    +
    +const app = await NestFactory.create(MyModule, { logger: false });
    +app.useLogger(app.get(Logger));
    +
    +

    app.module.ts 文件引入:

    +
    import { LoggerModule } from 'nestjs-pino';
    +
    +@Module({
    +  imports: [LoggerModule.forRoot()],
    +  controllers: [AppController],
    +  providers: [MyService]
    +})
    +class MyModule {}
    +
    +

    Controller 中使用示例:

    +
    import { Logger } from 'nestjs-pino';
    +
    +@Controller()
    +export class AppController {
    +  constructor(private readonly myService: MyService, private readonly logger: Logger) {}
    +
    +  @Get()
    +  getHello(): string {
    +    // pass message
    +    this.logger.log('getHello()');
    +
    +    // also we can pass context
    +    this.logger.log('getHello()', AppController.name);
    +
    +    return `Hello ${this.myService.getWorld()}`;
    +  }
    +}
    +
    +

    或者使用 PinoLogger (推荐):

    +
    // my.service.ts
    +import { PinoLogger, InjectPinoLogger } from 'nestjs-pino';
    +
    +@Injectable()
    +export class MyService {
    +  // regular injecting
    +  constructor(private readonly logger: PinoLogger) {}
    +
    +  // regular injecting and set context
    +  constructor(private readonly logger: PinoLogger) {
    +    logger.setContext(MyService.name);
    +  }
    +
    +  // inject and set context via `InjectPinoLogger`
    +  constructor(@InjectPinoLogger(MyService.name) private readonly logger: PinoLogger) {}
    +
    +  getWorld(...params: any[]) {
    +    this.logger.info('getWorld(%o)', params);
    +    return 'World!';
    +  }
    +}
    +
    +

    启动脚本修改:

    +
    nest start --watch | pino-pretty
    +
    +

    Graphql

    + +

    依赖于apollo-server

    +

    TBD.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/nuxt/index.html b/basic/framework/nuxt/index.html new file mode 100644 index 00000000..f1b13ef0 --- /dev/null +++ b/basic/framework/nuxt/index.html @@ -0,0 +1,317 @@ + + + + Nuxt.js - 团队领袖计划 + + +

    + Nuxt.js +

    这是类似于 Next.js(React)的一个渐进式框架。虽然支持 SSR(服务器端渲染),但我们依然可以只将其作为前端框架来实现前后端分离的中、小型项目。

    +

    文档不建议查看中文版本,因为比较老旧(更新本文时目前英文版本1.4.0而中文版本还停留在0.10.7

    +

    配置关闭 SSR

    +

    nuxt.config.js

    +
    module.exports = {
    +  mode: 'spa',
    +  build: {
    +    ssr: false
    +  }
    +  // 其他配置项
    +};
    +
    +

    下面从几个简单的实讲解各个核心功能的使用。

    + +

    插件 Plugins

    +

    实现 router.beforeEach 钩子:

    +
    // /plugins/router.js
    +export default ({ app }) => {
    +  app.router.beforeEach((to, from, next) => {
    +    app.store.dispatch('set', { key: '$page', data: `${to.name}` });
    +    return next();
    +  });
    +};
    +
    +

    其他示例:

    + +

    Store(Vuex)

    +

    子模块状态管理: https://nuxtjs.org/guide/vuex-store#modules-mode

    +
    // /store/todos.js
    +export const state = () => ({
    +  list: []
    +});
    +
    +export const mutations = {
    +  add(store, text) {
    +    store.list.push({
    +      text,
    +      done: false
    +    });
    +  },
    +  remove(store, { todo }) {
    +    store.list.splice(store.list.indexOf(todo), 1);
    +  },
    +  toggle(store, todo) {
    +    // eslint-disable-next-line no-param-reassign
    +    todo.done = !todo.done;
    +  }
    +};
    +
    +

    需要注意的是:

    +

    /store/index.js 需要以类似的结构抛出,即:

    +
    // /store/index.js
    +export const state = () => ({});
    +
    +export const mutations = {};
    +
    +// export const ...
    +
    +

    中间件 Middlewares

    +
    // middleware/authenticate.js
    +export default ({ store, redirect }) => {
    +  const user = store.getters['user/user'];
    +  if (user === null || parseInt(new Date() / 1000, 10) - user.expires > 0) {
    +    return redirect('/login');
    +  }
    +};
    +
    +

    使用(layout、pages 或 components 中):

    +
    // 以 layouts/dashboard.vue 为例
    +export default {
    +  name: 'Layout',
    +  middleware: 'authenticate'
    +  // ...
    +};
    +
    +

    可以是访问特定路由或者组件时触发。类似于 beforeRouterEnter 之类的钩子。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/basic/framework/react.png b/basic/framework/react.png similarity index 100% rename from static/basic/framework/react.png rename to basic/framework/react.png diff --git a/basic/framework/redux/index.html b/basic/framework/redux/index.html new file mode 100644 index 00000000..6242e89e --- /dev/null +++ b/basic/framework/redux/index.html @@ -0,0 +1,346 @@ + + + + React Redux - 团队领袖计划 + + +

    + React Redux +

    +

    view 层发出 actions 通知触发 store 里的 reducer 从而来更新 state;state 的改变会将更新反馈给我们的 view 层,从而让我们的 view 层发生相应的反应给用户。

    +
    +

    中文文档: https://github.com/camsong/redux-in-chinese

    +

    流程图

    +

    pic-1

    +

    目录结构

    +

    目录结构大概可以这样规划

    +
    app
    +  |_components
    +  |_reducers
    +  |_actions
    +  |_stores
    +    |_configureStores.js
    +  |_main.js
    +
    + +

    核心代码

    +

    举例核心代码。值得注意的是其中有一个 state 的传递有一些迷惑的地方,在下面的注释中可以找到思路。

    +

    components

    +
    import React, { Component } from 'react';
    +import { bindActionCreators } from 'redux';
    +import { connect } from 'react-redux';
    +import * as CounterActions from '../../actions/counter.js';
    +
    +class Counter extends Component {
    +  constructor() {
    +    super();
    +    this.state = {};
    +  }
    +  componentWillMount = () => {
    +    this.startCount();
    +  };
    +  startCount = () => {
    +    const { actions } = this.props;
    +    actions.listen('INC');
    +  };
    +  render() {
    +    return <div>{this.props.counter.count}</div>;
    +  }
    +}
    +Counter.propTypes = {
    +  actions: React.PropTypes.object.isRequired,
    +  counter: React.PropTypes.object.isRequired
    +};
    +// 声明 connect 连接
    +// 将 redux 中的 state传给 App
    +function mapStateToProps(state) {
    +  return {
    +    counter: state.counter
    +  };
    +}
    +function mapDispatchToProps(dispatch) {
    +  const boundCounter = bindActionCreators(CounterActions, dispatch);
    +  return {
    +    actions: Object.assign({}, boundCounter)
    +  };
    +}
    +// 声明 connect 连接
    +export default connect(mapStateToProps, mapDispatchToProps)(Counter);
    +
    +

    actions

    +

    action 函数必须返回一个带有 type 属性的 plain object。

    +
    import * as constants from '../../constants/counter';
    +export function listen(type) {
    +  switch (type) {
    +    case 'INC':
    +      return {
    +        type: constants.INC
    +      };
    +    case 'DEC':
    +      return {
    +        type: constants.DEC
    +      };
    +  }
    +}
    +
    +

    reducers

    +

    reducer 就是迎接 action 函数返回的线索的数据再处理函数,action 是预处理函数。

    +
    import { INC, DEC } from '../../constants/counter';
    +// 初始状态
    +const initState = {
    +  count: 1
    +};
    +// 定义转换的reducer函数
    +// action = {type: 'INC',counter: {count: 1}};
    +export default function start(state = initState, action) {
    +  switch (action.type) {
    +    case INC:
    +      // 对这个action做出响应
    +      state.count += 1; // 改变状态
    +      // return {count: 2} 返回给页面;
    +      return state;
    +    case DEC:
    +      // 对这个action做出响应
    +      state.count -= 1; // 改变状态
    +      // return {count: 0} 返回给页面;
    +      return state;
    +    default:
    +      return state;
    +  }
    +}
    +
    +
    import { combineReducers } from 'redux';
    +import counter from './counter'; // {count: 2}返回给页面,所以页面用的是counter.count获取数据2
    +// 通过combineReducers将多个reducer合并成一个rootReducer:
    +const rootReducer = combineReducers({
    +  counter, // {count: 1}
    +  others
    +});
    +export default rootReducer;
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/socketio/index.html b/basic/framework/socketio/index.html new file mode 100644 index 00000000..0d516372 --- /dev/null +++ b/basic/framework/socketio/index.html @@ -0,0 +1,261 @@ + + + + Socket.IO - 团队领袖计划 + + +

    + Socket.IO +

    http://socket.io/

    +

    Server

    +

    应用场景:服务器间通信。

    +
    const io = require('socket.io')().listen(6666);
    +
    +io.on('connection', (socket) => {
    +  socket.on('client', async (data) => {
    +    // Codes Here
    +  });
    +});
    +
    +exports.io = io;
    +
    +

    Client

    +
    import io from 'socket.io-client';
    +
    +const socket = io('ws://127.0.0.1:6666/');
    +
    +// 上线汇报
    +socket.emit('client', () => {
    +  return 'Hello World';
    +});
    +socket.on('server', async (data) => {
    +  // 处理服务器消息
    +});
    +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/udp/index.html b/basic/framework/udp/index.html new file mode 100644 index 00000000..d009352d --- /dev/null +++ b/basic/framework/udp/index.html @@ -0,0 +1,258 @@ + + + + UDP - 团队领袖计划 + + +

    + UDP +

    官方文档: https://nodejs.org/api/dgram.html

    +

    中文翻译: http://shouce.w3cfuns.com/nodejs/dgram.html

    +

    Server

    +

    应用场景: 心跳服务。

    +
    import dgram from 'dgram';
    +
    +const server = dgram.createSocket('udp4');
    +server.on('error', (err) => {
    +  // 处理错误
    +  server.close();
    +  server.bind(6666);
    +});
    +
    +server.on('message', async (msg, info) => {
    +  // 处理消息
    +});
    +
    +server.on('listening', () => {
    +  const address = server.address();
    +  console.log('Push Client Server listening at %s - %s', `${address.address}:${address.port}`, new Date());
    +});
    +server.bind(6666);
    +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/vue/index.html b/basic/framework/vue/index.html new file mode 100644 index 00000000..c6839ee5 --- /dev/null +++ b/basic/framework/vue/index.html @@ -0,0 +1,260 @@ + + + + Vue - 团队领袖计划 + + +

    + Vue +

    官方文档: https://cn.vuejs.org/

    +

    特色是单文件组件(模块化开发)。

    +

    适用场景:

    +
      +
    • 新人,较为轻量,容易上手
    • +
    • Deadline 定得比较紧的项目,开发效率高
    • +
    • 桌面端、移动端 App 开发
    • +
    +

    不建议的使用场景:

    +
      +
    • 明确分工的团队:如有专人分别负责 HTML、CSS、JS 等开发工作的
    • +
    • 需要考虑浏览器兼容性的项目:支持 IE 10+(IE 9 部分支持,参考: http://caniuse.com/#search=es5
    • +
    +

    相关资源

    + +

    进阶使用

    + +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/framework/webpack/index.html b/basic/framework/webpack/index.html new file mode 100644 index 00000000..e7bc5df8 --- /dev/null +++ b/basic/framework/webpack/index.html @@ -0,0 +1,421 @@ + + + + Webpack - 团队领袖计划 + + +

    + Webpack +

    遵循MVP原则, 即最简化可实行产品原则, 示例:

    +

    既有项目引入新的组件/库

    +

    假设现有项目用到了 react, react-router , antd 等库, 并且 controller, router, model, view 已基本成型.

    +

    此时如果要引入 mobx, 最佳实践步骤为:

    +
      +
    1. 新建一个空项目, 将既有库 react, antd 等安装, 配置一个最简单的 hello world 路由
    2. +
    3. 安装 mobx, 引入并测试通过
    4. +
    5. 再在原有项目上进行功能扩充
    6. +
    +

    既有项目打包优化

    +

    假设现有项目用到了 react, react-router , antd, mobx 等库, 并且 controller, router, model, view 已基本成型. webpack 打包过大, 应用性能较差.

    +

    最佳实践步骤:

    +
      +
    1. 新建一个空项目, 新建一个空的 webpack 配置
    2. +
    3. 安装 react (或 antd, 或 mobx等) 写一个简单示例引入项目
    4. +
    5. 针对单一库进行 webpack 打包优化, 一般情况下, 除了 loader rules / vendor 需要每个库单独优化, 其他配置都能保证通用
    6. +
    7. 一项优化完成后重复 2,3 步骤, 直到所有库优化完成
    8. +
    9. 对原有项目的 webpack 配置进行替换, 不动项目源码
    10. +
    11. 进一步优化, 比如 react-router-loader 之类的引入, 开始针对项目源码进行优化
    12. +
    + +

    示例: React/Antd 项目初始化

    +

    1. 配置 eslint

    +
      +
    • 创建: .eslintrc.eslintignore
    • +
    • 安装: yarn add --dev eslint eslint-config-dwing eslint-config-airbnb eslint-plugin-react eslint-plugin-jsx-a11y babel-eslint
    • +
    +
    // .eslintrc.js
    +module.exports = {
    +  extends: ['eslint-config-dwing', 'eslint-config-airbnb-base/rules/strict', 'eslint-config-airbnb/rules/react'].map(require.resolve),
    +  plugins: ['react'],
    +  parser: 'babel-eslint',
    +  env: {
    +    browser: true
    +  }
    +};
    +
    +

    2. 配置 babel

    +
      +
    • 创建: .babelrc
    • +
    • 安装: yarn add --dev babel-preset-env babel-preset-react babel-plugin-transform-runtime babel-plugin-transform-decorators-legacy babel-plugin-import babel-plugin-transform-class-properties babel-plugin-transform-object-rest-spread babel-runtime babel-polyfill babel-core
    • +
    +
    // .babelrc
    +{
    +  "presets": [
    +    ["env", {
    +      "targets": {
    +        "browsers": ["last 2 versions"]
    +      }
    +    }],
    +    "react"
    +  ],
    +  "plugins": [
    +    ["transform-runtime", {
    +      "helpers": false,
    +      "polyfill": false,
    +      "regenerator": true,
    +      "moduleName": "babel-runtime"
    +    }],
    +    "transform-decorators-legacy",
    +    ["import", { "libraryName": "antd", "style": true }],
    +    "transform-class-properties",
    +    "transform-object-rest-spread"
    +  ]
    +}
    +
    +

    3. 安装 react/antd 等

    +
      +
    • 安装: yarn add react react-dom react-router antd mobx
    • +
    • webpack 相关: yarn add --dev babel-loader less less-loader css-loader postcss-loader autoprefixer
    • +
    +

    4. 配置 webpack

    +
      +
    • 创建: webpack.config.js (用作产品) webpack.config.dev.js (用作开发)
    • +
    • 安装: yarn add --dev webpack html-webpack-plugin extract-text-webpack-plugin
    • +
    +

    该示例项目源码: https://github.com/AirDwing/webpack-lab/tree/antd

    +

    注意事项

    +

    1.最好不要用各类脚手架生成的 webpack 配置

    +

    原因有如下几点:

    +
      +
    1. 臃肿,夹杂了一大堆没用的第三方 npm 包,结构混乱, 难维护!!
    2. +
    3. webpack更新速度较快, 现在已经到了 3.x 版本了, 很多脚手架还停留在 1.x 或 2.x 的阶段
    4. +
    5. 知其然知其所以然, 不能仅做代码搬运的机器, 这样的话就失去了人的价值了. 只有在频繁地接触和使用过程中才能挖掘更优的配置
    6. +
    +

    2.webpack 配置最佳实践

    +

    个人推荐以一个配置为base(基准),其他进行微调.

    +

    如, 产品环境配置为:

    +
    // webpack.config.js
    +/* eslint-disable import/no-extraneous-dependencies */
    +const webpack = require('webpack');
    +const path = require('path');
    +const HtmlWebpackPlugin = require('html-webpack-plugin');
    +const ExtractTextPlugin = require('extract-text-webpack-plugin');
    +const theme = require('./antd.config');
    +
    +module.exports = {
    +  entry: {
    +    app: path.resolve(__dirname, '../src/main.jsx'),
    +    vendor: ['react', 'react-dom', 'react-router', 'mobx']
    +  },
    +  output: {
    +    path: path.resolve(__dirname, '../dist'),
    +    filename: '[name].js',
    +    publicPath: '/'
    +  },
    +  module: {
    +    rules: [
    +      {
    +        test: /\.jsx?$/,
    +        loader: 'babel-loader',
    +        exclude: /node_modules/
    +      },
    +      {
    +        test: /\.less$/,
    +        loader: ExtractTextPlugin.extract(
    +          `${require.resolve('css-loader')}?sourceMap&-autoprefixer!` +
    +            `${require.resolve('less-loader')}?{"sourceMap":true,"modifyVars":${JSON.stringify(theme)}}`
    +        )
    +      }
    +    ]
    +  },
    +  resolve: {
    +    modules: ['node_modules', path.resolve(__dirname, '../src')],
    +    extensions: ['.js', '.json', '.jsx', '.css']
    +  },
    +  plugins: [
    +    new webpack.DefinePlugin({
    +      'process.env.NODE_ENV': '"production"'
    +    }),
    +    // 或灵活配置
    +    // new webpack.DefinePlugin({
    +    //   'process.env': {
    +    //     NODE_ENV: JSON.stringify(process.env.NODE_ENV)
    +    //   }
    +    // }),
    +    new webpack.optimize.AggressiveMergingPlugin(),
    +    new webpack.optimize.CommonsChunkPlugin({
    +      name: 'common',
    +      filename: 'common.js'
    +    }),
    +    new webpack.optimize.ModuleConcatenationPlugin(),
    +    new webpack.optimize.UglifyJsPlugin({
    +      minimize: true,
    +      output: {
    +        comments: false
    +      },
    +      compress: {
    +        warnings: false,
    +        drop_console: false
    +      }
    +    }),
    +    new ExtractTextPlugin('[name].css', {
    +      disable: false,
    +      allChunks: true
    +    }),
    +    new HtmlWebpackPlugin({
    +      template: path.resolve(__dirname, '../src/index.html')
    +    })
    +  ]
    +};
    +
    +

    开发环境配置可以是这样去写:

    +
    // webpack.config.dev.js
    +const webpack = require('webpack');
    +// 引入 base
    +const config = require('./webpack.config');
    +// 对 base 进行扩展
    +module.exports = Object.assign({}, config, {
    +  entry: [
    +    // 重新完整定义一个 entry, 当然一般情况下是用不着这么做的
    +  ],
    +  output: Object.assign({}, config.output, {
    +    // 仅修改 output 的 publicPath
    +    publicPath: 'http://localhost/'
    +  }),
    +  // 比如, 在开发环境中需要多加一个 plugin
    +  plugins: [
    +    ...config.plugins,
    +    // 该插件仅用于示例
    +    new webpack.optimize.ModuleConcatenationPlugin()
    +  ],
    +  // 加一项新的配置
    +  devtools: ''
    +});
    +
    +

    当然你可能觉得这么写性能很低, 但对于只在启动时执行一次的代码来说没有什么, 而且你如果仔细研究一下,比如webpack-merge或者其他的, 它们的底层实现也是这样, 还另外套了许多的封装.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/basic/git/rebase.jpg b/basic/git/rebase.jpg similarity index 100% rename from static/basic/git/rebase.jpg rename to basic/git/rebase.jpg diff --git a/static/basic/git/reset.jpg b/basic/git/reset.jpg similarity index 100% rename from static/basic/git/reset.jpg rename to basic/git/reset.jpg diff --git a/static/basic/http.jpg b/basic/http.jpg similarity index 100% rename from static/basic/http.jpg rename to basic/http.jpg diff --git a/basic/js/es/index.html b/basic/js/es/index.html new file mode 100644 index 00000000..8fdd860d --- /dev/null +++ b/basic/js/es/index.html @@ -0,0 +1,353 @@ + + + + ES Next - 团队领袖计划 + + +

    + ES Next +

    Pipeline Operator (Proposal)

    +

    目前处于草稿阶段: https://github.com/tc39/proposal-pipeline-operator

    +
    function doubleSay(str) {
    +  return `${str}, ${str}`;
    +}
    +function capitalize(str) {
    +  return str[0].toUpperCase() + str.substring(1);
    +}
    +function exclaim(str) {
    +  return `${str}!`;
    +}
    +
    +let result = 'hello' |> doubleSay |> capitalize |> exclaim;
    +
    +result |> console.log;
    +//=> "Hello, hello!"
    +
    +

    项目模板: https://github.com/willin/esnext-pipeline-biolerplate

    +

    Async (ES 7)

    +
    async function fn(args) {
    +  // ...
    +}
    +
    +// 等同于
    +
    +function fn(args) {
    +  return spawn(function* () {
    +    // ...
    +  });
    +}
    +
    +

    多个await命令后面的异步操作,如果不存在继发关系,最好让它们同时触发。

    +
    let foo = await getFoo();
    +let bar = await getBar();
    +
    +

    上面代码中,getFoogetBar是两个独立的异步操作(即互不依赖),被写成继发关系。这样比较耗时,因为只有getFoo完成以后,才会执行getBar,完全可以让它们同时触发。

    +
    // 写法一
    +let [foo, bar] = await Promise.all([getFoo(), getBar()]);
    +
    +// 写法二
    +let fooPromise = getFoo();
    +let barPromise = getBar();
    +let foo = await fooPromise;
    +let bar = await barPromise;
    +
    +

    上面两种写法,getFoogetBar都是同时触发,这样就会缩短程序的执行时间。

    + +

    Proxy (ES 6)

    +

    经测试 Node v6.1.0 之后版本已集成。

    +

    示例代码:

    +
    const proxy = new Proxy(
    +  {},
    +  {
    +    get: (target, property) => [target, property]
    +  }
    +);
    +
    +console.log(proxy.func); // [ {}, 'func' ]
    +console.log(proxy.func('123')); // TypeError: proxy.func is not a function
    +
    +
    const proxy = new Proxy(
    +  {},
    +  {
    +    get: (target, property) => (test) => [target, property, test]
    +  }
    +);
    +
    +console.log(proxy.func); // [Function]
    +console.log(proxy.func('123')); // [ {}, 'func', '123' ]
    +
    +

    ES 6 作用域

    +

    以 For 循环为例:

    +
    var funcs = [];
    +
    +for (var i = 0; i < 10; i += 1) {
    +  funcs.push(function () {
    +    console.log(i);
    +  });
    +}
    +
    +funcs.forEach((func) => func());
    +// 输出 10 十次
    +
    +

    闭包:

    +
    var funcs = [];
    +
    +for (var i = 0; i < 10; i += 1) {
    +  funcs.push((function(value){ console.log(value); }(i));
    +}
    +
    +funcs.forEach(func => func());
    +// 0 到 9 依次输出
    +
    +

    在 ES6 中可以简化为:

    +
    const funcs = [];
    +
    +for (let i = 0; i < 10; i += 1) {
    +  funcs.push(() => console.log(i));
    +}
    +
    +funcs.forEach((func) => func());
    +// 0 到 9 依次输出
    +
    +

    Function 创建函数

    +
    var add = new Function('first', 'second = first', 'return first + second');
    +console.log(add(1, 1)); // 2
    +console.log(add(1)); // 2
    +
    +
    var pickFirst = new Function('..args', 'return args[0]');
    +console.log(pickFirst(1, 2)); // 1
    +
    +

    ES6 中互换值

    +
    let a = 1;
    +let b = 2;
    +
    +[a, b] = [b, a];
    +
    +console.log(a, b); // 2 1
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/basic/js/fetch.png b/basic/js/fetch.png similarity index 100% rename from static/basic/js/fetch.png rename to basic/js/fetch.png diff --git a/basic/js/fetch/index.html b/basic/js/fetch/index.html new file mode 100644 index 00000000..f69100b1 --- /dev/null +++ b/basic/js/fetch/index.html @@ -0,0 +1,277 @@ + + + + Fetch API AJAX - 团队领袖计划 + + +

    + Fetch API AJAX +

    浏览器兼容性

    +

    caniuse

    +

    支持检查

    +
    if (typeof fetch === 'function' && typeof window.fetch === 'function') {
    +  // 支持
    +}
    +
    +if (typeof fetch !== 'function' || typeof window.fetch !== 'function') {
    +  // 不支持
    +}
    +
    +

    示例代码

    +
    var req = new Request('/data.json', { method: 'POST', cache: 'reload' });
    +fetch(req)
    +  .then(function (res) {
    +    return res.json();
    +  })
    +  .then(function (data) {
    +    console.log(data);
    +  });
    +
    + + +

    credentials 凭证参数

    +
    fetch('a.com/api', { credentials: 'include' }).then(function (res) {
    +  // ...
    +});
    +
    +

    +
    var req = new Request('/data.json', { method: 'POST', cache: 'reload', credentials: 'include' });
    +fetch(req)
    +  .then(function (res) {
    +    return res.json();
    +  })
    +  .then(function (data) {
    +    console.log(data);
    +  });
    +
    +

    参考资料

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/js/map/index.html b/basic/js/map/index.html new file mode 100644 index 00000000..dfadf5ad --- /dev/null +++ b/basic/js/map/index.html @@ -0,0 +1,275 @@ + + + + Map - 团队领袖计划 + + +

    + Map +

    Map 介绍

    +

    语法

    +
    array.map(callback[, thisArg])
    +
    +

    参数

    +

    callback

    +

    原数组中的元素经过该方法后返回一个新的元素。

    +
    +

    currentValue

    +
    +

    callback 的第一个参数,数组中当前被传递的元素。

    +
    +

    index

    +
    +

    callback 的第二个参数,数组中当前被传递的元素的索引。

    +
    +

    array

    +
    +

    callback 的第三个参数,调用 map 方法的数组。

    +

    thisArg

    +

    执行 callback 函数时 this 指向的对象。

    +

    返回值

    +

    由回调函数的返回值组成的新数组。

    + +

    例题

    +

    https://www.codewars.com/kata/double-char

    +

    Given a string, you have to return a string in which each character (case-sensitive) is repeated once.

    +
    doubleChar("String") ==> "SSttrriinngg"
    +
    +doubleChar("Hello World") ==> "HHeelllloo  WWoorrlldd"
    +
    +doubleChar("1234!_ ") ==> "11223344!!__  "
    +
    +

    Good Luck!

    +

    答案:

    +
    const doubleChar = (str) =>
    +  str
    +    .split('')
    +    .map((i) => i.repeat(2))
    +    .join('');
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/js/reduce/index.html b/basic/js/reduce/index.html new file mode 100644 index 00000000..7e0be153 --- /dev/null +++ b/basic/js/reduce/index.html @@ -0,0 +1,272 @@ + + + + Reduce - 团队领袖计划 + + +

    + Reduce +

    Reduce 介绍

    +

    语法

    +
    arr.reduce(callback, [initialValue]);
    +
    +

    参数

    +

    callback

    +

    执行数组中每个值的函数,包含四个参数:

    +
    +

    accumulator

    +
    +

    上一次调用回调返回的值,或者是提供的初始值(initialValue)

    +
    +

    currentValue

    +
    +

    数组中正在处理的元素

    +
    +

    currentIndex

    +
    +

    数据中正在处理的元素索引,如果没有提供 initialValues,默认从 0 开始

    +
    +

    array

    +
    +

    调用 reduce 的数组

    +

    initialValue

    +

    作为第一次调用 callback 的第一个参数。

    +

    返回值

    +

    函数累计处理的结果。

    + +

    例题

    +

    https://www.codewars.com/kata/beginner-reduce-but-grow

    +

    Given and array of integers (x), return the result of multiplying the values together in order. Example:

    +
    [1, 2, 3] --> 6
    +
    +

    For the beginner, try to use the reduce method - it comes in very handy quite a lot so is a good one to know.

    +

    Array will not be empty.

    +

    答案:

    +
    const grow = (x) => x.reduce((r, i) => r * i, 1);
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/js/regexp/index.html b/basic/js/regexp/index.html new file mode 100644 index 00000000..dd4b8b1d --- /dev/null +++ b/basic/js/regexp/index.html @@ -0,0 +1,253 @@ + + + + 正则替换 - 团队领袖计划 + + +

    + 正则替换 +

    RegExp 对象

    +

    参考:

    +

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp

    +

    工具:

    +
      +
    • RegExp tester (Chrome 插件)
    • +
    +

    例题

    +

    Write a function that accepts an array of 10 integers (between 0 and 9), that returns a string of those numbers in the form of a phone number.

    +

    Example:

    +
    createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) // => returns "(123) 456-7890"
    +
    +

    The returned format must be correct in order to complete this challenge. +Don't forget the space after the closing parenthese!

    +

    题目地址: https://www.codewars.com/kata/create-phone-number

    + +

    答案:

    +
    const createPhoneNumber = (n) => n.join('').replace(/(\d{3})(\d{3})(\d{3})/, '($1) $2-$3');
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/js/tricks/index.html b/basic/js/tricks/index.html new file mode 100644 index 00000000..5e1232e0 --- /dev/null +++ b/basic/js/tricks/index.html @@ -0,0 +1,356 @@ + + + + Tricks - 团队领袖计划 + + +

    + Tricks +

    你也许并不需要 jQuery 之类的库来协助开发。

    +

    事件委派

    +

    如对 AJAX 请求返回结果中的按钮进行 click 事件绑定:

    +
    var handleClick = function (e) {
    +  if (e.target && e.target.nodeName.toLowerCase() === 'button') {
    +    // Codes Here
    +  }
    +};
    +
    +parentNode.addEventListener('click', handleClick);
    +
    +

    Deep Clone

    +

    问题现象:

    +
    var obj1 = {
    +  key1: 'value1',
    +  key2: 'value2',
    +  children: {
    +    key3: 'value3',
    +    key4: 'value4'
    +  }
    +};
    +var obj2 = Object.assign({}, obj1);
    +obj2.children.key3 = 'test';
    +console.log(obj1.children);
    +// { key3: 'test', key4: 'value4' }
    +
    +

    快速解决方案:

    +
    const obj2 = JSON.parse(JSON.stringify(obj1));
    +
    + +

    Scroll Debounce

    +

    用于解决前端滚动侦听事件触发频率过高问题。

    +

    核心代码:

    +
    function debounce(func, wait = 20, immediate = true) {
    +  var timeout;
    +  return function () {
    +    var context = this,
    +      args = arguments;
    +    var later = function () {
    +      timeout = null;
    +      if (!immediate) func.apply(context, args);
    +    };
    +    var callNow = immediate && !timeout;
    +    clearTimeout(timeout);
    +    timeout = setTimeout(later, wait);
    +    if (callNow) func.apply(context, args);
    +  };
    +}
    +
    +

    示例代码:

    +
    function testFunc(e) {
    +  console.count(e);
    +}
    +
    +window.addEventListener('scroll', () => console.count('bounce'));
    +window.addEventListener('scroll', debounce(testFunc));
    +
    +

    在浏览器中测试。

    +

    遍历用 Map 还是 For

    +

    同是遍历,但实际有很大不同。

    +

    对比

    +

    map

    +

    改变自身。

    +
    [1, 2, 3, 4, 5].map((x) => x + 1);
    +// [ 2, 3, 4, 5, 6 ]
    +
    +

    for

    +

    只是循环。

    +

    Benchmark 测试

    +

    benchmark 脚本:

    +
    suite('iterator', function () {
    +  bench('for', function () {
    +    const a = [1, 2, 3, 4, 5];
    +    for (let i = 0; i < a.length; i++) {
    +      // nothing
    +    }
    +  });
    +  bench('foreach', function () {
    +    const a = [1, 2, 3, 4, 5];
    +    a.forEach(function (d) {
    +      // nothing
    +    });
    +  });
    +  bench('for of', function () {
    +    const a = [1, 2, 3, 4, 5];
    +    for (let i of a) {
    +      // nothing
    +    }
    +  });
    +  bench('map', function () {
    +    const a = [1, 2, 3, 4, 5];
    +    a.map((x) => x);
    +  });
    +});
    +
    +

    测试结果:

    +
                          iterator
    +      50,038,931 op/s » for
    +       8,980,276 op/s » foreach
    +       8,990,758 op/s » for of
    +       1,713,807 op/s » map
    +
    +
    +  Suites:  1
    +  Benches: 4
    +  Elapsed: 5,710.33 ms
    +
    +

    结论

    +

    单凭循环 for 最可靠。

    +

    foreachfor ... of 差不多。

    +

    map 性能最低。

    +

    触发 react onchange 事件并赋值

    +
    var setValue = function (element, value) {
    +  element.value = value;
    +  if ('createEvent' in document) {
    +    var event = new Event('input', { bubbles: true });
    +    element.dispatchEvent(event);
    +  } else {
    +    element.fireEvent('onchange');
    +  }
    +};
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/js/try-catch/index.html b/basic/js/try-catch/index.html new file mode 100644 index 00000000..04cca516 --- /dev/null +++ b/basic/js/try-catch/index.html @@ -0,0 +1,367 @@ + + + + 异常捕获 - 团队领袖计划 + + +

    + 异常捕获 +

    ES5 中的传统做法

    +

    假设代码块执行抛出错误 fail,那么捕获该错误的写法为:

    +
    try {
    +  // 代码块执行,并抛出 fail 错误
    +  throw new Error('fail');
    +} catch (e) {
    +  console.log(e);
    +}
    +
    +

    定时器

    +

    我们先来针对上面的代码改写一下,加入一个定时器。

    +
    try {
    +  setTimeout(() => {
    +    throw new Error('fail');
    +    // Uncaught Error: fail
    +  }, 1000);
    +} catch (e) {
    +  console.log(e);
    +}
    +
    +

    像这样,将 try/catch 扔在定时器的外面,是无法捕获到内部的错误的。

    +

    正确的做法应该是:

    +
    setTimeout(() => {
    +  try {
    +    throw new Error('fail');
    +  } catch (e) {
    +    console.log(e);
    +  }
    +}, 1000);
    +
    +

    Promise

    +
    function doSomething() {
    +  return new Promise((resolve, reject) => {
    +    // 同步代码中的 throw 可以被捕捉到
    +    throw new Error('fail');
    +  });
    +}
    +
    +doSomething()
    +  .then((x) => {
    +    console.log('success:', x);
    +  })
    +  .catch((err) => {
    +    console.log('fail:', err);
    +  });
    +
    +

    这样写是没有问题的,错误能够被捕获到。但只要稍微修改一下,可能就出现问题了。比如:

    +
    function doSomething() {
    +  return new Promise((resolve, reject) => {
    +    // 异步代码中的 throw 不能被 Promise 的 catch 捕捉到
    +    setTimeout(() => {
    +      throw new Error('fail');
    +    }, 1000);
    +  });
    +}
    +
    +doSomething()
    +  .then((x) => {
    +    console.log('success:', x);
    +  })
    +  .catch((err) => {
    +    console.log('fail:', err);
    +  });
    +
    +

    这里抛出但错误将不能被捕获。所以,在 Promise 中,我们一般通过 reject 来抛出错误。

    +
    function doSomething(x) {
    +  return new Promise((resolve, reject) => reject(x));
    +}
    +
    +doSomething('fail')
    +  .then((x) => {
    +    console.log('success:', x);
    +  })
    +  .catch((err) => {
    +    console.log('fail:', err);
    +  });
    +// fail: fail
    +
    +

    另外,还有一个比较有意思的细节,在 catch 之后继续添加 .then 会被继续执行。

    +
    function doSomething(x) {
    +  return new Promise((resolve, reject) => reject(x));
    +}
    +
    +doSomething('fail')
    +  .then((x) => {
    +    console.log('success:', x);
    +  })
    +  .catch((err) => {
    +    console.log('fail:', err);
    +    // 这里可以写 return 给下面的方法继续执行
    +  })
    +  .then((x) => {
    +    console.log('continue:', x);
    +  });
    +// fail: fail
    +// continue: undefined
    +
    + +

    Async/Await

    +

    本质上来讲, Async/Await 是通过 Promise 实现,所以基本跟上面 Promise 所讲的差不多。

    +

    可以在 await 方法外嵌套 try/catch,类似这样:

    +
    function doSomething(x) {
    +  return new Promise((resolve, reject) => reject(x));
    +}
    +
    +(async () => {
    +  try {
    +    const result = await doSomething('fail');
    +    console.log('success:', result);
    +    // return 返回
    +  } catch (err) {
    +    console.log('fail:', err);
    +    // return 返回
    +  }
    +})();
    +// fail: fail
    +
    +

    但这里就有一个问题,比如函数需要有返回,那么返回的语句就需要写两次,正常但时候返回结果,错误的时候,返回一个 throw new Error() 或者其他的。有一个小的窍门,可以这样写:

    +
    function doSomething(x) {
    +  return new Promise((resolve, reject) => reject(x));
    +}
    +
    +(async () => {
    +  const result = await doSomething('fail').catch((err) => {
    +    console.log('fail:', err);
    +    return 0; // 默认值
    +  });
    +  console.log('success:', result);
    +})();
    +// fail: fail
    +// success: 0
    +
    +

    在错误捕获到之后,重新分配一个默认值,让代码继续运行。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/knowledge/docker/index.html b/basic/knowledge/docker/index.html new file mode 100644 index 00000000..b9c7f220 --- /dev/null +++ b/basic/knowledge/docker/index.html @@ -0,0 +1,256 @@ + + + + Docker 加速 - 团队领袖计划 + + +

    + Docker 加速 +

    阿里云

    +

    https://cr.console.aliyun.com/

    +

    DaoCloud

    +

    https://www.daocloud.io/mirror#accelerator-doc

    +

    使用

    +

    注: 上面的两家服务是免费的。

    +

    以阿里云在 Mac 下使用为例:

    +

    登陆控制台,获取专属下载地址,如 https://xxxx.mirror.aliyuncs.com

    +

    使用 Docker-Machine 安装虚拟机:

    +
    docker-machine create --engine-registry-mirror=https://xxxx.mirror.aliyuncs.com -d virtualbox default
    +
    +

    查看机器的环境配置,并配置到本地,并通过 Docker 客户端访问 Docker 服务。

    +
    docker-machine env default
    +eval "$(docker-machine env default)"
    +docker info
    +
    +

    阿里云 9 折推荐码:

    +
    +

    0kbwsn

    +
    +

    注册地址: http://t.cn/zjxZrUk

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/knowledge/fonts/index.html b/basic/knowledge/fonts/index.html new file mode 100644 index 00000000..85ed5187 --- /dev/null +++ b/basic/knowledge/fonts/index.html @@ -0,0 +1,261 @@ + + + + 跨平台的Web中文字体解决方案 - 团队领袖计划 + + +

    + 跨平台的Web中文字体解决方案 +

    Fonts.css: http://zenozeng.github.io/fonts.css/

    +

    黑体

    +
    font-family: -apple-system, 'Helvetica Neue', Helvetica, 'Nimbus Sans L', Arial, 'Liberation Sans', 'PingFang SC', 'Hiragino Sans GB',
    +  'Source Han Sans CN', 'Source Han Sans SC', 'Microsoft YaHei', 'Wenquanyi Micro Hei', 'WenQuanYi Zen Hei', 'ST Heiti', SimHei,
    +  'WenQuanYi Zen Hei Sharp', sans-serif;
    +
    +
      +
    • Use apple system font (like San Francisco) by default, see also: https://github.com/zenozeng/fonts.css/issues/29
    • +
    • 某些 Linux 中 Helvetica 会自动 fallback 到 Nimbus Sans L (具体见 /etc/fonts/conf.d/30-metric-aliases.conf, debian jessie/sid )
    • +
    • 某些 Linux 中 Arial 会自动 fallback 到 Liberation Sans (具体见 /etc/fonts/conf.d/30-metric-aliases.conf, debian jessie/sid )
    • +
    +

    楷体

    +
    font-family: Baskerville, Georgia, 'Liberation Serif', 'Kaiti SC', STKaiti, 'AR PL UKai CN', 'AR PL UKai HK', 'AR PL UKai TW', 'AR PL UKai TW MBE',
    +  'AR PL KaitiM GB', KaiTi, KaiTi_GB2312, DFKai-SB, 'TW\-Kai', serif;
    +
    +

    宋体

    +
    font-family: Georgia, 'Nimbus Roman No9 L', 'Songti SC', STSong, 'AR PL New Sung', 'AR PL SungtiL GB', NSimSun, SimSun, 'TW\-Sung',
    +  'WenQuanYi Bitmap Song', 'AR PL UMing CN', 'AR PL UMing HK', 'AR PL UMing TW', 'AR PL UMing TW MBE', PMingLiU, MingLiU, serif;
    +
    +

    仿宋

    +
    font-family: Baskerville, 'Times New Roman', 'Liberation Serif', STFangsong, FangSong, FangSong_GB2312, 'CWTEX\-F', serif;
    +
    +
      +
    • 某些 Linux 中 Times New Roman 会自动 fallback 到 Liberation Serif (具体见 /etc/fonts/conf.d/30-metric-aliases.conf, debian jessie/sid )
    • +
    • CWTEX 仿宋体是繁体字型
    • +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/knowledge/git/index.html b/basic/knowledge/git/index.html new file mode 100644 index 00000000..4c902203 --- /dev/null +++ b/basic/knowledge/git/index.html @@ -0,0 +1,307 @@ + + + + Git - 团队领袖计划 + + +

    + Git +

    初始化版本库

    +

    Git 通常有两种方式来进行初始化:

    +

    git clone:

    +

    这是较为简单的一种初始化方式,当你已经有一个远程的 Git 版本库,只需要在本地克隆一份

    +

    例如:

    +
    $ git clone git://github.com/someone/some_project.git  some_project
    +
    +

    上面的命令就是将'git://github.com/someone/some_project.git'这个 URL 地址的远程版本库完全克隆到本地 some_project 目录下面, +如果想要设置自己的 git 配置,就 git init 初始化.git 文件.创建自己的版本库,也可以 git branch new_branch 创建自己的分支.

    +
    $ git remote add origin git://github.com/someone/some_project.git
    +
    +

    设置远程服务器别名为 origin,这样将代码提交的时候就可以执行以下命令:

    +
    $ git push origin #将代码提交到origin的master上面(默认)
    +
    +

    git init 和 git remote:

    +

    这种初始化方式稍微复杂一些

    +

    例如:

    +
    $ mkdir [yourworkname] #本地创建一个工作目录
    +$ cd [yourworkname] #进入这个目录
    +$ git init #初始化版本库,即生成.git,就会对该目录下的文件进行版本控制
    +
    +

    Git 以后,你会看到目录下面自动生成.git 文件,用于版本管理使用(非常重要的文件,不要轻易改动),这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建一个目录,并把可访问的 URL 记录下来,此时你就可以利用'git remote add'命令来增加一个远程服务器端,

    +

    例如:

    +
    $ git remote add origin git://github.com/someone/another_project.git
    +
    +

    上面的命令就会增加 URL 地址为'git: //github.com/someone/another_project.git',名称为 origin 的远程服务器,以后提交代码的时候只需要使用 origin 别名即可

    + +

    Git 的基本命令

    +

    现在我们有了本地和远程的版本库,让我们来试着用用 Git 的基本命令:

    +

    git pull:

    +

    从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将 origin 这个版本库的代码更新到本地的 master 主枝,该功能类似于 SVN 的 update

    +

    git add:

    +

    是 将当前更改或者新增的文件加入到 Git 的索引中,加入到 Git 的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加 app/model/user.rb 文件到 Git 的索引中,也可以使用 git add .来加入当前工作空间所有修改过或者新增的文件.

    +

    git rm:

    +

    从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb',该功能类似于 SVN 的 rm、del

    +

    git commit:

    +

    提交当前工作空间的修改内容,类似于 SVN 的 commit 命令,例如'git commit -m story #3, add user model',提交的时候必须用-m 来输入一条提交信息,该功能类似于 SVN 的 commit

    +

    git push:

    +

    将本地 commit 的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为 orgin 的远程版本库中

    +

    git log:

    +

    查看历史日志,该功能类似于 SVN 的 log

    +

    git revert:

    +

    还原一个版本的修改,必须提供一个具体的 Git 版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git 的版本号都是生成的一个哈希值

    +

    git branch:

    +

    对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做 new_branch 的新分支,'git branch -D new_branch'就会强制删除叫做 new_branch 的分支,'git branch'就会列出本地所有的分支

    +

    git checkout:

    +

    Git 的 checkout 有两个作用,其一是在不同的 branch 之间进行切换,例如'git checkout new_branch'就会切换到 new_branch 的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将 user.rb 文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚

    +

    git rebase:

    +

    用下面两幅图解释会比较清楚一些,rebase 命令执行后,实际上是将分支点从 C 移到了 G,这样分支也就具有了从 C 到 G 的功能

    +

    img

    +

    git reset:

    +

    将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有 A-G 五次提交的版本,其中 C 的版本号是 bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我们执行了'git reset bbaf6fb5060b4875b18ff9ff637ce118256d6f20'那么结果就只剩下了 A-C 三个提交的版本

    +

    img

    +
      +
    1. +

      Git 允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id。

      +
    2. +
    3. +

      穿梭前,用 git log 可以查看提交历史,以便确定要回退到哪个版本。

      +
    4. +
    5. +

      要重返未来,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本。

      +
    6. +
    +

    git stash:

    +

    将当前未提交的工作存入 Git 工作栈中,时机成熟的时候再应用回来,这里暂时提一下这个命令的用法,后面在技巧篇会重点讲解

    +

    git config:

    +

    利用这个命令可以新增、更改 Git 的各种设置,例如'git config branch.master.remote origin'就将 master 的远程版本库设置为别名叫做 origin 版本库,后面在技巧篇会利用这个命令个性化设置你的 Git,为你打造独一无二的 Git

    +

    设置默认分支:

    +
    git config --global init.defaultBranch main
    +
    +

    git tag:

    +

    可以将某个具体的版本打上一个标签,这样你就不需要记忆复杂的版本号哈希值了,例如你可以使用'git tag revert_version bbaf6fb5060b4875b18ff9ff637ce118256d6f20'来标记这个被你还原的版本,那么以后你想查看该版本时,就可以使用 revert_version 标签名,而不是哈希值了

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/knowledge/github-pages-spa-router/index.html b/basic/knowledge/github-pages-spa-router/index.html new file mode 100644 index 00000000..d4552c61 --- /dev/null +++ b/basic/knowledge/github-pages-spa-router/index.html @@ -0,0 +1,270 @@ + + + + Github Pages 中部署 SPA(路由单页应用) - 团队领袖计划 + + +

    + Github Pages 中部署 SPA(路由单页应用) +

    Github Pages 特性的几点说明:

    +
      +
    • 不支持 Rewrite,所以原则上来说,静态单页应用路由是无法实现的,因为刷新页面后就会报 404 错误
    • +
    • 支持自定义 404,那么我们就可以通过 404.html 来做点文章
    • +
    +

    参考该评论:Github #408

    +
    +

    无论是 Vue、Angular、React,打包生成的静态单页应用,理论上来讲都是可以利用 404 的特性 部署到 Github Pages 上的。

    +

    这里我做了一个示例: https://js-cool.github.io/github-spa-demo/

    +

    可以直接访问查看效果,即便刷新页面也是能够响应的。支持嵌套路由、泛(Wildcard)路由及未找到(NoMatch)渲染。

    +

    有几个需要注意的细节讲一下:

    +

    1. 路由的设定

    +

    如果用的是自定义域名,则没有太大关系。但如果是一个非 xxx.github.io 的项目, 而是类似这样的入口路径 xxx.github.io/xxx 就需要特别注意一下路由的命名,需要带上特定项目名称作为前缀。

    +

    2. 静态资源的路径

    +

    我在做尝试时候发现一个奇怪的现象

    +
    /home
    +/about
    +/topics
    +
    +

    这样一级的路由是可以访问的,但如果是

    +
    /topics/routing
    +/topics/xxx
    +
    +

    这样路由页面,在刷新之后会变成大白板,一开始我以为是需要在对应目录下分别都创建一个 404.html 后来发现并不是这样,而是我静态资源加载错误,后来发现是因为 404 页面中引用的静态资源(.js 文件)是类似这样的加载方式:

    +
    <script src="./app.js">
    +
    +

    从当前目录下寻找,所以 js 资源也 404 了,就自然加载不出来。把引用路径改为绝对路径后就 OK 了。

    + +
    +

    贴上源码,位于:https://github.com/js-cool/github-spa-demo

    +

    顺带着说明一波,该示例是用 HyperApp 实现,Parcel 打包。包含程序框架、路由、页面(JSX Templates)所有打包后,仅有 10kb 大小。

    +
      +
    • Hyperapp 是一个仅有 1kb 的双向数据绑定框架,有 State 管理和统一的 Actions 入口,支持路由插件(2kb)。
    • +
    • Parcel 是一个 Webpack 的替代方案,免去了配置的烦恼,打包效率很高。
    • +
    +

    后面我会再抽时间分享一些这样的东西,适合进阶玩家写出更极致简洁和高效兼顾的代码。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/knowledge/http/index.html b/basic/knowledge/http/index.html new file mode 100644 index 00000000..b3f231d7 --- /dev/null +++ b/basic/knowledge/http/index.html @@ -0,0 +1,253 @@ + + + + HTTP - 团队领袖计划 + + +

    + HTTP +

    Image

    +

    Web 服务中,默认 HTTP 的端口号为 80,HTTPS 的端口号为 443。

    +

    假设服务端应用内部侦听的端口为:8888,可以通过 Apache、Nginx、HaProxy 等反向代理工具将外部端口开放到80443端口,禁止 使用其他端口。

    +

    另外,不要将应用服务的端口直接暴露到外网。

    +

    常见 Header

    +

    Host

    +

    必须参数,如:api.xxx.com

    +

    Referer

    +

    访问来源,如: https://api.xxx.com/

    +

    User-Agent

    +

    客户端标识,如:app/1.0.0 android/6.0.1

    +

    时间相关

    +

    Cache

    +

    如: Cache-control: max-age=5

    +

    表示缓存5s,单位为秒。

    +

    Keep-alive

    +

    如: Keep-Alive: timeout=5, max=100

    +

    表示会话保持5s,最多尝试100次,时间单位为秒。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/knowledge/promise/index.html b/basic/knowledge/promise/index.html new file mode 100644 index 00000000..c17216e0 --- /dev/null +++ b/basic/knowledge/promise/index.html @@ -0,0 +1,399 @@ + + + + Promise 思想 - 团队领袖计划 + + +

    + Promise 思想 +

    改善 Callback Hell 问题

    +

    什么样的函数需要改写成 Promise

    +

    例 1:

    +
    mysql.query('SELECT 1 + 1 AS solution', function (err, rows, fields) {
    +  if (err) {
    +    throw err;
    +  }
    +  //对查询结果进行操作
    +  console.log('The solution is: ', rows[0].solution);
    +});
    +
    +

    例 2:

    +
    fs.readFile('myfile.txt', function (err, file) {
    +  if (err) {
    +    throw err;
    +  }
    +  //对file进行操作
    +});
    +
    +

    Callback Hell

    +

    例子:

    +
    mysql.query(sql1, function (err1, rows1) {
    +  if (err1) {
    +    throw err1;
    +  }
    +  mysql.query(sql2, function (err2, rows2) {
    +    if (err2) {
    +      throw err2;
    +    }
    +    //对rows1和rows2进行操作
    +  });
    +});
    +
    +

    这样写法的问题:

    +
      +
    1. 嵌套太多,可读性差
    2. +
    3. 变量名受污染
    4. +
    5. 各个函数之间的干扰,一但错误发生,不能继续向下执行
    6. +
    +

    等等

    + +

    示例代码

    +
    'use strict';
    +/**
    + * 生成一个defer对象
    + * @return {object} Promise对象
    + */
    +let getDefer = function () {
    +  let deferred = {};
    +  deferred.promise = new Promise(function (resolve, reject) {
    +    deferred.resolve = resolve;
    +    deferred.reject = reject;
    +  });
    +  return deferred;
    +};
    +
    +/*
    + * 通过getDefer封装Promise
    + */
    +let promiseFunc = function (input) {
    +  let deferred = getDefer();
    +  if (parseInt(input, 10) < 10) {
    +    deferred.resolve(input * input);
    +  } else {
    +    deferred.reject('Input Number Too Large');
    +  }
    +  return deferred.promise;
    +};
    +
    +promiseFunc(5)
    +  .then(function (result) {
    +    console.log(result); //25
    +  })
    +  .catch(function (err) {
    +    console.log(err); //不报错
    +  });
    +
    +promiseFunc(15)
    +  .then(function (result) {
    +    console.log(result);
    +  })
    +  .catch(function (err) {
    +    console.log(err); //报错
    +  });
    +
    +/*
    + * 链式写法
    + */
    +setTimeout(function () {
    +  console.log('=============');
    +  promiseFunc(2)
    +    .then(function (val) {
    +      console.log('Step 1:', val); //val===4
    +      return promiseFunc(val);
    +    })
    +    .then(function (val) {
    +      console.log('Step 2:', val); //val===16
    +      return promiseFunc(val);
    +    })
    +    .then(function (val) {
    +      console.log('step 3:', val); //err 不执行这句,跳到catch,往后的then均不执行
    +      return promiseFunc(val);
    +    })
    +    .then(function (val) {
    +      console.log('Step 4:', val);
    +      return promiseFunc(val);
    +    })
    +    .catch(function (err) {
    +      console.log(err);
    +    });
    +}, 20);
    +
    +/*
    + * Promise.all
    + * 全部执行完,再返回
    + * (常用)
    + */
    +setTimeout(function () {
    +  Promise.all([promiseFunc(1), promiseFunc(2), promiseFunc(3)]).then(function (val) {
    +    console.log('=============');
    +    console.log(val); //[1,4,9]
    +  });
    +}, 100);
    +
    +/*
    + * Promise.race
    + * 谁先执行完,返回谁
    + * (不常用)
    + */
    +setTimeout(function () {
    +  Promise.race([promiseFunc(1), promiseFunc(2), promiseFunc(3)]).then(function (val) {
    +    console.log('=============');
    +    console.log(val); //1
    +  });
    +}, 100);
    +
    +

    执行结果:

    +
    25
    +Input Number Too Large
    +=============
    +Step 1: 4
    +Step 2: 16
    +Input Number Too Large
    +=============
    +[ 1, 4, 9 ]
    +=============
    +1
    +
    +

    What's Next?

    +

    ES7 Async/Await:

    +
    (async () => {
    +  const result = await promiseFN();
    +  console.log(result);
    +})();
    +
    +

    多个异步方法优化:

    +
    (async () => {
    +  const tasks = [];
    +  tasks.push(promiseFN1());
    +  tasks.push(promiseFN2());
    +  tasks.push(promiseFN3());
    +  const result = await Promise.all(tasks);
    +  console.log(result[0], result[1], result[2]);
    +})();
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/knowledge/shell/index.html b/basic/knowledge/shell/index.html new file mode 100644 index 00000000..a63277e8 --- /dev/null +++ b/basic/knowledge/shell/index.html @@ -0,0 +1,344 @@ + + + + 常用SHELL命令 - 团队领袖计划 + + +

    + 常用SHELL命令 +

    查看磁盘可用空间

    +
    df -h
    +
    +
    +

    -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)

    +
    +
    Filesystem      Size  Used Avail Use% Mounted on
    +/dev/sda4       321G  1.4G  304G   1% /
    +none            4.0K     0  4.0K   0% /sys/fs/cgroup
    +udev             16G  4.0K   16G   1% /dev
    +tmpfs           3.2G  968K  3.2G   1% /run
    +none            5.0M     0  5.0M   0% /run/lock
    +none             16G     0   16G   0% /run/shm
    +none            100M     0  100M   0% /run/user
    +/dev/sda2       185M   75M  102M  43% /boot
    +/dev/sda5        28G  916M   26G   4% /var
    +/dev/sda6       184G  1.7G  173G   1% /usr
    +/dev/sda7       234G  1.4G  221G   1% /home
    +/dev/sda1        94M  2.6M   91M   3% /boot/efi
    +
    +

    查看内存使用

    +
    free -m
    +
    +
    +

    -b,-k,-m,-g show output in bytes, KB, MB, or GB

    +
    +
                 total       used       free     shared    buffers     cached
    +Mem:         32105       1503      30602          0        223        631
    +-/+ buffers/cache:        648      31457
    +Swap:        61034          0      61034
    +
    + +

    性能分析

    +
    top
    +
    +
    top - 11:13:36 up 12 days, 14:00,  3 users,  load average: 0.02, 0.03, 0.05
    +Tasks: 211 total,   1 running, 210 sleeping,   0 stopped,   0 zombie
    +Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    +Mem:  32876316k total,  1535196k used, 31341120k free,   229204k buffers
    +Swap: 62499836k total,        0k used, 62499836k free,   646796k cached
    +
    +  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    +
    +

    常用操作:

    +
    top   #//每隔5秒显式所有进程的资源占用情况
    +top -d 2  #//每隔2秒显式所有进程的资源占用情况
    +top -c  #//每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
    +top -p 12345 -p 6789  #//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
    +top -d 2 -c -p 123456 #//每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数
    +
    +

    搜索文件

    +
    find . -name *.log  #//在当前目录下查找.log日志
    +
    +

    SSH 远程执行命令

    +

    命令格式

    +
    ssh -p $port $user@$p 'cmd'
    +
    +
    +

    $port : ssh 连接端口号

    +
    +
    +

    $user: ssh 连接用户名

    +
    +
    +

    $ip:ssh 连接的 ip 地址

    +
    +
    +

    cmd:远程服务器需要执行的操作

    +
    +

    ssh 的-t 参数

    +
    +

    -t Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.

    +
    +

    中文翻译一下:

    +
    +

    就是可以提供一个远程服务器的虚拟 tty 终端,加上这个参数我们就可以在远程服务器的虚拟终端上输入自己的提权密码了,非常安全

    +
    +

    脚本批量执行远程命令

    +
    #!/bin/bash
    +
    +#变量定义
    +ip_array=("192.168.1.101" "192.168.1.102" "192.168.1.103" "192.168.1.104")
    +
    +#远程命令,如删除日志,停止服务,重新启动服务
    +remote_cmd="cd web/ && find . -name '*.log' -delete && pm2 kill && pm2 start app.json"
    +
    +#本地通过ssh执行远程服务器的脚本
    +for ip in ${ip_array[*]}
    +do
    +    #特定IP对应特定端口的判断
    +    if [ $ip = "192.168.1.101" ]; then
    +        port="2222"
    +    else
    +        port="22"
    +    fi
    +    #特定IP对应特定用户名的判断
    +    if [ $ip = "192.168.1.102" ]; then
    +        user="willin"
    +    else
    +        user="root"
    +    fi
    +    #执行
    +    ssh -t -p $port $user@$ip "$remote_cmd"
    +done
    +
    +

    这个方法还是很方便的,-t 虚拟出一个远程服务器的终端,在多台服务器同时部署时确实节约了不少时间啊!

    +

    递归删除日志

    +

    删除当前目录及子目录的.log日志

    +
    find . -name '*.log' -delete
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/knowledge/travis-ci/index.html b/basic/knowledge/travis-ci/index.html new file mode 100644 index 00000000..d3f563b5 --- /dev/null +++ b/basic/knowledge/travis-ci/index.html @@ -0,0 +1,272 @@ + + + + Travis-CI 每日构建 - 团队领袖计划 + + +

    + Travis-CI 每日构建 +

    Travis-CI 每日构建

    +

    .travis.yml 配置文件参考:

    +
    language: node_js
    +node_js: node
    +cache:
    +  directories:
    +    - node_modules
    +install:
    +  - yarn
    +before_script:
    +  - git config user.name "Travis-CI"
    +  - git config user.email "willin@willin.org"
    +  - git remote rm origin
    +  - git remote add origin https://${GH_TOKEN}@${GH_REF}
    +  - git checkout master
    +script: yarn start
    +after_success:
    +  - git add -A .
    +  - git commit -a -m "Travis-CI Deployed to Github"
    +  - git push origin master
    +
    +

    环境配置

    +

    其中 GH_TOKEN (Personal Access Token) 和 GH_REF 环境变量可以通过两种方式添加:

    +
      +
    1. (推荐)访问 https://travis-ci.org/USER/REPOS/settings 添加 环境变量(Environment Variables)(Ref: https://docs.travis-ci.com/user/environment-variables/
    2. +
    3. 命令行 travis encrypt 'GH_TOKEN=xxxxxxxx' 的方式加密并添加到配置文件中(Ref: https://docs.travis-ci.com/user/encryption-keys/
    4. +
    +

    另外, git 用户的邮箱决定了你的贡献度是否显示在 github 上,也可以随便写一个,如 deploy@travis-ci.org

    + +

    创建计划任务

    +
      +
    • Branch: 一般 Master
    • +
    • Interval: Daily
    • +
    • Options: Always Run
    • +
    +

    Ref: https://docs.travis-ci.com/user/cron-jobs/

    +

    这样就会每隔 24h 执行一次,可以用来做一些数据的统计、网站的更新等,玩法看你有什么样的想法。

    +

    这里有一个我做的每天抓取 Github Trending 每日趋势记录的 Repo: https://github.com/willin/github-trending 可以参考一下。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/md/docsify/index.html b/basic/md/docsify/index.html new file mode 100644 index 00000000..9885e933 --- /dev/null +++ b/basic/md/docsify/index.html @@ -0,0 +1,453 @@ + + + + Docsify画图建模Mermaid插件支持 - 团队领袖计划 + + +

    + Docsify画图建模Mermaid插件支持 +

    先上图

    +

    mermaid1

    +

    引入 Mermaid

    +

    head 中加入 css:

    +
    <link rel="stylesheet" href="//unpkg.com/mermaid/dist/mermaid.min.css" />
    +
    +

    在 底部 引用 js:

    +
    <script type="text/javascript" src="//unpkg.com/mermaid/dist/mermaid.min.js"></script>
    +
    +

    配置文件修改

    +
    window.$docsify = {
    +  // ...
    +  plugins: [
    +    function (hook, vm) {
    +      hook.ready(function () {
    +        mermaid.initialize({ startOnLoad: false });
    +      });
    +      hook.doneEach(function () {
    +        mermaid.init(undefined, '.mermaid');
    +      });
    +    }
    +  ],
    +  markdown: {
    +    renderer: {
    +      code: function (code, lang) {
    +        var html = '';
    +        if (code.match(/^sequenceDiagram/) || code.match(/^graph/) || code.match(/^gantt/)) {
    +          html = '<div class="mermaid">' + code + '</div>';
    +        }
    +        var hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup);
    +        return html + '<pre v-pre data-lang="' + lang + '"><code class="lang-' + lang + '">' + hl + '</code></pre>';
    +      }
    +    }
    +  }
    +};
    +
    +

    解释一下,两个关键步骤:

    +

    markdown 代码解析器

    +
    markdown: {
    +  renderer: {
    +    code: function(code, lang) {
    +    var html = '';
    +    // 搜索 mermaid 代码
    +    if(code.match(/^sequenceDiagram/) || code.match(/^graph/) || code.match(/^gantt/)){
    +      // 生成一个 mermaid 图表的容器
    +      html = '<div class="mermaid">' + code + '</div>';
    +    }
    +    // 源码自带的 Prism 高亮插件
    +    var hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup)
    +    // 将图表的容器添加到代码之前
    +    return html + '<pre v-pre data-lang="' + lang + '"><code class="lang-' + lang + '">' + hl + '</code></pre>'
    +    }
    +  }
    +}
    +
    + +

    自定义插件

    +
    plugins: [
    +  function (hook, vm) {
    +    hook.ready(function () {
    +      // 类似 jQuery.ready 初始化 mermaid, 禁用自动渲染
    +      mermaid.initialize({ startOnLoad: false });
    +    });
    +    hook.doneEach(function () {
    +      // 每个页面渲染完成后手动渲染 mermaid 图表
    +      mermaid.init(undefined, '.mermaid');
    +    });
    +  }
    +];
    +
    +

    最后再补一张甘特图:

    +

    mermaid2

    +

    Mermaid 支持:

    +
      +
    • 流程图
    • +
    • 序列图
    • +
    • 甘特图
    • +
    +

    而且语法结构非常简单,值得推荐.

    +

    其实,正文才刚刚开始.

    +

    流程图

    +

    开始/结束

    +
    graph TB
    +  s(开始/结束)
    +  style s rx: 10, ry: 10
    +
    +

    过程

    +
    graph TB
    +  step1[过程]
    +
    +

    输入/输出

    +
    graph TB
    +  step2>输入/输出]
    +
    +

    判断

    +
    graph TB
    +  step3{判断}
    +
    +

    连接线

    +
    graph LR
    +  A --> B
    +
    +

    自定义样式

    +
    graph LR
    +  id1(Start)-->id2(Stop)
    +  style id1 fill:#f9f,stroke:#333,stroke-width:4px
    +  style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5
    +
    +

    示例

    +
    graph TB
    +  s(开始) --> step1>输入参数]
    +  step1 --> step2{判断参数合法性}
    +  step2 ==> |校验失败|e
    +  step2--> |校验成功|step3[处理业务]
    +  step3 --> e(结束)
    +  style s rx: 10, ry: 10
    +  style e rx: 10, ry: 10
    +
    +

    子图

    +
    graph TB
    +  s(开始) --> step1>输入参数]
    +  subgraph 强调
    +    step1 --> step2{判断参数合法性}
    +  end
    +  step2 ==> |校验失败|e
    +  step2--> |校验成功|step3[处理业务]
    +  step3 --> e(结束)
    +  style s rx: 10, ry: 10
    +  style e rx: 10, ry: 10
    +
    +

    时序图

    +

    参与者

    +
    sequenceDiagram
    +  participant 客户端
    +  participant 接口服务器
    +  participant 数据库
    +
    +

    消息

    +
    消息格式
    +
    [参与者][箭头][参与者]:消息内容
    +
    +

    支持的箭头有:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    类型说明
    ->无箭头实线
    -->无箭头虚线
    ->>箭头实线
    -->>箭头虚线
    -x箭头实线带 x(异步)
    --x箭头虚线带 x(异步)
    +
    sequenceDiagram
    +  Alice->>John: Hello John, how are you?
    +  John-->>Alice: Great!
    +
    +

    激活

    +

    +/- 符号

    +
    sequenceDiagram
    +  Alice->>+John: Hello John, how are you?
    +  Alice->>+John: John, can yoy hear me?
    +  John-->>-Alice: Hi Alice, I can hear you!
    +  John-->>-Alice: I feel great!
    +
    +

    甘特图

    +
    gantt
    +dateFormat  YYYY-MM-DD
    +title Adding GANTT diagram functionality to mermaid
    +
    +section A section
    +Completed task            :done,    des1, 2014-01-06,2014-01-08
    +Active task               :active,  des2, 2014-01-09, 3d
    +Future task               :         des3, after des2, 5d
    +Future task2              :         des4, after des3, 5d
    +
    +section Critical tasks
    +Completed task in the critical line :crit, done, 2014-01-06,24h
    +Implement parser and jison          :crit, done, after des1, 2d
    +Create tests for parser             :crit, active, 3d
    +Future task in critical line        :crit, 5d
    +Create tests for renderer           :2d
    +Add to mermaid                      :1d
    +
    +section Documentation
    +Describe gantt syntax               :active, a1, after des1, 3d
    +Add gantt diagram to demo page      :after a1  , 20h
    +Add another diagram to demo page    :doc1, after a1  , 48h
    +
    +section Last section
    +Describe gantt syntax               :after doc1, 3d
    +Add gantt diagram to demo page      :20h
    +Add another diagram to demo page    :48h
    +
    +

    在线编辑器

    +

    https://knsv.github.io/mermaid/live_editor/

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/md/gitbook-to-docsify/index.html b/basic/md/gitbook-to-docsify/index.html new file mode 100644 index 00000000..ccb88598 --- /dev/null +++ b/basic/md/gitbook-to-docsify/index.html @@ -0,0 +1,319 @@ + + + + Gitbook 迁移到 Docsify - 团队领袖计划 + + +

    + Gitbook 迁移到 Docsify +

    1. 删除 GitBook 相关文件/文件夹

    +

    比如 public 目录, node_modules目录, book.json 等.

    +

    2. 将 Summary.md 改名为 _sidebar.md

    +

    去除文件内的标题 # , 都改为列表

    +

    类似:

    +
    - [版权](COPYRIGHT.md)
    +- 知识篇
    +  - [操作系统(OS X)](basic/osx.md)
    +  - 必备神器
    +    - [Brew](basic/resource/brew.md)
    +    - [OhMyZsh](basic/resource/zsh.md)
    +    - [Dnsmasq](basic/resource/dnsmasq.md)
    +    - [IDE](basic/resource/ide.md)
    +    - [科学上网](basic/resource/ss.md)
    +    - [在线资源](basic/resource/online.md)
    +    - [离线资源](basic/resource/offline.md)
    +    - [前端资源](basic/resource/frontend.md)
    +
    +

    3. 安装 Docsify

    +
    yarn global add docsify-cli
    +# 或
    +npm i -g docsify-cli
    +
    +

    项目根目录创建 index.html, 如:

    +
    <!DOCTYPE html>
    +<html lang="zh-CN">
    +  <head>
    +    <meta charset="UTF-8" />
    +    <title>不可替代的团队领袖培养计划</title>
    +    <meta name="description" content="Description" />
    +    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
    +    <link rel="stylesheet" href="//unpkg.com/docsify/lib/themes/vue.css" />
    +  </head>
    +  <body>
    +    <div id="app"></div>
    +  </body>
    +  <script type="text/javascript">
    +    window.$docsify = {
    +      name: '《团队领袖培养计划》',
    +      repo: 'https://github.com/js-cool/leader.js.cool.git',
    +      loadSidebar: true,
    +      subMaxLevel: 2,
    +      formatUpdated: '{YYYY}-{MM}-{DD} {HH}:{mm}',
    +      executeScript: true,
    +      alias: {}
    +    };
    +  </script>
    +  <script type="text/javascript" src="//unpkg.com/docsify/lib/docsify.min.js"></script>
    +</html>
    +
    + +

    注意这里的 alias, 是设置别名用的. 我们需要为每个创建的目录重定向_sidebar.md, 因为 Docsify 默认是从当前目录下去找这个文件的.

    +

    写一个简单脚本遍历一下,在根目录创建 sidebar.js

    +
    const fs = require('fs');
    +const path = require('path');
    +
    +const root = path.join(__dirname);
    +const result = {};
    +
    +function readDirSync(p) {
    +  const dir = fs.readdirSync(p);
    +  dir.forEach((file) => {
    +    const info = fs.statSync(`${p}/${file}`);
    +    if (info.isDirectory() && file.indexOf('.') !== 0 && file.indexOf('_') !== 0) {
    +      result[`${p.replace(root, '')}/${file}/_sidebar.md`] = '/_sidebar.md';
    +      readDirSync(`${p}/${file}`);
    +    }
    +  });
    +}
    +
    +readDirSync(root);
    +console.log(result);
    +
    +

    将打印出来

    +
    {
    +  '/basic/_sidebar.md': '/_sidebar.md',
    +  '/basic/algorithm/_sidebar.md': '/_sidebar.md',
    +  '/basic/db/_sidebar.md': '/_sidebar.md',
    +  '/basic/framework/_sidebar.md': '/_sidebar.md',
    +  '/basic/js/_sidebar.md': '/_sidebar.md'
    +}
    +
    +

    这样的一个对象,赋值到 alias 里即可.

    +

    4.发布

    +

    如果发布到Github Pages或其他类似的地方,不在需要将Pages部署到gh-pages分支, 只需要修改为部署master分支即可.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/md/gitbook/index.html b/basic/md/gitbook/index.html new file mode 100644 index 00000000..d615f14b --- /dev/null +++ b/basic/md/gitbook/index.html @@ -0,0 +1,325 @@ + + + + GitBook静态文档生成 - 团队领袖计划 + + +

    + GitBook静态文档生成 +

    GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书

    +

    安装使用

    +
      +
    • +

      登陆 gitbook,使用 github 账号登陆,新建一个 book,然后选择 link to github.(不要选择 gitbook 在线编辑)

      +
    • +
    • +

      新建 github 仓库比如 some_book.git

      +
    • +
    • +

      本地安装 gitbook 和 gitbook-cli 命令行工具:

      +

      $ cnpm i -g gitbook-cli +$ gitbook versions:install

      +
    • +
    • +

      本地新建 my_book

      +

      $ gitbook init my_book #新建一本书 +$ cd my_book +$ git init

      +
    • +
    • +

      使用 GitBook 制作电子书,必备两个文件:README.md 和 SUMMARY.md

      +
    • +
    +

    README.md:

    +

    电子书介绍说明部分

    +

    SUMMARY.md:

    +

    电子书目录部分

    +

    接下来只需要编写相应章节即可。在编辑完 README.md 和 SUMMARY.md 后,可以运行以下命令:

    +
    $ git add .
    +$ git commit -m '...'
    +$ git remote add origin git@github.com:xxxx/some_book.git #创建远程服务器
    +$ git push -u origin master
    +
    +

    Gitbook 首先把你的 Markdown 文件编译为 HTML 文件,并根据 SUMMARY.md 生成书的目录。所有生存的文件都保存在当前目录下的一个名为_book 的子目录中。完成这些工作后,Gitbook 会作为一个 HTTP Server 运行,并在 4000 端口监听 HTTP 请求。

    +

    然后使用 markdown 语法编辑文章,开启本地服务器:

    +
    $ gitbook serve
    +
    +

    插件使用

    +

    添加插件后使用

    +
    gitbook install
    +
    +

    进行安装

    + +

    TOC 目录生成

    +

    book.json 配置:

    +
    {
    +  "plugins": ["atoc"],
    +  "pluginsConfig": {
    +    "atoc": {
    +      "addClass": true,
    +      "className": "atoc"
    +    }
    +  }
    +}
    +
    +

    在需要使用目录的章节文字顶部加入

    +
    <!-- toc -->
    +
    +

    即可生成文档目录。

    +

    捐赠插件

    +

    book.json 配置:

    +
    {
    +  "plugins": ["donate"],
    +  "pluginsConfig": {
    +    "donate": {
    +      "wechat": "例:/images/qr.png",
    +      "alipay": "http://blog.willin.wang/static/images/qr.png",
    +      "title": "默认空",
    +      "button": "默认值:Donate",
    +      "alipayText": "默认值:支付宝捐赠",
    +      "wechatText": "默认值:微信捐赠"
    +    }
    +  }
    +}
    +
    +

    文章字数统计

    +

    book.json 配置:

    +
    {
    +  "plugins": ["wordcount"]
    +}
    +
    +

    运行示例:

    +
    info: found 24 pages
    +info: found 99 asset files
    +Completed counting with 13313 words.
    +info: >> generation finished with success in 5.8s !
    +
    +Starting server ...
    +Serving book on http://localhost:4000
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/md/hexo/index.html b/basic/md/hexo/index.html new file mode 100644 index 00000000..b7923888 --- /dev/null +++ b/basic/md/hexo/index.html @@ -0,0 +1,564 @@ + + + + Hexo搭建静态博客 - 团队领袖计划 + + +

    + Hexo搭建静态博客 +

    1. 环境

    +

    1.1 安装 Git

    +

    1.2 安装 node.js

    +

    1. 安装 nvm

    +

    使用 curl 方式安装:

    +
    +

    $curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash

    +
    +
    +

    $echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \ --cache=$HOME/.npm/.cache/cnpm \ --disturl=https://npm.taobao.org/dist \ --userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc

    +
    +

    2. 使用 nvm 安装 node.js

    +
    +

    $nvm install node

    +
    +
    +

    $nvm alias default node

    +
    +

    2. 配置 Github

    +

    2.1 建立 Respository

    +

    建立与你用户名对应的仓库,仓库名必须为【your_user_name.github.io】

    +

    2.2 配置 SSH-Key

    +

    参考:Windows 下 Git 安装指南

    +

    ##3. 安装 Hexo

    +

    ###3.1 Installation +打开 Git 命令,执行如下命令

    +
    +

    $ cnpm install -g hexo

    +
    +

    ###3.2 Quick Start

    +

    1. Setup your blog

    +

    在电脑中建立一个名字叫「Hexo」的文件夹(比如我建在了 D:\Hexo),然后在此文件夹中右键打开 Git Bash。执行下面的命令

    +
    +

    $ hexo init

    +
    +
    +

    [info] Copying data

    +
    +
    +

    [info] You are almost done! Don't forget to run cnpm install before you start blogging with Hexo!

    +
    +

    Hexo 随后会自动在目标文件夹建立网站所需要的文件。然后按照提示,运行 cnpm install(在 /D/Hexo 下)

    +
    +

    cnpm install

    +
    +

    会在 D:\Hexo 目录中安装 node_modules。

    +

    2. Start the server

    +

    运行下面的命令(在 /D/Hexo 下)

    +
    +

    $ hexo server

    +
    +
    +

    [info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

    +
    +

    表明 Hexo Server 已经启动了,在浏览器中打开 http://localhost:4000/,这时可以看到 Hexo 已为你生成了一篇 blog。

    +

    你可以按 Ctrl+C 停止 Server。

    +

    3. Create a new post

    +

    新打开一个 git bash 命令行窗口,cd 到/D/Hexo 下,执行下面的命令

    +
    +

    $ hexo new "My New Post"

    +
    +
    +

    [info] File created at d:\Hexo\source_posts\My-New-Post.md

    +
    +

    刷新 http://localhost:4000/,可以发现已生成了一篇新文章 "My New Post"。

    + +

    NOTE:

    +

    有一个问题,发现 "My New Post" 被发了 2 遍,在 Hexo server 所在的 git bash 窗口也能看到 create 了 2 次。

    +
    +

    $ hexo server

    +
    +
    +

    [info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

    +
    +
    +

    [create] d:\Hexo\source_posts\My-New-Post.md

    +
    +
    +

    [create] d:\Hexo\source_posts\My-New-Post.md

    +
    +

    经验证,在 hexo new "My New Post" 时,如果按 Ctrl+C 将 hexo server 停掉,就不会出现发 2 次的问题了。

    +

    所以,在 hexo new 文章时,需要 stop server。

    +

    4. Generate static files

    +

    执行下面的命令,将 markdown 文件生成静态网页。

    +
    +

    $ hexo generate

    +
    +

    该命令执行完后,会在 D:\Hexo\public\ 目录下生成一系列 html,css 等文件。

    +

    5. 编辑文章

    +

    hexo new "My New Post"会在 D:\Hexo\source_posts 目录下生成一个 markdown 文件:My-New-Post.md

    +

    可以使用一个支持 markdown 语法的编辑器(比如 Sublime Text 2)来编辑该文件。

    +

    6. 部署到 Github

    +

    部署到 Github 前需要配置_config.yml 文件,首先找到下面的内容

    +
    # Deployment
    +## Docs: http://hexo.io/docs/deployment.html
    +deploy:
    + type:
    +
    +

    然后将它们修改为

    +
    # Deployment
    +## Docs: http://hexo.io/docs/deployment.html
    +deploy:
    + type: git
    + repository: git@github.com:zhchnchn/zhchnchn.github.io.git
    + branch: master
    +
    +

    NOTE1:

    +

    Repository:必须是 SSH 形式的 url(git@github.com:zhchnchn/zhchnchn.github.io.git),而不能是 HTTPS 形式的 url(https://github.com/zhchnchn/zhchnchn.github.io.git),否则会出现错误:

    +
    +

    $ hexo deploy

    +
    +
    +

    [info] Start deploying: github

    +
    +
    +

    [error] https://github.com/zhchnchn/zhchnchn.github.io is not a valid repositor URL!

    +
    +

    使用 SSH url,如果电脑没有开放 SSH 端口,会致部署失败。

    +
    +

    fatal: Could not read from remote repository.

    +
    +
    +

    Please make sure you have the correct access rights +and the repository exists.

    +
    +

    NOTE2:

    +

    如果你是为一个项目制作网站,那么需要把 branch 设置为 gh-pages。

    +

    7. 测试

    +

    当部署完成后,在浏览器中打开[http://our_user_name.github.io/](https://our_user_name.github.io/) ,正常显示网页,表明部署成功。

    +

    8. 总结:部署步骤

    +

    每次部署的步骤,可按以下三步来进行。

    +
    +

    hexo clean

    +
    +
    +

    hexo generate

    +
    +
    +

    hexo deploy

    +
    +

    9. 总结:本地调试

    +
      +
    1. 在执行下面的命令后,
    2. +
    +
    +

    $ hexo g #生成

    +
    +
    +

    $ hexo s #启动本地服务,进行文章预览调试

    +
    +

    浏览器输入 http://localhost:4000,查看搭建效果。此后的每次变更\_config.yml 文件或者新建文件都可以先用此命令调试,尤其是当你想调试新添加的主题时。

    +
      +
    1. 可以用简化的一条命令
    2. +
    +
    +

    hexo s -g

    +
    +

    ###3.3 总结 +####3.3.1 常用命令

    +
    +

    hexo new "postName" #新建文章

    +
    +
    +

    hexo new page "pageName" #新建页面

    +
    +
    +

    hexo generate #生成静态页面至 public 目录

    +
    +
    +

    hexo server #开启预览访问端口(默认端口 4000,'ctrl + c'关闭 server)

    +
    +
    +

    hexo deploy #将.deploy 目录部署到 GitHub

    +
    +
    +

    hexo help # 查看帮助

    +
    +
    +

    hexo version #查看 Hexo 的版本

    +
    +

    ####3.3.2 复合命令

    +
    +

    hexo deploy -g #生成加部署

    +
    +
    +

    hexo server -g #生成加预览

    +
    +

    命令的简写为:

    +
    +

    hexo n == hexo new

    +
    +
    +

    hexo g == hexo generate

    +
    +
    +

    hexo s == hexo server

    +
    +
    +

    hexo d == hexo deploy

    +
    +

    ##4. 配置 Hexo

    +

    配置参考: http://ibruce.info/2013/11/22/hexo-your-blog/

    +

    配合 Travis CI,将 Hexo 博客自动部署到 github 上

    +

    1. 新建代码仓库

    +

    新建一个代码仓库,有一个注意点,若仓库取名为【your_user_name.github.io】,则需要新建一个分支用来放.md 文件,因为 html 文件会自动部署到 master 上。若仓库名只是普通的名称,则可以将.md 文件放到 master 分支上,但这时需要新建一个分支 gh-pages 用来放 html 文件。

    +

    这里,我们就使用了【your_user_name.github.io】这样的仓库名,取名为 Hexo.github.io,新建一个分支,取名为 raw。

    +

    Clone 到本地

    +
    git clone -b raw <仓库克隆URL> #只Clone出新建的raw分支 保留master分支用于部署
    +
    +

    2. 安装 Node.js 和 Hexo

    +

    请参考2.1 Hexo 搭建

    +

    3. 使用 Travis CI

    +

    首先我们先打开Travis CI,可以在右上角找到使用 GitHub 登陆的按钮。 +travis ci

    +

    授权完成后,你可以在左上角找到 My Repositories 一旁的加号“+”,点击它,它就会列出你所有的仓库,你只需要找到刚才的 hexo.github.io 并把它左侧的开关打开就可以了。

    +

    img +img

    +

    4. 生成 GitHub Personal Access Token

    +

    登录 GitHub,在右上角头像处进入设置。

    +

    img

    +

    在左侧找到 Personal access tokens,并点击右上角的 Generate new token。

    +

    img

    +

    需要为新的 Token 输入一个名字,这里我们就填入 Travis CI 好了。

    +

    img

    +

    确定生成后,Token 将显示在页面上,此时需要将其复制并保存好,并避免泄露。遗忘 Token 后不能找回,只能重新生成。

    +

    img

    +

    最后,我们还需要生成随机字符串,并在其中选择一行随机字符串,为下文备用。

    +

    5. 配置 Travis CI

    +

    首先在 Travis CI 中找到已经启用自动构建的仓库,并在右侧找到设置按钮。

    +

    img

    +

    注意:该图片中的仓库名称为 SumiMakito.github.io,但我们这里的名称应该为 Hexo.github.io。

    +

    有两处需要设置,首先需要启用 Build only if .travis.yml is present 选项,以避免 master 分支被构建和陷入构建循环的问题。

    +

    另外,在下方的环境变量设置处,我们需要设置两组变量,并注意保持 Display value in build log 禁用,以免构建日志泄露 Token 等信息。

    +
    #需要设置的两组变量
    +GitHubKEY = 上文生成的GitHub Personal Access Token
    +NOTIFY_TOKEN = 上文生成的随机字符串
    +
    +

    img

    +

    在每次 Push 后,Travis CI 将检查分支下的 .travis.yml 文件,并以此作为配置进行构建。

    +

    在分支下新建.travis.yml 和 build.sh。下面是我所使用的 .travis.yml :

    +
    language: node_js
    +node_js:
    +  - '0.12'
    +install:
    +  - npm install hexo-cli -g
    +  - npm install hexo --save
    +  - npm install
    +script:
    +  - chmod +x ./build.sh
    +  - ./build.sh > /dev/null
    +branches:
    +  only:
    +    - raw
    +
    +

    在这里,配置文件限制了自动构建工作只会在 raw 分支下进行。

    +

    下面是我所使用的 build.sh:

    +
    hexo generate #生成静态整站
    +cd ./public #生成的静态页面会存储在public目录下
    +git init
    +git config --global push.default matching
    +git config --global user.email "username@example.com" #填入GitHub的邮箱地址
    +git config --global user.name "username" #填入GitHub的用户名
    +git add --all .
    +git commit -m "Travis CI Auto Builder" #自动构建后的内容将全部以此信息提交
    +git push --quiet --force https://${GitHubKEY}@github.com/你的GitHub用户名/你的代码仓库名.git master  #自动构建后的内容将全部以此信息提交
    +curl --connect-timeout 20 --max-time 30 -s http://远端服务器URL/webhook.php?_=${NOTIFY_TOKEN} #服务器Webhook 将在下文介绍
    +
    +

    6. 测试

    +

    还记得之前的 Hexo 文件夹吗?

    +
    cd ./HexoBlog
    +hexo new hello-ci #本地没有Hexo的话可以直接跳过这一步
    +vim ./source/_posts/hello-ci.md
    +git add --all .
    +git commit -m "Hello, CI!"
    +git push #将代码push到raw分支上
    +
    +

    登陆相应网址进行效果查看。

    +

    7. 附加 自动部署脚本

    +

    在项目文件夹下新建一个cmd文件(文件名随意),并为其增加执行权限。

    +
    touch cmd
    +chmod +x cmd
    +
    +

    cmd文件源码:

    +
    #!/bin/bash
    +pushd $(dirname "${0}") > /dev/null
    +DIR=$(pwd -L)
    +popd > /dev/null
    +DATE=$(date +"%Y-%m-%d %H:%M")
    +
    +# get action
    +ACTION=$1
    +
    +# help
    +usage() {
    +  echo "Usage: ./cmd {commit|build|clean}"
    +  exit 1;
    +}
    +
    +# start app
    +commit() {
    +    git add .
    +    git commit -m 'Post Auto Commit'
    +    git push
    +}
    +
    +build() {
    +    hexo d -g
    +}
    +
    +# stop app
    +clean() {
    +    rm -rf .deploy_git
    +    rm -rf public
    +}
    +
    +case "$ACTION" in
    +  commit)
    +    commit
    +  ;;
    +  build)
    +    build
    +  ;;
    +  clean)
    +    clean
    +  ;;
    +  *)
    +    usage
    +  ;;
    +esac
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/node/babel/index.html b/basic/node/babel/index.html new file mode 100644 index 00000000..a232eeaa --- /dev/null +++ b/basic/node/babel/index.html @@ -0,0 +1,262 @@ + + + + Babel - 团队领袖计划 + + +

    + Babel +

    http://babeljs.io/

    +

    babel-nodebabel-register功能基本相近。

    +

    配置文件参考: https://github.com/w2fs/best-practice

    +

    Babel-Register

    +

    项目内安装

    +
    npm install babel-register --save
    +
    +

    使用:

    +

    创建babel.js

    +
    require('babel-register');
    +module.exports = require('./server.js');
    +
    +

    执行:

    +
    node babel.js
    +
    +

    Babel-Node

    +

    全局安装:

    +
    npm install babel-cli -g
    +
    +

    使用:

    +
    babel-node xxx.js
    +
    + +

    编译 ES5 代码

    +
    babel src --out-dir dist
    +
    +

    源目录src,目标目录dist

    +

    p.s. 从 Node.js 7.6.0 版本开始,再也没用过 Babel 执行后端代码.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/node/benchmark/index.html b/basic/node/benchmark/index.html new file mode 100644 index 00000000..69512572 --- /dev/null +++ b/basic/node/benchmark/index.html @@ -0,0 +1,277 @@ + + + + Benchmark - 团队领袖计划 + + +

    + Benchmark +

    性能对比测试框架 Matcha: https://github.com/logicalparadox/matcha

    +

    使用场景

    +

    技术选型,如图形验证码,在 NPM 包选取使用canvas还是ccap时可以用。

    +

    或,一个问题,有多种解决方案,选择采用哪一种方案的时候。

    +

    注意: 所有需要做选择的场景,最好都先做一下对比。

    +

    结果报告示例

    +
    ATL (After v1.0.1)
    +  if > (true) .................................... 4,752,967 op/s
    +  if = (true) .................................... 4,653,896 op/s
    +  if < (false) ................................... 4,612,560 op/s
    +
    +Left Shift (ATL v1.0.0)
    +  << > (true) .................................... 2,562,098 op/s
    +  << = (true) .................................... 2,473,787 op/s
    +  << < (false) ................................... 2,458,286 op/s
    +
    + +

    示例代码

    +
    suite('ATL', function () {
    +  bench('if > (true)', function () {
    +    atl('1.6.7', '1.4.4');
    +  });
    +  bench('if = (true)', function () {
    +    atl('1.4.4', '1.4.4');
    +  });
    +  bench('if < (false)', function () {
    +    atl('1.1.6', '1.4.4');
    +  });
    +});
    +
    +suite('Left Shift', function () {
    +  bench('<< > (true)', function () {
    +    atls('1.6.7', '1.4.4');
    +  });
    +  bench('<< = (true)', function () {
    +    atls('1.4.4', '1.4.4');
    +  });
    +  bench('<< < (false)', function () {
    +    atls('1.1.6', '1.4.4');
    +  });
    +});
    +
    +

    源码位于: https://github.com/WulianCC/node-atl/blob/master/benchmark/parse.js

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/node/cpu/index.html b/basic/node/cpu/index.html new file mode 100644 index 00000000..6300b7f8 --- /dev/null +++ b/basic/node/cpu/index.html @@ -0,0 +1,388 @@ + + + + Node.js CPU调度优化 - 团队领袖计划 + + +

    + Node.js CPU调度优化 +

    !> Master / Cluster 模式

    +

    单一服务器多核心分配

    +

    假设处理的任务列表如下:

    +
    const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    +
    +

    以 10 为例,假设服务器为 4CPU,那么每个 CPU 处理的任务分别为:

    +
      +
    • CPU1: [1, 2, 3]
    • +
    • CPU2: [4, 5, 6]
    • +
    • CPU3: [7, 8]
    • +
    • CPU4: [9, 0]
    • +
    +
    const numCPUs = require('os').cpus().length; // 假设该值为 4
    +
    +// 处理的任务列表
    +const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    +
    +// 调度处理代码写在这儿
    +// 每个 CPU 分配 N 个任务
    +const n = Math.floor(arr.length / numCPUs);
    +// 未分配的余数
    +const remainder = arr.length % numCPUs;
    +
    +for (let i = 1; i <= numCPUs; i += 1) {
    +  console.log(arr.splice(0, n + (i > remainder ? 0 : 1)));
    +}
    +
    +

    Cluster 模式示例

    +

    入口文件 index.js

    +
    const cluster = require('cluster');
    +(async () => {
    +  /* eslint global-require:0 */
    +  let run;
    +  if (cluster.isMaster) {
    +    run = require('./cluster/master');
    +  } else {
    +    run = require('./cluster/worker');
    +  }
    +  try {
    +    await run();
    +  } catch (err) {
    +    console.trace(err);
    +  }
    +})();
    +
    +

    Master 任务: ./cluster/master.js

    +
    const cluster = require('cluster');
    +const numCPUs = require('os').cpus().length;
    +
    +// 处理的任务列表
    +const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
    +
    +module.exports = async () => {
    +  // 调度处理代码写在这儿
    +  // 每个 CPU 分配 N 个任务
    +  const n = Math.floor(arr.length / numCPUs);
    +  // 未分配的余数
    +  const remainder = arr.length % numCPUs;
    +
    +  for (let i = 1; i <= numCPUs; i += 1) {
    +    const tasks = arr.splice(0, n + (i > remainder ? 0 : 1));
    +    // 将任务编号传递到 Cluster 内启动
    +    cluster.fork({ tasks: JSON.stringify(tasks) });
    +  }
    +  cluster.on('exit', (worker) => {
    +    console.log(`worker #${worker.id} PID:${worker.process.pid} died`);
    +  });
    +};
    +
    +

    Cluster 任务: ./cluster/worker.js

    +
    const cluster = require('cluster');
    +// 禁止直接启动
    +if (cluster.isMaster) {
    +  process.exit(0);
    +}
    +
    +module.exports = async () => {
    +  const env = process.env.tasks;
    +  let tasks = [];
    +  if (/^\[.*\]$/.test(env)) {
    +    tasks = JSON.parse(env);
    +  }
    +  if (tasks.length === 0) {
    +    // 非法启动, 释放进程资源
    +    process.exit(0);
    +  }
    +  console.log(`worker #${cluster.worker.id} PID:${process.pid} Start`);
    +  console.log(tasks);
    +};
    +
    + +

    多服务器多核心分配调度

    +

    假设处理的任务列表如下:

    +
    const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32];
    +
    +

    有多台负载均衡器,仅确定服务器数量,不确定服务器硬件配置.

    +

    假设目前有 3 台服务器,分别为 4 核心, 6 核心, 8 核心.

    +

    按照核心性能进行优先调度,那么每个 CPU 处理的任务分别为:

    +
      +
    • 服务器 1 (4 核心, 1.8GHz) +
        +
      • CPU1: [ 29 ]
      • +
      • CPU2: [ 30 ]
      • +
      • CPU3: [ 31 ]
      • +
      • CPU4: [ 32 ]
      • +
      +
    • +
    • 服务器 2 (6 核心, 2.8GHz) +
        +
      • CPU1: [ 1, 2 ]
      • +
      • CPU2: [ 3, 4 ]
      • +
      • CPU3: [ 5, 6 ]
      • +
      • CPU4: [ 7, 8 ]
      • +
      • CPU5: [ 9, 10 ]
      • +
      • CPU6: [ 11, 12 ]
      • +
      +
    • +
    • 服务器 3 (8 核心, 2.0GHz) +
        +
      • CPU1: [ 13, 14 ]
      • +
      • CPU2: [ 15, 16 ]
      • +
      • CPU3: [ 17, 18 ]
      • +
      • CPU4: [ 19, 20 ]
      • +
      • CPU5: [ 21, 22 ]
      • +
      • CPU6: [ 23, 24 ]
      • +
      • CPU7: [ 25, 26 ]
      • +
      • CPU8: [ 27, 28 ]
      • +
      +
    • +
    +
    const os = require('os');
    +const numCPUs = os.cpus().length;
    +
    +// 处理的任务列表
    +const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32];
    +
    +// 调度处理代码写在这儿
    +// 处理器主频
    +const speed = os.cpus().reduce((sum, cpu) => sum + cpu.speed, 0) / numCPUs;
    +// 主机名
    +const hostname = os.hostname();
    +// 获取内网ip
    +const eth0 = os.networkInterfaces().eth0;
    +const ip = typeof eth0 === 'undefined' ? '' : eth0.filter((x) => x.family === 'IPv4')[0].address;
    +
    +// ./cluster/master.js
    +module.exports = async () => {
    +  // 上报服务器信息到公共区域, 如 redis
    +  // 等待 `3` 台服务器全部上报完成
    +  // 性能最高的一台执行任务调度,得到任务列表
    +  // 写入公共区域,下派任务到其他服务器
    +  // 下派本地cluster任务
    +};
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/node/flow/index.html b/basic/node/flow/index.html new file mode 100644 index 00000000..feae0b1c --- /dev/null +++ b/basic/node/flow/index.html @@ -0,0 +1,303 @@ + + + + Flow - 团队领袖计划 + + +

    + Flow +

    安装

    +
    # babel
    +yarn add --dev babel-cli babel-preset-flow
    +# flow
    +yarn add --dev flow-bin
    +# 初始化
    +flow init
    +
    +

    检查执行的命令为:

    +
    yarn run flow
    +
    +

    配置

    +

    配置 Eslint

    +
    // .eslintrc.js
    +module.exports = {
    +  // extends: 'dwing',
    +  parser: 'babel-eslint',
    +  plugins: ['flowtype']
    +};
    +
    +

    配置 Visual Studio Code

    +

    关闭默认的 js 校验:

    +
    // .vscode/settings.json
    +// 将设置放入此文件中以覆盖默认值和用户设置。
    +{
    +  "javascript.validate.enable": false
    +}
    +
    +

    安装 flow 插件:

    +

    Flow Language Support

    +

    配置项目 package.json

    +
    "scripts": {
    +  "build": "babel src/ -d dist/",
    +  "prepublish": "yarn run build"
    +}
    +
    + +

    常用语法

    +

    单一类型

    +
    function square(n: number) {
    +  return n * n;
    +}
    +
    +

    多类型可能

    +
    function stringifyBasicValue(value: string | number) {
    +  return '' + value;
    +}
    +
    +

    任意类型

    +
    // 避免使用 any
    +function getTypeOf(value: mixed): string {
    +  return typeof value;
    +}
    +
    +

    可选参数

    +
    function method(optionalValue?: string) {
    +  // ...
    +}
    +
    +

    解构赋值

    +
    function foo({ x }: { x?: number } = {}): string {
    +  if (x) {
    +    return String(x);
    +  }
    +  return 'default string';
    +}
    +
    +

    示例项目位于: https://github.com/willin/start-babel-flow

    +

    可以参考该项目进行项目框架的初始化搭建.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/node/npm/index.html b/basic/node/npm/index.html new file mode 100644 index 00000000..5a7a8580 --- /dev/null +++ b/basic/node/npm/index.html @@ -0,0 +1,277 @@ + + + + 造轮子(NPM)篇 - 团队领袖计划 + + +

    + 造轮子(NPM)篇 +

    注册 npm 账号,并登陆。

    +
    npm login
    +
    +

    初始化项目

    +
    mkdir xxx-tool
    +cd xxx-tool
    +npm init
    +
    +

    创建各类配置文件,如果使用ES2015及之后特性,需要用到Babel.js的,需要编译发布。

    +

    参考项目: https://github.com/willin/waliyun

    +

    package.json:

    +
    "scripts": {
    +  "compile": "./node_modules/.bin/babel src --out-dir dist",
    +  "prepublish": "npm run compile"
    +}
    +
    +

    发布至 NPM

    +

    1.检查.gitignore.npmignore文件是否配置好

    +

    通常两者内容相近。如:

    +
    node_modules/
    +*.log
    +.DS_Store
    +
    +

    .gitignore中一般忽略生产环境编译输出的目录dist/.npmignore中忽略源码目录src/

    +

    2.检查package.json中的版本号

    +

    相同版本号不能反复发布。不能降级发布。每次需要更新并累加版本。

    +

    3.发布

    +
    npm publish
    +
    +

    发布测试版本:

    +
    npm publish --tag beta
    +
    + +

    发布私有模块到 NPM

    +

    初始化项目的时候可以加入参数:

    +
    npm init --scope=<your_scope>
    +
    +

    或者直接修改package.json中的项目名称为:

    +
    @scope/project-name
    +# 或
    +@username/project-name
    +
    +

    参考文档: https://docs.npmjs.com/private-modules/intro

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/node/pkg/index.html b/basic/node/pkg/index.html new file mode 100644 index 00000000..a6f6abf3 --- /dev/null +++ b/basic/node/pkg/index.html @@ -0,0 +1,307 @@ + + + + Node.js 包管理 - 团队领袖计划 + + +

    + Node.js 包管理 +

    NPM

    +

    初始化项目

    +
    npm init
    +
    +

    安装依赖

    +
    # 产品环境依赖
    +npm install -S package-name
    +# 开发环境依赖,如Webpack及插件,不需要在产品环境中引用的
    +npm install -D package-name
    +# 选择依赖,如Demo中使用的
    +npm install -O package-name
    +
    +

    命令

    +

    Package.json 里:

    +
    "scripts": {
    +  "start": "sh deploy.sh",
    +  "test": "node_modules/.bin/gitbook serve",
    +  "pack-win": "./node_modules/.bin/electron-packager . --asar  --overwrite --platform=win32 --arch=ia32 --prune=true --out=out --version-string.CompanyName='GitHub, Inc.'  --ignore=node_modules",
    +  "pack-mac": "./node_modules/.bin/electron-packager . --asar --overwrite --platform=darwin --arch=x64 --prune=true --out=out  --ignore=node_modules",
    +  "pack-all": "./node_modules/.bin/electron-packager . --out=dist --prune --asar --overwrite --all"
    +}
    +
    +

    其中,starttest可以直接使用这样的命令运行:

    +
    npm start
    +npm test
    +
    +

    其他,可以这样运行:

    +
    npm run pack-win
    +npm run pack-mac
    +npm run pack-all
    +
    +npm run start
    +npm run test
    +
    +

    避免使用npm install -g安装的CLI工具,推荐:

    +
      +
    • 通过npm install --save-dev CLI安装
    • +
    • 使用./node_modules/.bin/CLI
    • +
    + +

    Yarn

    +

    https://yarnpkg.com/

    +

    安装 Yarn

    +
    # 前置条件Brew(Mac OS X)
    +brew update
    +brew install yarn
    +# 或 直接使用npm
    +npm i -g yarn
    +
    +

    完成后用 Sublime Text 或其他编辑工具根据你使用的环境打开 .zshrc / .bashrc / .profile,添加一行:

    +
    export PATH="$PATH:`yarn global bin`"
    +
    +

    使用

    +

    新建项目

    +
    yarn init
    +
    +

    安装依赖

    +
    yarn add [package]
    +yarn add [package]@[version]
    +yarn add [package]@[tag]
    +
    +

    更新依赖

    +
    yarn upgrade [package]
    +yarn upgrade [package]@[version]
    +yarn upgrade [package]@[tag]
    +
    +

    删除依赖

    +
    yarn remove [package]
    +
    +

    安装项目所有依赖

    +
    yarn
    +
    +

    前提项目目录下存在 yarn.lock 文件,npm 添加的项目无法直接安装,需要通过 yarn 安装生成该 lock 文件。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/node/test/index.html b/basic/node/test/index.html new file mode 100644 index 00000000..413208b0 --- /dev/null +++ b/basic/node/test/index.html @@ -0,0 +1,460 @@ + + + + Test - 团队领袖计划 + + +

    + Test +

    谁开发,谁测试。

    +

    注意: 原则上应该先写测试,再进行编码;如果需求时间紧,可以先进行功能实现,但务必后续维护时候将测试代码补充完善。

    +

    BDD(优先)+TDD(完全代码覆盖)

    +

    测试框架

    +
      +
    • ES5: mocha + istanbul
    • +
    • ES6: ava + nyc
    • +
    +

    TDD

    +

    Test Driven Development,(单元)测试驱动开发。

    +

    特点:

    +
      +
    1. 直接引用对应源码,执行方法进行测试;
    2. +
    3. 测试用例须设计完整,把所有分支都 Cover 到。
    4. +
    +

    示例:

    +
    describe('Lib Common', function () {
    +  'use strict';
    +  it('isEmpty', function () {
    +    // isObject
    +    isEmpty({}).should.be.equal(true);
    +    isEmpty([]).should.be.equal(true);
    +    isEmpty({ a: 1 }).should.be.equal(false);
    +    isEmpty([1, 2]).should.be.equal(false);
    +    // isString
    +    isEmpty('').should.be.equal(true);
    +    isEmpty('sth').should.be.equal(false);
    +    // isNumber
    +    isEmpty(0).should.be.equal(true);
    +    isEmpty(0.1).should.be.equal(false);
    +    // null and undefined
    +    isEmpty(null).should.be.equal(true);
    +    isEmpty(undefined).should.be.equal(true);
    +    // boolean
    +    isEmpty(false).should.be.equal(true);
    +    isEmpty(true).should.be.equal(false);
    +    // 最后一行false
    +    isEmpty(isEmpty).should.be.equal(false);
    +  });
    +  it('md5/sha1', function () {
    +    md5('sth').should.equal('7c8db9682ee40fd2f3e5d9e71034b717');
    +    sha1('sth').should.equal('dec981e3bbb165d021029c42291faf06f59827c1');
    +  });
    +  it('authcode', function () {
    +    authcode(authcode('test'), 'DECODE').should.be.equal('test');
    +    authcode(authcode('test', 'ENCODE', 'key'), 'DECODE', 'key').should.be.equal('test');
    +    authcode('c008AsZqmGL8VuEVpZKVlbPwXzSsCZ+YX5K5CAGpMMqn', 'DECODE').should.be.equal('');
    +  });
    +});
    +
    + +

    BDD

    +

    Behavior Driven Development,行为驱动开发。

    +

    特点:

    +
      +
    1. 运行系统,模拟用户请求进行访问;
    2. +
    3. 行为分析要完整,要将可能所有结果覆盖。
    4. +
    +

    示例:

    +
    /* 测试路由 */
    +app.get('/test/model/mysql/init/ok', function (req, res) {
    +  'use strict';
    +  return db
    +    .opensips('v1/subscriber')
    +    .then(function () {
    +      res.send(200, 'ok');
    +    })
    +    .catch(function (err) {
    +      logger('routes/test/model/mysql/ok', err);
    +      res.send(403, 'fail');
    +    });
    +});
    +
    +app.get('/test/model/mysql/init/fail', function (req, res) {
    +  'use strict';
    +  return db
    +    .opensips('test/notExisted')
    +    .then(function () {
    +      res.send(200, 'OK');
    +    })
    +    .catch(function () {
    +      res.send(200, 'fail');
    +    });
    +});
    +
    +/* 测试脚本 */
    +describe('Demo', function () {
    +  'use strict';
    +  it('404 not found', function (next) {
    +    request(app)
    +      .get('/sth/not/exist')
    +      .set('Accept', 'text/plain')
    +      .expect(200)
    +      .end(function (err, res) {
    +        if (err) {
    +          throw err;
    +        }
    +        should(res.body.status).be.equal(0);
    +        next();
    +      });
    +  });
    +  it('403 not allowed', function (next) {
    +    request(app)
    +      .get('/v2/basic/mqtt')
    +      .set('Accept', 'text/plain')
    +      .expect(200)
    +      .end(function (err, res) {
    +        if (err) {
    +          throw err;
    +        }
    +        should(res.body.status).be.equal(0);
    +        next();
    +      });
    +  });
    +  it('Init opensips/subscriber Should be OK', function (next) {
    +    request(app)
    +      .get('/test/model/mysql/init/ok')
    +      .set('Accept', 'text/plain')
    +      .expect(200)
    +      .expect('ok')
    +      .end(function (err) {
    +        if (err) {
    +          //console.log(res.body);
    +          throw err;
    +        }
    +        next();
    +      });
    +  });
    +  it('Init test/subscriber Should be FAILED', function (next) {
    +    request(app)
    +      .get('/test/model/mysql/init/fail')
    +      .set('Accept', 'text/plain')
    +      .expect(200)
    +      .expect('fail')
    +      .end(function (err) {
    +        if (err) {
    +          //console.log(res.body);
    +          throw err;
    +        }
    +        next();
    +      });
    +  });
    +});
    +
    +

    ES6 下的 BDD 测试示例对比:

    +
    import { test, server, assert } from './_import';
    +let location;
    +test.before(async () => {
    +  const response = await server.inject({
    +    method: 'POST',
    +    url: '/login',
    +    payload: {
    +      username: 'willin',
    +      password: 'PASSWORD'
    +    }
    +  });
    +  location = response.headers.location;
    +});
    +
    +test('GET / 302', async () => {
    +  const response = await server.inject({
    +    method: 'GET',
    +    url: '/'
    +  });
    +  assert.equal(response.statusCode, 302);
    +});
    +
    +test('GET /login 200', async () => {
    +  const response = await server.inject({
    +    method: 'GET',
    +    url: '/login'
    +  });
    +  assert.equal(response.statusCode, 200);
    +});
    +
    +test('POST /login 302', async () => {
    +  const response = await server.inject({
    +    method: 'POST',
    +    url: '/login',
    +    payload: {
    +      username: 'willin',
    +      password: 'PASSWORD'
    +    }
    +  });
    +  assert.equal(response.statusCode, 302);
    +});
    +
    +test('POST /login 401', async () => {
    +  const response = await server.inject({
    +    method: 'POST',
    +    url: '/login',
    +    payload: {
    +      username: 'willin',
    +      password: 'Ww10842073305zZa28v3PO5Ok0L63IdA'
    +    }
    +  });
    +  assert.equal(response.statusCode, 401);
    +});
    +
    +test('POST /login Invalid Params 403', async () => {
    +  const response = await server.inject({
    +    method: 'POST',
    +    url: '/login',
    +    payload: {
    +      username: 'willin'
    +    }
    +  });
    +  assert.equal(response.statusCode, 403);
    +});
    +
    +test('GET /doc 200', async () => {
    +  const response = await server.inject({
    +    method: 'GET',
    +    url: location
    +  });
    +  assert.equal(response.statusCode, 200);
    +});
    +
    +test('GET /doc 302', async () => {
    +  const response = await server.inject({
    +    method: 'GET',
    +    url: '/doc?'
    +  });
    +  assert.equal(response.statusCode, 302);
    +});
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/node/yarn/index.html b/basic/node/yarn/index.html new file mode 100644 index 00000000..a433930b --- /dev/null +++ b/basic/node/yarn/index.html @@ -0,0 +1,336 @@ + + + + Yarn 进阶使用 - 团队领袖计划 + + +

    + Yarn 进阶使用 +

    批量升级所有依赖项并更新 package.json

    +
    const pack = require('./package.json');
    +const { execSync } = require('child_process');
    +
    +const list = [...Object.keys(pack.devDependencies), ...Object.keys(pack.dependencies)];
    +// 忽略的项目 (不用升级)
    +const ignore = ['eslint', 'babel-cli'];
    +
    +list.forEach((item) => {
    +  if (!ignore.includes(item)) {
    +    console.log(`yarn upgrade ${item}`);
    +    execSync(`yarn upgrade ${item}`);
    +  }
    +});
    +
    +

    忽略 Node.js 要求

    +

    比如, 有一些包指定了 Node.js 版本的要求, 如:

    +
    "engines": {
    +  "node": "^4.2.2"
    +}
    +
    +
    yarn add PackageName --ignore-engines
    +
    + +

    dependency 版本落后

    +

    tim-event-processor-host 包为例, 其中用到了一个子模块 cerulean 来处理 azure-storage

    +

    我们想要用最新版本的azure-storage,但如果要一级级向上去提交Pull Request并且去等 npm 包作者更新, 实在是太慢太傻了.

    +

    那么我们就可以利用 postinstall 特性来删除旧版本的 npm 包并使用新版本的.

    +

    原理讲解

    +

    1.只安装 tim-event-processor-host

    +
    mkdir DIR && DIR
    +yarn add tim-event-processor-host --ignore-engines
    +cd node_modules
    +tree -L 1
    +
    +

    结果显示如下:

    +
    .
    +├── ... # 把一些无关的目录都给忽略了
    +├── azure-storage
    +├── cerulean
    +└── tim-event-processor-host
    +
    +113 directories, 0 files
    +
    +

    cerulean, azure-storage 就都装在了 node_modules 目录下,

    +

    2.同时安装tim-event-processor-hostazure-storage

    +
    mkdir DIR && DIR
    +yarn add tim-event-processor-host azure-storage --ignore-engines
    +cd node_modules
    +tree -L 1
    +
    +
    .
    +├── azure-storage # 最新版本
    +├── cerulean
    +│   ├── LICENSE
    +│   ├── README.md
    +│   ├── examples
    +│   │   ├── README.md
    +│   │   ├── leader_followers.js
    +│   │   └── servicebus_send_receive.js
    +│   ├── lib
    +│   │   ├── blob_lease.js
    +│   │   ├── blob_lease_manager.js
    +│   │   └── index.js
    +│   ├── node_modules
    +│   │   ├── assert-plus
    +│   │   ├── azure-storage # 依赖项中的指定版本(旧)
    +│   │   ├── boom
    +│   │   ├── caseless
    +│   │   ├── cryptiles
    +│   │   ├── delayed-stream
    +│   │   ├── forever-agent
    +│   │   ├── form-data
    +│   │   ├── har-validator
    +│   │   ├── hawk
    +│   │   ├── hoek
    +│   │   ├── http-signature
    +│   │   ├── qs
    +│   │   ├── request
    +│   │   ├── sntp
    +│   │   └── validator
    +│   ├── package.json
    +│   ├── playground.js
    +│   └── test
    +│       └── integration
    +└── tim-azure-event-hubs
    +
    +406 directories, 1571 files
    +
    +

    所以只需要将 node_modules/cerulean/node_modules/azure-storage 目录给删除掉, 让引用的时候自动向上递归查找即可.

    +

    解决方案

    +
    "dependencies": {
    +  "azure-storage": "^2.2.1",
    +  "tim-event-processor-host": "^0.0.3"
    +},
    +"scripts": {
    +  "postinstall": "rm -rf node_modules/cerulean/node_modules/azure-storage"
    +}
    +
    +
    yarn --ignore-engines
    +
    +

    完成.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/basic/osx/1.png b/basic/osx/1.png similarity index 100% rename from static/basic/osx/1.png rename to basic/osx/1.png diff --git a/static/basic/osx/2.png b/basic/osx/2.png similarity index 100% rename from static/basic/osx/2.png rename to basic/osx/2.png diff --git a/static/basic/osx/3.png b/basic/osx/3.png similarity index 100% rename from static/basic/osx/3.png rename to basic/osx/3.png diff --git a/static/basic/osx/4.png b/basic/osx/4.png similarity index 100% rename from static/basic/osx/4.png rename to basic/osx/4.png diff --git a/basic/osx/index.html b/basic/osx/index.html new file mode 100644 index 00000000..05f08d3e --- /dev/null +++ b/basic/osx/index.html @@ -0,0 +1,276 @@ + + + + 操作系统 OS X - 团队领袖计划 + + +

    + 操作系统 OS X +

    工欲善其事,必先利其器。

    +

    本章节将围绕以下几个话题依次展开:

    +
      +
    • 操作系统(OS X)
    • +
    • 效率工具
    • +
    • 设计工具
    • +
    • 开发工具
    • +
    • 测试工具
    • +
    • 技术相关基础常识
    • +
    +
    +

    最适合设计开发的操作系统,无论是对于 GUI 依赖者还是命令行发烧友。

    +

    应用安装

    +

    大多数非 App Store 下载的应用在安装的时候都会提示未知开发者,所以需要将系统设置为允许任何来源,才可以安装这些应用

    +

    2

    +

    设置步骤如下:

    +
    +

    系统偏好设置 -> 安全性与隐私 -> 允许从以下位置下载的应用 -> 改为“任何来源”

    +
    +

    1

    +

    如果是10.12及以后版本,会没有“任何来源”这个选项,需要在终端(Terminal)中执行以下命令:

    +
    sudo spctl --master-disable
    +
    +

    3

    +

    输入密码,然后再重复上面的设置步骤。

    + +

    安装 Command Line Tools

    +

    大多数开发软件都会依赖这个工具。

    +

    方法一: 通过 XCode 安装

    +

    缺点就是速度慢,如果不是 OS X 或 iOS 开发可以通过命令行安装。

    +

    方法二: 命令行

    +

    终端命令:

    +
    xcode-select --install
    +
    +

    Parallels 全屏禁止触发角

    +

    4

    +

    配置 -> 安全 -> 退出windows全屏模式时候需要密码 打勾即可

    +

    关闭 SIP

    +

    重启 Mac,按住 CMD+R,进入 recovery 界面,在顶部工具栏选择“终端”:

    +
    csrutil disable
    +
    +

    注意: 该项仅在需要安装 xtraFinder 之类应用时才需要。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/pad/index.html b/basic/pad/index.html new file mode 100644 index 00000000..cfdbbec6 --- /dev/null +++ b/basic/pad/index.html @@ -0,0 +1,292 @@ + + + + 优雅地使用平板进行远程OS X编码开发 - 团队领袖计划 + + +

    + 优雅地使用平板进行远程OS X编码开发 +

    !> 没有 OS X 平板(iPad 是 ios 系统)这个问题一直困扰着我.

    +

    ?> 正所谓,工欲善其事必先利其器.

    +

    准备

    +
      +
    • 一台平板(iPad/Surface 或者其他)
    • +
    • 一台苹果(Mac Mini/Macbook Pro 或者其他)
    • +
    • 一台路由器(需支持动态域名解析,如花生壳),后续我会完善动态域名解析功能
    • +
    +

    配置电源选项

    +

    power

    +

    根据上图开启 唤醒, 关闭 睡眠

    +
    sudo pmset -a autopoweroff 0
    +sudo pmset -a standby 0
    +
    + +

    配置路由器

    +

    IP 地址分配

    +

    通过 mac 地址进行绑定,分配固定 ip.

    +

    一般是在:

    +
    +

    路由设置 -> 上网设置 -> 静态 IP

    +
    +

    ip

    +

    端口转发或 DMZ

    +

    如果路由支持 DMZ 主机功能,则不需要进行端口转发.直接将本机设置 DMZ 主机即可.

    +

    port-forward

    +

    端口转发的话,设置 1234 端口(参考下文 js 代码).

    +

    配置动态域名解析

    +

    路由器+花生壳

    +

    注册花生壳域名

    +

    oray

    +

    路由器配置花生壳

    +

    很简单,填入用户名密码和域名.

    +

    注意下面的两个时间我填的都是 10 分钟.

    +

    router-oray

    +

    设置唤醒应用

    +
    const http = require('http');
    +const { execSync } = require('child_process');
    +http
    +  .createServer((req, res) => {
    +    res.writeHead(200, { 'Content-type': 'application/json' });
    +    try {
    +      execSync('caffeinate -u -t 1');
    +      res.end('{status:1}');
    +    } catch (e) {
    +      res.end('{status:0}');
    +    }
    +  })
    +  .listen(1234);
    +
    +

    假如你的动态解析域名是 willin.wang

    +

    如果电脑进入睡眠了,用手机访问下面的地址,即可进行唤醒.

    +
    http://willin.wang:1234/
    +
    +

    祭出神器

    +

    TeamViewer, 配置无人值守和轻松访问.

    +

    teamviewer

    +

    享受吧.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/resource/brew/index.html b/basic/resource/brew/index.html new file mode 100644 index 00000000..dd546d5d --- /dev/null +++ b/basic/resource/brew/index.html @@ -0,0 +1,346 @@ + + + + Brew - 团队领袖计划 + + +

    + Brew +

    官方网址: http://brew.sh/

    +

    用于安装各类 *nix 依赖包和应用。

    +
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    +
    +

    常用应用

    +

    安装示例:

    +
    brew install wget
    +
    + +

    常用命令:

    +
      +
    • wget
    • +
    • tree
    • +
    • autojump 配合 zsh 使用
    • +
    • thefuck
    • +
    +

    Node.js 相关:

    +
      +
    • node
    • +
    • yarn
    • +
    • pkg-config
    • +
    +

    代理:

    +
      +
    • proxychains-ng
    • +
    +

    数据库、缓存:

    +
      +
    • mysql
    • +
    • redis
    • +
    +

    Brew Cask

    +

    可以用于安装管理桌面应用。

    +

    安装 Brew Cask

    +
    brew tap caskroom/cask
    +
    +

    Brew Cask 常用应用

    +
    brew cask install google-chrome
    +
    +
      +
    • launchrocket 可以管理服务,如 Redis、MySQL、Nginx 等
    • +
    • filezilla
    • +
    • macdown
    • +
    +

    查找可用应用: https://caskroom.github.io/search

    +

    本地 DNS 配置

    +

    Localhost 下的泛域名指定

    +
    brew install dnsmasq
    +mkdir -pv $(brew --prefix)/etc/
    +echo 'address=/.cxl/10.2.1.86' > $(brew --prefix)/etc/dnsmasq.conf
    +sudo cp -v $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons
    +sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
    +sudo mkdir -v /etc/resolver
    +sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/cxl'
    +
    +

    百度网盘下载工具 Aria2

    +

    通过 Brew 安装 Aria2

    +
    brew install aria2
    +
    +

    浏览器插件

    +

    https://github.com/acgotaku/BaiduExporter/releases

    +

    运行

    +
    aria2c --conf-path=~/.aria2.conf -D
    +
    +

    .aria2.conf:

    +
    #设置加密的密钥
    +#rpc-secret=token
    +#允许rpc
    +enable-rpc=true
    +#允许所有来源, web界面跨域权限需要
    +rpc-allow-origin-all=true
    +#允许外部访问,false的话只监听本地端口
    +rpc-listen-all=true
    +#RPC端口, 仅当默认端口被占用时修改
    +#rpc-listen-port=6800
    +#最大同时下载数(任务数), 路由建议值: 3
    +max-concurrent-downloads=5
    +#断点续传
    +continue=true
    +#同服务器连接数
    +max-connection-per-server=5
    +#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
    +min-split-size=10M
    +#单文件最大线程数, 路由建议值: 5
    +split=10
    +#下载速度限制
    +max-overall-download-limit=0
    +#单文件速度限制
    +max-download-limit=0
    +#上传速度限制
    +max-overall-upload-limit=0
    +#单文件速度限制
    +max-upload-limit=0
    +#断开速度过慢的连接
    +#lowest-speed-limit=0
    +#验证用,需要1.16.1之后的release版本
    +#referer=*
    +#文件保存路径, 默认为当前启动位置
    +dir=~/Downloads
    +#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
    +#disk-cache=0
    +#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
    +#enable-mmap=true
    +#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
    +#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
    +file-allocation=prealloc
    +
    +

    GUI 界面

    +

    http://binux.github.io/yaaw/demo/

    +

    设置 URL:

    +
    http://127.0.0.1:6800/jsonrpc
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/resource/dnsmasq/index.html b/basic/resource/dnsmasq/index.html new file mode 100644 index 00000000..9eedbf95 --- /dev/null +++ b/basic/resource/dnsmasq/index.html @@ -0,0 +1,259 @@ + + + + Dnsmasq - 团队领袖计划 + + +

    + Dnsmasq +

    OS X 进行泛域名解析的开发环境搭建。

    +

    前置要求:Brew

    +
    # 安装
    +brew install dnsmasq
    +
    +# 按需创建必要目录
    +mkdir -p /usr/local/etc
    +sudo mkdir -p /etc/resolver
    +
    +# 创建一个简单配置文件
    +# 强制 .dev 域名到本地  127.0.0.1
    +# 你可以从参考配置文件里获得更多信息,文件位置:
    +#   /usr/local/opt/dnsmasq/dnsmasq.conf.example
    +echo "address=/.dev/127.0.0.1" > /usr/local/etc/dnsmasq.conf
    +sudo sh -c 'echo "nameserver 127.0.0.1" > /etc/resolver/dev'
    +
    +# 安装启动文件
    +sudo cp -fv /usr/local/opt/dnsmasq/*.plist \
    +  /Library/LaunchDaemons
    +
    +# 启动服务
    +sudo launchctl load \
    +  /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
    +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/resource/frontend/index.html b/basic/resource/frontend/index.html new file mode 100644 index 00000000..5c83f3da --- /dev/null +++ b/basic/resource/frontend/index.html @@ -0,0 +1,257 @@ + + + + 前端资源 - 团队领袖计划 + + +

    + 前端资源 +

    《你可能用不上 jQuery》:http://youmightnotneedjquery.com/

    +

    数据可视化

    +

    D3.js: https://d3js.org/

    +

    3D

    +

    Three.js: http://threejs.org/

    +

    动画

    + + +

    VR 虚拟现实

    +

    A-Frame: https://aframe.io/

    +

    图表

    + +

    滚动视差

    + +

    (已可用 3D 效果替代)

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/resource/ide/index.html b/basic/resource/ide/index.html new file mode 100644 index 00000000..0c9c6fe0 --- /dev/null +++ b/basic/resource/ide/index.html @@ -0,0 +1,606 @@ + + + + IDE - 团队领袖计划 + + +

    + IDE +

    安装配置 IDE

    +

    适合前端、后端、全栈工程师,尤其以 Javascript(Node.js)为主。

    +

    目前我个人用的最多的是 VS Code。

    +

    该章节不过多对比,根据个人喜好选择。入门请使用 WebStorm,进阶 Atom、VS Code, Sublime Text 不适合项目开发使用,比较适合调试使用。

    +

    具体配置及按键映射,如 Atom 和 VS Code 的,也需要根据个人喜好来设置,可以在安装后查看全局配置,自行修改调整。记得做好备份。

    +

    WebStorm

    +

    官方地址: http://www.jetbrains.com/webstorm/

    +

    适合新手入门。

    + +

    Sublime Text 3

    +

    安装

    +

    下载地址: http://www.sublimetext.com/3

    +

    配置 subl 快捷命令(OS X)

    +

    图省事的话可以直接先尝试在终端(或 iTerm)里 执行:

    +
    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
    +
    +
    +

    详细过程分解

    +

    Finder 中打开应用程序目录,找到 Sublime Text应用,右键菜单选择 显示包内容

    +

    进入 Contents -> SharedSupport -> bin 目录,看到一个 subl 文件

    +

    打开终端,输入:

    +
    ln -s (停止输入,把Finder里的那个subl文件拖进来,按一个空格继续输入) /usr/local/bin/subl
    +
    +

    如果提示 ln: /usr/local/bin123/subl: No such file or directory 输入:

    +
    mkdir /usr/local/bin
    +
    +

    然后再重新执行上一条命令。

    +

    安装 Package Control

    +

    安装完成后,打开 Sublime , 按下 ctrl + ~,在弹出的控制台中输入:

    +
    import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
    +
    +

    以后使用快捷键 ⌘(command) + ⇧(shift) + p 输入 Install, 就能够调出 Package Install 进行 Sublime 的插件主题安装了.

    +

    安装配置主题

    +

    调出 Package Install, 输入 theme, 大多数主题都是以 Theme: 开头,可以鼠标或键盘上下键选择,点击或回车便开始进行安装。

    +

    安装完成后从 Preference (左上角苹果按钮旁边点Sublime Text) -> Color Scheme 选择你所安装的主题并启用。

    +

    常用插件

    +

    1.Terminal

    +

    安装完成后从 Preference -> Package Settings -> Terminal -> Settings - Default 进入配置,

    +

    修改

    +
        "terminal": "",
    +
    +

    +
        "terminal": "iTerm.sh",
    +
    +

    即可右键从 iTerm 中打开当前目录了。

    +

    Atom

    +

    下载地址: https://atom.io/

    +

    进阶使用,或 VS Code。

    +

    之前我个人一直用的 WebStorm,一方面这是个付费的 IDE;另一方面是该环境内存开销比较大,自带功能太多,对于新人来讲是不错的选择,但是慢慢的对开发熟悉后,并不太需要那些辅助的功能和插件,所以会尝试一些更轻量级、灵活的编辑器。

    +

    插件列表 / Plugin List

    +
    Community Packages (49) /Users/willin/.atom/packages
    +├── activate-power-mode@0.7.4
    +├── atom-beautify
    +├── atom-jade@0.3.0
    +├── atom-material-syntax@0.4.6
    +├── atom-material-ui@1.3.3
    +├── atom-terminal-panel@4.4.4
    +├── atom-ternjs@0.14.2
    +├── atom-typescript@10.1.6
    +├── auto-update-packages@1.0.1
    +├── autoclose-html@0.23.0
    +├── autocomplete-modules@1.6.1
    +├── ava@0.7.0
    +├── color-picker@2.2.2
    +├── csslint@1.1.5
    +├── docblockr@0.8.2
    +├── editorconfig@1.4.1
    +├── file-icons@1.7.18
    +├── git-log@0.4.1
    +├── git-time-machine@1.5.3
    +├── highlight-selected@0.11.2
    +├── hyperclick@0.0.37
    +├── js-hyperclick@1.4.2
    +├── language-babel
    +├── language-dots@0.0.4
    +├── language-javascript-jsx@0.3.7
    +├── language-swigjs@0.3.1
    +├── linter@1.11.16
    +├── linter-eslint@7.2.4
    +├── linter-tslint@0.11.1
    +├── markdown-scroll-sync@2.1.2
    +├── merge-conflicts@1.4.4
    +├── minimap@4.24.7
    +├── minimap-git-diff@4.3.1
    +├── minimap-highlight-selected@4.4.0
    +├── minimap-pigments@0.2.1
    +├── open-in-browser@0.4.7
    +├── open-recent@5.0.0
    +├── pigments@0.31.2
    +├── project-manager@2.9.7
    +├── project-switcher@0.3.0
    +├── rest-client@1.2.1
    +├── screen-recorder@1.2.0
    +├── seti-ui@1.3.1
    +├── simplified-chinese-menu@3.4.11
    +├── sort-lines@0.14.0
    +├── terminal-plus@0.14.5
    +├── todo-show@1.7.0
    +├── tool-bar@1.0.1
    +└── tool-bar-config@0.1.0
    +
    +

    推荐配置

    +
    "*":
    +  "activate-power-mode":
    +    particles:
    +      size: {}
    +      spawnCount: {}
    +      totalCount: {}
    +    screenShake: {}
    +  "atom-beautify":
    +    apex: {}
    +    arduino: {}
    +    c: {}
    +    cfml: {}
    +    coffeescript:
    +      indent_size: 2
    +    cpp: {}
    +    cs: {}
    +    css: {}
    +    d: {}
    +    ejs: {}
    +    erb: {}
    +    fortran: {}
    +    general:
    +      _analyticsUserId: "ea162638-166c-40b5-835b-108ef72f93f3"
    +      analytics: false
    +      beautifyEntireFileOnSave: false
    +    gherkin: {}
    +    handlebars: {}
    +    html:
    +      end_with_newline: true
    +      indent_inner_html: true
    +      indent_size: 2
    +      max_preserve_newlines: 1
    +    jade: {}
    +    java: {}
    +    js:
    +      brace_style: "collapse-preserve-inline"
    +      end_with_comma: true
    +      end_with_newline: true
    +      indent_size: 2
    +      keep_function_indentation: true
    +    json:
    +      beautify_on_save: true
    +      indent_size: 2
    +    jsx: {}
    +    latex: {}
    +    less: {}
    +    marko: {}
    +    mustache: {}
    +    objectivec: {}
    +    pawn: {}
    +    perl: {}
    +    php: {}
    +    python: {}
    +    riot: {}
    +    ruby: {}
    +    rust: {}
    +    sass: {}
    +    scss: {}
    +    spacebars: {}
    +    sql: {}
    +    svg: {}
    +    swig: {}
    +    tss: {}
    +    twig: {}
    +    typescript: {}
    +    vala: {}
    +    visualforce: {}
    +    xml: {}
    +    xtemplate: {}
    +  "autoclose-html": {}
    +  autosave:
    +    enabled: true
    +  core:
    +    disabledPackages: [
    +      "atom-terminal-panel"
    +      "atom-beautify"
    +      "editorconfig"
    +    ]
    +    themes: [
    +      "atom-material-ui"
    +      "atom-material-syntax"
    +    ]
    +  editor:
    +    fontFamily: "'Source Code Pro for Powerline','Electrolize'"
    +    fontSize: 15
    +    invisibles: {}
    +    showIndentGuide: true
    +    softWrap: true
    +  "exception-reporting":
    +    userId: "69f2bdd3-5fcf-f92b-ecd5-461248e4bd3f"
    +  "file-icons":
    +    onChanges: true
    +  "highlight-selected": {}
    +  "js-hyperclick": {}
    +  linter:
    +    errorPanelHeight: 71
    +    showErrorPanel: false
    +    showErrorTabLine: true
    +  "linter-eslint":
    +    fixOnSave: true
    +  "merge-conflicts": {}
    +  minimap:
    +    plugins:
    +      "git-diff": true
    +      "git-diffDecorationsZIndex": 0
    +      "highlight-selected": true
    +      "highlight-selectedDecorationsZIndex": 0
    +      pigments: true
    +      pigmentsDecorationsZIndex: 0
    +  "project-manager":
    +    sortBy: "last modified"
    +  "rest-client": {}
    +  "simplified-chinese-menu": {}
    +  "split-diff":
    +    diffWords: true
    +    ignoreWhitespace: true
    +    leftEditorColor: "red"
    +    rightEditorColor: "green"
    +    syncHorizontalScroll: true
    +  "terminal-plus":
    +    core:
    +      mapTerminalsTo: "Folder"
    +    style:
    +      fontFamily: "'Source Code Pro for Powerline'"
    +  "todo-show":
    +    ignoreThesePaths: [
    +      "**/node_modules/"
    +      "**/vendor/"
    +      "**/bower_components/"
    +      "**/public/"
    +    ]
    +  "tool-bar":
    +    position: "Left"
    +  "tool-bar-config": [
    +    {
    +      icon: "document"
    +      iconSet: "ion"
    +      title: "New File"
    +      callback: "application:new-file"
    +    }
    +    {
    +      icon: "folder"
    +      iconSet: "ion"
    +      title: "Open..."
    +      callback: "application:open-folder"
    +    }
    +    {
    +      icon: "archive"
    +      iconSet: "ion"
    +      title: "Save"
    +      callback: "core:save"
    +    }
    +    {
    +      icon: "spacer"
    +    }
    +    {
    +      icon: "search"
    +      iconSet: "ion"
    +      title: "Find in Buffer"
    +      callback: "find-and-replace:show"
    +    }
    +    {
    +      icon: "shuffle"
    +      iconSet: "ion"
    +      title: "Replace in Buffer"
    +      callback: "find-and-replace:show-replace"
    +    }
    +    {
    +      icon: "spacer"
    +    }
    +    {
    +      icon: "navicon-round"
    +      iconSet: "ion"
    +      title: "Toggle Command Palette"
    +      callback: "command-palette:toggle"
    +    }
    +    {
    +      icon: "gear-a"
    +      iconSet: "ion"
    +      title: "Open Settings View"
    +      callback: "settings-view:open"
    +    }
    +    {
    +      icon: "spacer"
    +    }
    +    {
    +      icon: "refresh"
    +      iconSet: "ion"
    +      title: "Reload Window"
    +      callback: "window:reload"
    +    }
    +  ]
    +  "tree-view":
    +    autoReveal: true
    +  welcome:
    +    showOnStartup: false
    +
    +

    keymap.cson

    +

    (快捷键根据个人喜好和习惯设定 / up to your habit)

    +
    'atom-text-editor':
    +  'cmd-alt-l': 'atom-beautify:beautify-editor'
    +  'cmd-shift-l': 'atom-beautify:beautify-editor'
    +  'cmd-alt-j': 'activate-power-mode:toggle'
    +  'cmd-shift-j': 'activate-power-mode:toggle'
    +  'cmd-`': 'terminal-plus:toggle'
    +  'cmd-alt-up': 'pane:split-up'
    +  'cmd-alt-down': 'pane:split-down'
    +  'cmd-alt-left': 'pane:split-left'
    +  'cmd-alt-right': 'pane:split-right'
    +  'cmd-alt-shift-up':'window:focus-pane-on-up'
    +  'cmd-alt-shift-down':'window:focus-pane-on-down'
    +  'cmd-alt-shift-left':'window:focus-pane-on-left'
    +  'cmd-alt-shift-right':'window:focus-pane-on-right'
    +  'cmd-k':'pane:close'
    +  'cmd-1':'todo-show:find-in-project'
    +
    +

    Visual Studio Code

    +

    下载地址: https://code.visualstudio.com/

    +

    在用了半年多 Atom 之后,一次更新导致了 Terminal 插件失效,所以转到了 VS Code。

    +

    在 1.6 之后的版本中内置了终端,所以还算不错。

    +

    比 Atom 快了很多,尤其是压缩过的 js 代码,在 Atom 中打开简直就是噩梦,可能是因为代码自动格式化引起的,原因不详。

    +

    VS Code 不足在于:

    +
      +
    • ESLint 报错不能直接跳转到网站详细说明
    • +
    • 没有 MiniMap 插件
    • +
    • 没有 Power Mode 插件,当然这个只是自嗨用的,无关痛痒
    • +
    +

    整体来讲,还是头一次对微软的东西这么满意。

    +

    配置

    +
    {
    +    "editor.tabSize": 2,
    +    "editor.fontSize": 13,
    +    "editor.fontFamily": "'Source Code Pro for Powerline', Menlo, Monaco, 'Courier New', monospace",
    +    "editor.fontWeight": "normal",
    +    "editor.formatOnType": true,
    +    "editor.wordWrap": true,
    +    "extensions.autoUpdate": true,
    +    "files.autoSave": "afterDelay",
    +    "files.autoSaveDelay": 5000,
    +    "terminal.external.osxExec": "iTerm.app",
    +    "telemetry.enableTelemetry": false,
    +    "telemetry.enableCrashReporter": false,
    +    "window.zoomLevel": 1,
    +    // 插件定义
    +    "eslint.autoFixOnSave": true
    +  }
    +
    +

    按键

    +
    [
    +  // HHKB
    +  { "key": "cmd+escape", "command": "workbench.action.terminal.toggleTerminal" },
    +  { "key": "cmd+shift+escape", "command": "workbench.action.showErrorsWarnings"},
    +  { "key": "alt+i", "command": "cursorUp", "when": "editorTextFocus" },
    +  { "key": "alt+j", "command": "cursorLeft", "when": "editorTextFocus" },
    +  { "key": "alt+k", "command": "cursorDown", "when": "editorTextFocus" },
    +  { "key": "alt+l", "command": "cursorRight", "when": "editorTextFocus" }
    +]
    +
    +

    插件

    +
      +
    • Auto Close Tag
    • +
    • ESLint
    • +
    • exports autocomplete
    • +
    • Material Icon Theme
    • +
    • Material-theme
    • +
    • Project Manager
    • +
    • Sass
    • +
    • TODO Highlight
    • +
    • VS Color Picker
    • +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/resource/offline/index.html b/basic/resource/offline/index.html new file mode 100644 index 00000000..a670955f --- /dev/null +++ b/basic/resource/offline/index.html @@ -0,0 +1,296 @@ + + + + 离线资源 - 团队领袖计划 + + +

    + 离线资源 +

    系统工具

    + +

    IDE

    + + +

    设计工具

    +
      +
    • OmniGraffle (UML 建模)
    • +
    • Mindjet MindManager (思维导图)
    • +
    • Sketch (原型)
    • +
    • Axure (原型)
    • +
    +

    浏览器插件

    +

    Chrome

    +

    Chrome Dev: https://dl.google.com/chrome/mac/dev/GoogleChrome.dmg

    + +

    FireFox

    + +

    前端工具

    + +

    Node.js

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/resource/online/index.html b/basic/resource/online/index.html new file mode 100644 index 00000000..e0596b52 --- /dev/null +++ b/basic/resource/online/index.html @@ -0,0 +1,256 @@ + + + + 在线资源 - 团队领袖计划 + + +
    + + diff --git a/basic/resource/ss/index.html b/basic/resource/ss/index.html new file mode 100644 index 00000000..d46a00d2 --- /dev/null +++ b/basic/resource/ss/index.html @@ -0,0 +1,310 @@ + + + + 科学上网 - 团队领袖计划 + + +

    + 科学上网 +

    Shad0ws0cks 服务器端

    +

    一键安装脚本网站: https://shad0ws0cks.be/

    +

    使用 root 用户登录,运行以下命令:

    +
    wget --no-check-certificate -O shad0ws0cks-all.sh https://raw.githubusercontent.com/teddysun/shad0ws0cks_install/master/shad0ws0cks-all.sh
    +chmod +x shad0ws0cks-all.sh
    +./shad0ws0cks-all.sh 2>&1 | tee shad0ws0cks-all.log
    +
    +

    启动脚本

    +

    启动脚本后面的参数含义,从左至右依次为:启动,停止,重启,查看状态。

    +

    Shad0ws0cks-Python 版:

    +
    /etc/init.d/shad0ws0cks-python start | stop | restart | status
    +
    +

    Shad0ws0cksR 版:

    +
    /etc/init.d/shad0ws0cks-r start | stop | restart | status
    +
    +

    Shad0ws0cks-Go 版:

    +
    /etc/init.d/shad0ws0cks-go start | stop | restart | status
    +
    +

    Shad0ws0cks-libev 版:

    +
    /etc/init.d/shad0ws0cks-libev start | stop | restart | status
    +
    + +

    各版本默认配置文件

    +

    Shad0ws0cks-Python 版:

    +
    /etc/shad0ws0cks-python/config.json
    +
    +

    Shad0ws0cksR 版:

    +
    /etc/shad0ws0cks-r/config.json
    +
    +

    Shad0ws0cks-Go 版:

    +
    /etc/shad0ws0cks-go/config.json
    +
    +

    Shad0ws0cks-libev 版:

    +
    /etc/shad0ws0cks-libev/config.json
    +
    +

    Shad0ws0cks 客户端

    +
    +

    Across the Great Wall we can reach every corner in the world.

    +
    +

    Shad0ws0cks 是一款轻量级 socks 代理软件,速度快,而且可以跨平台使用。 在这里假定我们已经获取到账号.

    +

    下载:

    +

    Shad0ws0cks-windows: https://github.com/Shad0ws0cks/Shad0ws0cks-windows/releases

    +

    os-x: https://github.com/Shad0ws0cks/Shad0ws0cksX-NG/releases

    +

    找到安装包解压,右键 Shad0ws0cks.exe,以管理员身份运行,在任务栏里面找到图标,右键,服务器->编辑服务器

    +

    +

    根据购买的服务器帐号信息,添加服务器 IP,端口,密码,点击确定,如果有多个账号,就点击添加,最后确定。

    +

    然后程序就会自动连接服务器.

    +

    +

    然后通过 Firefox 下的 Autoproxy 或者 Chrome 下的 SwichyOmega 之类惯用的扩展插件设置一下 SOCKS 5 代理服务

    +

    这里讲一下 Chrome 下的 SwichyOmega:

    +

    下载: +SwichyOmega:https://github.amrom.workers.devShad0ws0cks/FelisCatus/SwitchyOmega/releases

    +

    +

    下载.rcx 文件,下载完成拖入谷歌扩展程序列表安装并开启.安装完毕后会自动开启选项界面:

    +

    +

    这里有一段介绍性的教程。如果想了解 SwitchyOmega 的不妨跟着教程走一遍。

    +

    点击 proxy 情景模式:

    +

    +

    按照选择的代理服务器要求填写以上红线部分,这里用的是 Shad0ws0cks,所以代理协议选择 socks5,代理端口号为刚刚在编辑服务器时设置的本机端口号。

    +

    点击选择自动代理情景模式

    +

    +

    添加条件设置,即添加需要永久自动启动代理访问的域名:

    +

    +

    就可以使得这些域名通配符匹配的域名可以通过代理访问,永久的(即以后浏览这些网站都自动使用代理模式)。 +除了在选项界面添加条件,也可以在浏览器右上角小图标设置,如下:

    +

    +

    点击添加条件

    +

    +

    或者点击资源未加载

    +

    +

    就可以添加到自动代理模式。

    +

    但是,有些网站有时候抽风需要 fan 墙访问,有时候不需要,那就可以临时设置代理模式,默认是直接连接,如下:

    +

    +

    点击 proxy,此时,就可以访问临时需要 fan 墙的网站了。图标为时为直接连接,图标为时为代理模式。

    +

    p.s.

    +

    Shad0ws0cks 中的 0 全部 替换为 o.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/basic/resource/zsh/index.html b/basic/resource/zsh/index.html new file mode 100644 index 00000000..151f7000 --- /dev/null +++ b/basic/resource/zsh/index.html @@ -0,0 +1,287 @@ + + + + OhMyZsh - 团队领袖计划 + + +

    + OhMyZsh +

    安装 OhMyZsh

    +

    安装:

    +
    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    +
    +

    为所有用户安装 OhMyZsh

    +

    首先要确认 zsh 已经安装(Ubuntu):

    +
    sudo apt-get install zsh
    +
    +

    1.以Root用户安装

    +
    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    +
    +

    2.修改/etc/adduser.conf

    +
    DSHELL=/bin/bash #也可能是 sh
    +
    +

    为:

    +
    DSHELL=/bin/zsh
    +
    +

    3.修改/etc/default/useradd

    +
    SHELL=/bin/sh
    +
    +

    为:

    +
    SHELL=/bin/zsh
    +
    +

    4.复制配置到新用户目录

    +
    cp -r .oh-my-zsh /etc/skel/
    +cp .zshrc /etc/skel
    +
    +

    5.新建用户后,修改用户目录下的 /home/username/.zshrc

    +
    export ZSH=/root/.oh-my-zsh
    +
    +

    为:

    +
    export ZSH=/home/username/.oh-my-zsh
    +
    + +

    配置 OhMyZsh 主题和插件

    +

    配置文件路径:

    +
    ~/.zshrc
    +
    +

    搜索 ZSH_THEME= 修改主题,默认主题为 robbyrussell, 想要折腾的话,可以试试agnoster, 需要安装 PowerLine 字体

    +

    可用主题列表: https://github.com/robbyrussell/oh-my-zsh/wiki/Themes

    +

    搜索 plugins= 增改弃用的插件

    +

    可用插件列表: https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins

    +

    配置 iTerm 主题

    +

    iterm

    +

    下载安装: https://www.iterm2.com/

    +

    推荐使用Solarized, 下载地址: http://ethanschoonover.com/solarized/files/solarized.zip

    +

    解压后iterm2-colors-solarized目录下,双击即可安装

    +

    安装完成后 在 iTerm 的 Preference (左上角苹果按钮旁边点Sublime Text) -> Profiles 顶部大选项卡 -> Colors 偏右小选项卡 -> Load Presets 底部下拉菜单 启用主题

    +

    配置 Hyper 主题和插件

    +

    直接修改 ~/.hyper.js 即可.

    +

    推荐插件:

    +
    plugins: ['hyperpower', 'hyper-blink'];
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/basic/source/iterm.png b/basic/source/iterm.png similarity index 100% rename from static/basic/source/iterm.png rename to basic/source/iterm.png diff --git a/static/basic/ss/image1.png b/basic/ss/image1.png similarity index 100% rename from static/basic/ss/image1.png rename to basic/ss/image1.png diff --git a/static/basic/ss/image10.png b/basic/ss/image10.png similarity index 100% rename from static/basic/ss/image10.png rename to basic/ss/image10.png diff --git a/static/basic/ss/image11.png b/basic/ss/image11.png similarity index 100% rename from static/basic/ss/image11.png rename to basic/ss/image11.png diff --git a/static/basic/ss/image12.png b/basic/ss/image12.png similarity index 100% rename from static/basic/ss/image12.png rename to basic/ss/image12.png diff --git a/static/basic/ss/image13.png b/basic/ss/image13.png similarity index 100% rename from static/basic/ss/image13.png rename to basic/ss/image13.png diff --git a/static/basic/ss/image2.png b/basic/ss/image2.png similarity index 100% rename from static/basic/ss/image2.png rename to basic/ss/image2.png diff --git a/static/basic/ss/image3.png b/basic/ss/image3.png similarity index 100% rename from static/basic/ss/image3.png rename to basic/ss/image3.png diff --git a/static/basic/ss/image4.png b/basic/ss/image4.png similarity index 100% rename from static/basic/ss/image4.png rename to basic/ss/image4.png diff --git a/static/basic/ss/image5.png b/basic/ss/image5.png similarity index 100% rename from static/basic/ss/image5.png rename to basic/ss/image5.png diff --git a/static/basic/ss/image6.png b/basic/ss/image6.png similarity index 100% rename from static/basic/ss/image6.png rename to basic/ss/image6.png diff --git a/static/basic/ss/image7.png b/basic/ss/image7.png similarity index 100% rename from static/basic/ss/image7.png rename to basic/ss/image7.png diff --git a/static/basic/ss/image8.png b/basic/ss/image8.png similarity index 100% rename from static/basic/ss/image8.png rename to basic/ss/image8.png diff --git a/static/basic/ss/image9.png b/basic/ss/image9.png similarity index 100% rename from static/basic/ss/image9.png rename to basic/ss/image9.png diff --git a/static/basic/travis/04.01.png b/basic/travis/04.01.png similarity index 100% rename from static/basic/travis/04.01.png rename to basic/travis/04.01.png diff --git a/static/basic/travis/04.02.png b/basic/travis/04.02.png similarity index 100% rename from static/basic/travis/04.02.png rename to basic/travis/04.02.png diff --git a/static/basic/travis/05.00.png b/basic/travis/05.00.png similarity index 100% rename from static/basic/travis/05.00.png rename to basic/travis/05.00.png diff --git a/static/basic/travis/05.01.png b/basic/travis/05.01.png similarity index 100% rename from static/basic/travis/05.01.png rename to basic/travis/05.01.png diff --git a/static/basic/travis/05.02.png b/basic/travis/05.02.png similarity index 100% rename from static/basic/travis/05.02.png rename to basic/travis/05.02.png diff --git a/static/basic/travis/05.03.png b/basic/travis/05.03.png similarity index 100% rename from static/basic/travis/05.03.png rename to basic/travis/05.03.png diff --git a/static/basic/travis/06.00.png b/basic/travis/06.00.png similarity index 100% rename from static/basic/travis/06.00.png rename to basic/travis/06.00.png diff --git a/static/basic/travis/06.01.png b/basic/travis/06.01.png similarity index 100% rename from static/basic/travis/06.01.png rename to basic/travis/06.01.png diff --git a/content/settings.json b/content/settings.json deleted file mode 100644 index b294c011..00000000 --- a/content/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "title": "团队领袖计划", - "url": "https://leader.js.cool", - "github": "willin/leader.js.cool" -} diff --git a/content/zh/basic/algorithm/categories.md b/content/zh/basic/algorithm/categories.md deleted file mode 100644 index d9271a63..00000000 --- a/content/zh/basic/algorithm/categories.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: 无限层级目录算法 -description: '' -position: 1804 -category: 知识篇-算法入门(使用ES 6/7) ---- - -# 设计 1 - -核心字段 - -| Column | Desc | -| --------- | ----------- | -| oid | 组织 id | -| name | 组织名称 | -| parentoid | 上级组织 id | -| rootoid | 根组织 id | - -测试数据, 一个复杂组织目录(根据 `oid = 47378` 查出): - -test1.json - -## 树形结构生成 - -期望结果: - -tree1.json - -递归方法: - -```js -// 将测试数据保存 -const orgs = require('./test1.json'); - -// 递归 -const loop = (list, oid, isRoot = true) => { - const c = list - .filter((x) => oid === (isRoot ? x.oid : x.parentoid)) - .map((x) => { - // 问题1: 每次都将数组完整传入遍历 - x.children = loop(list, x.oid, false); - return x; - }); - // 问题2: 循环次数最多 n^n 次 - return c; -}; - -console.log(JSON.stringify(loop(orgs, 47378), null, 2)); -``` - -# 设计 2 - -核心字段 - -| Column | Desc | -| --------- | ----------- | -| oid | 组织 id | -| name | 组织名称 | -| parentoid | 上级组织 id | -| rootoid | 根组织 id | -| depth | 层级深度 | - -测试数据, 一个复杂组织目录(根据 `oid = 47378` 查出): - -test2.json - - - -## 树形结构生成 - -期望结果: - -tree2.json - -循环算法: - -```js -// 将测试数据保存 -const orgs = require('./test2.json'); - -const loop = (list) => { - const sorted = list.sort((x, y) => (x.depth < y.depth ? 1 : -1)); - // 计算深度 - const depth = sorted[0].depth; - const items = {}; - // 分级遍历, 问题1: 空间复杂度 - for (let i = 1; i <= depth; i += 1) { - items[i] = list.filter((x) => x.depth === i); - } - // 循环自下而上遍历 - for (let i = depth; i > 1; i -= 1) { - items[i] = items[i].forEach((x) => { - const parentNode = items[i - 1].findIndex((y) => y.oid === x.parentoid); - items[i - 1][parentNode].children = (items[i - 1][parentNode].children || []).concat(x); - }); - } - // 循环次数: CN(Depth) - return items[1]; -}; - -console.log(JSON.stringify(loop(orgs), null, 2)); -``` - -# BenchMark - -使用`matcha`进行性能测试 - -```js -suite('Categories', function () { - bench('test 1', function () { - loop1(orgs1, 47378); - }); - bench('test 2', function () { - loop2(orgs2); - }); -}); -``` - -``` - Categories - 2,620 op/s » test 1 - 531 op/s » test 2 -``` diff --git a/content/zh/basic/algorithm/find-the-odd-int.md b/content/zh/basic/algorithm/find-the-odd-int.md deleted file mode 100644 index 2e7e9a3c..00000000 --- a/content/zh/basic/algorithm/find-the-odd-int.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: 查找单数 -description: '' -position: 1803 -category: 知识篇-算法入门(使用ES 6/7) ---- - -## 题目 1 - -Given an array, find the int that appears an odd number of times. - -There will always be only one integer that appears an odd number of times. - -Examples: - -``` -[20,1,-1,2,-2,3,3,5,5,1,2,4,20,4,-1,-2,5] => 5 - -[1,1,2,-2,5,2,4,4,-1,-2,5] => -1 -``` - -题目地址: - -### 思路 - -数组过滤,单数的特征是首次出现的下标和最后一次出现的下标差值为奇数。 - -答案: - -```js -const findOdd = (arr) => arr.sort().filter((x) => (arr.lastIndexOf(x) - arr.indexOf(x)) % 2 === 0)[0]; -``` - -其中: - -- `Array.prototype.filter`是 ES 6 的特性。 - -## 题目 2 - -Given an array of integers, every element appears twice except for one. Find that single one. - -Note: - -> Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? - -问题描述: - -给出一个奇数位的数组, 所有元素都出现了两次,除了其中的一个数,找出这个孤立的数. - -例子: `[1,2,3,2,1,4,4]` 可能是数十万条记录的数组 - -输出应该为: `3` - -要求:设计的算法是线性的复杂度,并且不要用额外的内存空间。 - -原题地址: - -### 解题思路 - -异或运算的几个相关公式: - -1. a ^ a = 0 -2. a ^ b = b ^ a -3. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c -4. d = a ^ b ^ c 可以推出 a = d ^ b ^ c -5. a ^ b ^ a = b - -本题可以抽象成:int 数组里有 x1, x2 … xn(每个出现 2 次),和 y(只出现一次),得出 y 的值。 - -由公式 2 可知,数组里面所有数异或的结果等于 x1^x1^x2^x2^…^xn^xn^y - -由公式 3 可知,上式等于(x1^x1)^(x2^x2)^…^(xn^xn)^y - -由公式 1 可知,上式等于(0)^(0)^…(0)^y = y - -因此只需要将所有数字异或,就可得到结果。 - - - -答案: - -```js -/** - * @param {number[]} nums - * @return {number} - */ -const singleNumber = (nums) => nums.reduce((x, y) => x ^ y); -``` diff --git a/content/zh/basic/algorithm/find-the-stray-number.md b/content/zh/basic/algorithm/find-the-stray-number.md deleted file mode 100644 index 8e06b03a..00000000 --- a/content/zh/basic/algorithm/find-the-stray-number.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: 查找散杂数 -description: '' -position: 1802 -category: 知识篇-算法入门(使用ES 6/7) ---- - -## 题目 - -You are given an odd-length array of integers, in which all of them are the same, except for one single number. - -Implement the method stray which accepts such array, and returns that single different number. - -The input array will always be valid! (odd-length >= 3) - -Examples: - -``` -[1, 1, 2] => 2 - -[17, 17, 3, 17, 17, 17, 17] => 3 -``` - -题目地址: - - - -## 思路一 - -数组过滤,散杂数的特征是首次出现的下标和最后一次出现的下标应保持一致(仅出现一次)。 - -答案: - -```js -const stray = (arr) => ~~arr.filter((x) => arr.indexOf(x) === arr.lastIndexOf(x)).join(''); -``` - -其中: - -- `Array.prototype.filter`是 ES 6 的特性。 -- 结果为数组,先变成字符串(用`Array.prototype.join`),再强制类型转换为数字(用`~~`) - -## 思路二 - -注意题干中提到了 `odd` 奇数个,可以用位运算来求不同值。 - -答案: - -```js -const stray = (nums) => nums.reduce((a, b) => a ^ b); -``` - -其中: - -- `Array.prototype.reduce` 为 ES 6 特性,可以参考 Map/Reduce 相关教程。 diff --git a/content/zh/basic/algorithm/sum-of-odd-numbers.md b/content/zh/basic/algorithm/sum-of-odd-numbers.md deleted file mode 100644 index b4005ae4..00000000 --- a/content/zh/basic/algorithm/sum-of-odd-numbers.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: 奇数求和 -description: '' -position: 1801 -category: 知识篇-算法入门(使用ES 6/7) ---- - -## 题目 - -Given the triangle of consecutive odd numbers: - -``` - 1 - 3 5 - 7 9 11 - 13 15 17 19 -21 23 25 27 29 -``` - -Calculate the row sums of this triangle from the row index (starting at index 1) e.g.: - -```js -rowSumOddNumbers(1); // 1 -rowSumOddNumbers(2); // 3 + 5 = 8 -``` - -题目地址: - -## 解题思路 - -当成数学题来做。 - -``` -第1行,1个数求和; -第2行,2个数; -第3行,3个数; - -...... - -第N行,N个数。 -``` - -每一行,首尾数分别为: - -``` -1: N -2: N+1 2N+1 -3: 2N+1 3N+2 - -...... - -N: (N-1)*N+1 (N+1)*N-1 -``` - -求和公式: - -``` -(首项 + 末项) * 项数 / 2 -``` - -即: - -``` - ((N-1)*N+1 + (N+1)*N-1) * N / 2 -= 2 * N * N * N / 2 -= N^3 //(此处^不表示xor位运算,表示幂) -``` - - - -答案: - -```js -const rowSumOddNumbers = (n) => Math.pow(n, 3); -``` diff --git a/content/zh/basic/db/graphql.md b/content/zh/basic/db/graphql.md deleted file mode 100644 index 7abd3a07..00000000 --- a/content/zh/basic/db/graphql.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: GraphQL -description: '' -position: 1604 -category: 知识篇-DB ---- - -# 安装 - -准备工作: - -- 数据库环境(MySQL, MongoDB) -- Node.js (版本大于 v7.6.0) - -本章节示例项目源码位于: - -安装各类依赖,养成良好习惯,第一步从`eslint`起. - -!> 另外, 不建议安装`Babel`来转译服务器端的代码,因为最新的 Node.js 版本已经支持了很多 ES7 的新特性. - -# 定义结构(Schema) - -graphql-tools 定义结构(Schema): - -使用 graphql-tools 自动生成结构: - -```js -const typeDefs = ` -type Author { - id: Int - firstName: String - lastName: String - posts: [Post] -} -type Post { - id: Int - title: String - text: String - views: Int - author: Author -} -type Query { - author(firstName: String, lastName: String): Author - post(title: String): Post - getFortuneCookie: String -} -schema { - query: Query -} -`; -``` - -## Schema 扩展阅读 - -如果不使用该工具自动生成, 而是想要自己定义完整的数据结构, 可以参考: - -也可以在后面进阶的章节中了解: [MySQL 向 GraphQL 迁移](/#/experience/advanced/mysql-graphql) - -# 快速搭建原型服务器(Mocked Server) - -graphql-serve: - -本文中分别使用 `express` 和 `koa` 做了两个服务器. - -```js -// express -const express = require('express'); -const { graphqlExpress, graphiqlExpress } = require('graphql-server-express'); -const bodyParser = require('body-parser'); -const schema = require('./schema'); - -const GRAPHQL_PORT = 3000; - -const graphQLServer = express(); - -graphQLServer.use('/graphql', bodyParser.json(), graphqlExpress({ schema })); -graphQLServer.use('/graphiql', graphiqlExpress({ endpointURL: '/graphql' })); - -graphQLServer.listen(GRAPHQL_PORT, () => console.log(`GraphQL Server is now running on http://localhost:${GRAPHQL_PORT}/graphql`)); -``` - - - -```js -// koa -const Koa = require('koa'); -const KoaRouter = require('koa-router'); -const koaBody = require('koa-bodyparser'); -const { graphqlKoa, graphiqlKoa } = require('graphql-server-koa'); -const schema = require('./schema'); - -const app = new Koa(); -const router = new KoaRouter(); -const PORT = 3000; - -// koaBody is needed just for POST. -app.use(koaBody()); - -router.all('/graphql', graphqlKoa({ schema })); -router.all('/graphiql', graphiqlKoa({ endpointURL: '/graphql' })); - -app.use(router.routes()); -app.use(router.allowedMethods()); -app.listen(PORT); -``` - -# 连接 SQL 数据库 - -使用 `sequelize` - -```js -const db = new Sequelize('blog', 'root', 'root', { - dialect: 'mysql', - host: 'localhost' -}); - -const AuthorModel = db.define('author', { - firstName: { type: Sequelize.STRING }, - lastName: { type: Sequelize.STRING } -}); - -const PostModel = db.define('post', { - title: { type: Sequelize.STRING }, - text: { type: Sequelize.STRING } -}); - -AuthorModel.hasMany(PostModel); -PostModel.belongsTo(AuthorModel); - -// create mock data with a seed, so we always get the same -casual.seed(123); -db.sync({ force: true }).then(() => { - _.times(10, () => - AuthorModel.create({ - firstName: casual.first_name, - lastName: casual.last_name - }).then((author) => - author.createPost({ - title: `A post by ${author.firstName}`, - text: casual.sentences(3) - }) - ) - ); -}); - -const Author = db.models.author; -const Post = db.models.post; -``` - -# 连接 MongoDB - -使用 `mongoose` - -```js -// somewhere in the middle: -Mongoose.connect('mongodb://localhost/views'); - -const ViewSchema = Mongoose.Schema({ - postId: Number, - views: Number -}); - -const View = Mongoose.model('views', ViewSchema); -``` - -# 从 GraphQL 中使用 REST 服务 - -```js -const FortuneCookie = { - getOne() { - return fetch('http://fortunecookieapi.herokuapp.com/v1/cookie') - .then((res) => res.json()) - .then((res) => res[0].fortune.message); - } -}; -``` - -# 编写解决器(Resolver) - -![graphql](https://user-images.githubusercontent.com/1890238/28000944-9c4c3f32-64ee-11e7-902e-cbf3a01d90e2.png) - -GraphQL 后边可以连接各种持久化存储,甚至 RESTful 远程资源. - -```js -const { Author, View, FortuneCookie } = require('./connectors'); - -const resolvers = { - Query: { - author(_, args) { - // MySQL - return Author.find({ where: args }); - }, - getFortuneCookie() { - // 远程REST服务 - return FortuneCookie.getOne(); - } - }, - Author: { - posts(author) { - return author.getPosts(); - } - }, - Post: { - author(post) { - return post.getAuthor(); - }, - views(post) { - // MongoDB - return View.findOne({ postId: post.id }).then((view) => view.views); - } - } -}; - -module.exports = resolvers; -``` diff --git a/content/zh/basic/db/mysql.md b/content/zh/basic/db/mysql.md deleted file mode 100644 index ee85967c..00000000 --- a/content/zh/basic/db/mysql.md +++ /dev/null @@ -1,201 +0,0 @@ ---- -title: MySQL 5 -description: '' -position: 1601 -category: 知识篇-DB ---- - -## 查询优化 - -### LIMIT 1 - -单条数据查询 - -```sql -SELECT uid FROM ?? WHERE email = ? LIMIT 1 -``` - -或单条记录更改 - -```sql -UPDATE ?? SET lastonline = if(updatedat < ? , ? , lastonline), ? WHERE did = ? LIMIT 1 -``` - -或单条记录删除,加 `LIMIT 1`。 - -## SELECT 嵌套 SELECT - -如: - -```sql -SELECT did,type, - (select username from ?? as t1 where t1.uid = fromuid LIMIT 1) username, - (select email from ?? as t1 where t1.uid = fromuid LIMIT 1) email, -FROM ?? WHERE --xxx -``` - -优化为: - -```sql -SELECT t1.`type`,t1.did,t2.username,t2.email FROM ?? - LEFT JOIN ?? ON t1.touid=t2.uid -WHERE --xxx -``` - - - -## 多次 JOIN - -```sql -SELECT - `t1`.`xxx`, - `t1`.`xxx`, - `t2`.`xxx`, - `t2`.`xxx`, - `t3`.`xxxx`, - `t3`.`xxx`, - `t4`.`xxx`, - `t5`.`xxxx` -FROM (((?? `t1` - left join ?? `t2` on((`t1`.`did` = `t2`.`did`))) - left join ?? `t3` on((`t1`.`did` = `t3`.`did`))) - left join ?? `t4` on((`t4`.`username` = `t1`.`did`))) - left join ?? `t5` on((`t1`.`did` = `t5`.`did`))) -WHERE --xxx; -``` - -80 条记录结果的查询约 40s,拆分查询,t1-t3 主要查询,t4、t5 表的数据只在部分记录中需要,分别做两次查询,共计三次查询,优化后查询总耗时 1s 以内。 - -## 表结构优化 - -### 引擎 - -如果需要用事务用 `InnoDB`。 - -如果对查询效率要求高用`MyISAM`。 - -### 表结构优化 - -基于 `MyISAM` 引擎。 - -- 避免使用自增 ID; -- 避免使用`datetime`,而用`int`(Unix Timestamp); -- `char`与`varchar`的选择,追求极致查询性能用`char`,追求空间成本用`varchar`; -- 避免使用`text`,而用`blob`; -- 避免使用`外键`; -- 不允许空 `null`; -- 如果查询的 WHERE 条件有多个字段,应该创建`联合索引`。 - -## 百万量级性能比较 - -项目源码: - -### GUID 插入性能损耗 - -毫无疑问,使用自增 ID 的查询性能更好。 - -但使用 GUID 后插入性能损耗是多少呢? - -``` - insert with_id ................................. 131 op/s - insert with_guid ............................... 75 op/s -``` - -结果来自于百万条数据,每千条为拆分进行的插入性能(下文的插入同)。 - -### 时间戳(Timestamp) vs 日期时间(DateTime) - -``` - insert with_timestamp .......................... 123 op/s - insert with_datetime ........................... 66 op/s - select with_timestamp .......................... 538 op/s - select with_datetime ........................... 430 op/s -``` - -插入和查询均为 `Timestamp` 更优。 - -```js -bench('insert with_timestamp', (next) => { - let sql = 'INSERT INTO `with_timestamp`(timestamp) VALUES '; - for (let i = 0; i < 1000; i += 1) { - sql += `(${parseInt(new Date() / 1000 - i * 86400, 10)})`; - if (i !== 999) { - sql += ','; - } - } - connection.query(sql, next); -}); - -bench('insert with_datetime', (next) => { - let sql = 'INSERT INTO `with_datetime`(datetime) VALUES '; - for (let i = 0; i < 1000; i += 1) { - sql += `('${new Date(new Date() - i * 86400000).format('yyyy-MM-dd hh:mm:ss')}')`; - if (i !== 999) { - sql += ','; - } - } - connection.query(sql, next); -}); - -bench('select with_timestamp', (next) => { - const sql = `SELECT * FROM \`with_timestamp\` WHERE \`timestamp\` > ${parseInt(new Date() / 1000 - 2 * 86400, 10)} AND \`timestamp\` < ${parseInt( - new Date() / 1000 - 86400, - 10 - )}`; - connection.query(sql, next); -}); - -bench('select with_datetime', (next) => { - const sql = `SELECT * FROM \`with_datetime\` WHERE \`datetime\` BETWEEN '${new Date(new Date() - 2 * 86400000).format( - 'yyyy-MM-dd hh:mm:ss' - )}' AND '${new Date(new Date() - 86400000).format('yyyy-MM-dd hh:mm:ss')}'`; - connection.query(sql, next); -}); -``` - -### Char vs VarChar - -``` - 90 op/s » insert with_char - 97 op/s » insert with_varchar - 308 op/s » select with_char - 298 op/s » select with_varchar -``` - -查询性能平分秋色。多次测试发现`char`的查询性能略高于`varchar`。 -而主要区别在于: - -- VarChar 存储空间:27.5MB -- Varchar 索引空间:19.5MB -- Char 存储空间:34.6MB -- Char 索引空间:51.6MB - -MyISAM 引擎查询性能结果: - -``` - 64 op/s » insert with_char - 43 op/s » insert with_varchar - 210 op/s » select with_char - 185 op/s » select with_varchar -``` - -MyISAM 下查询性能`char`更优。(实例代码中将`ENGINE`替换,并删除已有表跑测试即可) - -### Blob vs Text - -``` - 101 op/s » insert with_text - 104 op/s » insert with_blob - 167 op/s » select with_text - 180 op/s » select with_blob -``` - -`Blob`略高一筹。存储方面两者基本使用相同。 - -## 其他 - -阿里云 RDS DMS 工具: - -阿里云 RDS 性能优化工具: - -![Image](/basic/db/mysql.png) diff --git a/content/zh/basic/db/mysql8.md b/content/zh/basic/db/mysql8.md deleted file mode 100644 index c646fb13..00000000 --- a/content/zh/basic/db/mysql8.md +++ /dev/null @@ -1,317 +0,0 @@ ---- -title: MySQL 8 -description: '' -position: 1602 -category: 知识篇-DB ---- - -MySQL 8.0 挖坑指南。 - -最近项目中尝试使用 MySQL 8.0 的新特性 Document Store,但没有什么现成的项目案例,所以会持续踩一些坑。 - -## 参考文档 - -- 官方提供的 npm 包:`@mysql/xdevapi` - - -- TS 封装: `mysqlx` - - - -官方文档: - -- -- -- - - - -## 创建索引 - -```js -await db.getCollection(TABLE).createIndex('card_id', { - fields: [ - { - field: '$.card_id', - type: 'TEXT(40)', - required: true - } - ] -}); -``` - -创建索引后会生成一个类似于 `$ix_t40_r_83B1B843CAF9C969DC1795BB1891E21C1BC12246` 的虚拟字段(VIRTUAL COLUMN)。 - -```js -['$ix_t40_r_83B1B843CAF9C969DC1795BB1891E21C1BC12246', 'text', 'NO', 'MUL', null, 'VIRTUAL GENERATED']; -``` - -## 创建唯一索引 - -目前(2020.07)还不能够创建文档类型的唯一索引。 - -```js -await db.getCollection(TABLE).createIndex('card_id', { - unique: true, - fields: [ - { - field: '$.card_id', - type: 'TEXT(40)', - required: true - } - ] -}); -``` - -目前会报错: - -```bash -Error: Unique indexes are currently not supported. - at Object.createIndex (/XXX/node_modules/@mysql/xdevapi/lib/DevAPI/Collection.js:347:39) - at module.exports (/XXX/db/user.js:17:8) - at processTicksAndRejections (internal/process/task_queues.js:97:5) - at async module.exports (/XXX/db/index.js:20:3) -``` - -该部分源码位于: - -```js -if (constraint.unique === true) { - return Promise.reject(new Error('Unique indexes are currently not supported.')); -} -``` - -## 文档数据操作 - -示例代码: - -```js -// 两个库提供的接口相同,下一个是 TS 封装(可能会定义不全) -import mysqlx from '@mysql/xdevapi'; -// import mysqlx from 'mysqlx'; - -const client = mysqlx.getClient( - { - host: 'localhost', - port: 33060, - user: 'root', - password: 'root' - }, - { - pooling: { - enabled: true, - // maxIdleTime: 30000, - maxSize: 25 - // queueTimeout: 10000 - } - } -); - -async function main(): Promise { - const session = await client.getSession(); - - const db = session.getSchema('world_x'); - - const collection = db.getCollection('demo'); - const result = await collection.add({ test: 'demo02' }).add({ test: 'demo03' }).execute(); - - console.log(result); - // OperationResult { - // xResult: { - // getWarnings: [Function: getWarnings], - // getWarningsCount: [Function: getWarningsCount], - // getAffectedItemsCount: [Function: getAffectedItemsCount], - // getAffectedRowsCount: [Function: deprecated], - // getAutoIncrementValue: [Function: getAutoIncrementValue], - // getGeneratedIds: [Function: getGeneratedIds] - // } - // } -} - -main(); -``` - -其他示例可以参考项目: - -## Tips - -### Count / 记录总数 - -Collection 总记录数: - -```js -const session = await mysqlx.getSession().then((session) => session.getSchema('SCHEMA_NAME').getCollection('COLLECTION_NAME')); -const total = await session.count(); -``` - -根据条件查询的结果条数: - -```js -const counter = await session.find().fields(['COUNT(1) as count']).execute(); -const total = counter.fetchOne().count; -``` - -### Pagination / 分页 - -以 `Koa` 分页请求为例: - -```js -const { page, size } = ctx.query; -const session = await Card.getSession(); - -// 计算页数 -// const counter = await session.find().fields(['COUNT(1) as count']).execute(); -// const total = counter.fetchOne().count; -const total = await session.count(); - -const pages = Math.ceil(total / size); - -// 执行 Select -const query = session - .find() - .sort(['$.created_at DESC']) - .limit(size) - .offset((page - 1) * size); - -const result = await query.execute(); -const list = result.fetchAll(); - -ctx.success({ page, size, total, pages, list }); -``` - -## Model 封装 - -封装 `Add`、`Modify`、`Remove`、`FindOne`和`getSession`,不包含 `Find `。 - -### Utils.js - -```js -/** - * 获取UNIX标准时间戳 - * @return {int} UNIX标准时间戳 - */ -const getTimestamp = (t = new Date()) => parseInt(new Date(t).getTime() / 1000, 10); - -exports.createObj = (obj) => ({ - ...obj, - created_at: getTimestamp(), - updated_at: getTimestamp() -}); - -exports.updateObj = (obj) => ({ - ...obj, - updated_at: getTimestamp() -}); -``` - -### Model.js - -```js -const mysqlx = require('@mysql/xdevapi'); - -// 创建连接池 -const client = mysqlx.getClient( - { - host: 'localhost', - port: 33060, - user: 'root', - password: 'root' - }, - { - pooling: { - enabled: true, - maxIdleTime: 30000, - maxSize: 25, - queueTimeout: 10000 - } - } -); - -const { createObj, updateObj } = require('./_utils'); - -const DB_NAME = 'DATABASE_TEST'; - -const models = []; - -class Model { - constructor(TABLE) { - this.TABLE = TABLE; - } - - getSession() { - return mysqlx.getSession().then((session) => session.getSchema(DB_NAME).getCollection(this.TABLE)); - } - - async add(item) { - const session = await mysqlx.getSession(); - const db = session.getSchema(DB_NAME).getCollection(this.TABLE); - return db.add(createObj(item)).execute(); - // { - // getWarnings: [Function: getWarnings], - // getWarningsCount: [Function: getWarningsCount], - // getAffectedItemsCount: [Function: getAffectedItemsCount], - // getAutoIncrementValue: [Function: getAutoIncrementValue], - // getGeneratedIds: [Function: getGeneratedIds] - // } - } - - async findOne(key, val) { - const session = await mysqlx.getSession(); - const db = session.getSchema(DB_NAME).getCollection(this.TABLE); - return db - .find(`${key} = :${key}`) - .bind(key, val) - .limit(1) - .execute() - .then((x) => x.fetchOne()); - } - - async modify(id, item) { - const session = await mysqlx.getSession(); - const db = session.getSchema(DB_NAME).getCollection(this.TABLE); - return db.modify('_id = :id').bind('id', id).patch(updateObj(item)).execute(); - } - - async remove(id) { - const session = await mysqlx.getSession(); - const db = session.getSchema(DB_NAME).getCollection(this.TABLE); - return db.remove('_id = :id').bind('id', id).limit(1).execute(); - } -} - -module.exports = new Proxy( - {}, - { - get(_, property = '') { - const TABLE = property.toLowerCase(); - if (!models[TABLE]) { - models[TABLE] = new Model(TABLE); - } - return models[TABLE]; - } - } -); -``` - -### 示例代码 - -```js -const model = require('.@model'); - -model.collection1 - .add({ - key: 'key', - value: 'test' - }) - .then((x) => { - console.log('Warnings:', x.getWarningsCount()); - console.log('AffectedItems', x.getAffectedItemsCount()); - console.log('getAutoIncrementValue', x.getAutoIncrementValue()); - console.log('getGeneratedIds', x.getGeneratedIds()); - }); - -model.collection1.modify('_id_xxx', { value: 'test22222' }).then((x) => { - console.log('Warnings:', x.getWarningsCount()); - console.log('AffectedItems', x.getAffectedItemsCount()); - console.log('getAutoIncrementValue', x.getAutoIncrementValue()); - console.log('getGeneratedIds', x.getGeneratedIds()); -}); -``` diff --git a/content/zh/basic/db/redis.md b/content/zh/basic/db/redis.md deleted file mode 100644 index 5d1e9cdb..00000000 --- a/content/zh/basic/db/redis.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Redis -description: '' -position: 1603 -category: 知识篇-DB ---- - -## 代码示例 - -一般 Redis 里存储的数据需要一个默认的 TTL,即到期删除,尽可能避免无用数据长期存储。 - -```js -const redis = require('@dwing/redis'); - -const client = redis({ - host: '127.0.0.1', - port: 6379, - db: 0 -}); - -(async () => { - // 推荐 - await client.set('trial:127.0.0.1', 1, 900); - - // 或 - - // 需要注意,如果该`key`之前已存在,且ttl已设置,重新set之后,ttl会变成-1(永久); - await client.set('trial:127.0.0.1', 1); - // TTL: 900s - await client.expire('trial:127.0.0.1', 900); -})(); -``` - - - -## 注意事项 - -- 设置 TTL,默认超时时间 -- Value 值为字符串,如果 JSON 数据存之前要`JSON.stringify`,取之后要`JSON.parse` -- 具体 Redis 命令参数参考 diff --git a/content/zh/basic/device.md b/content/zh/basic/device.md deleted file mode 100644 index a717e2bb..00000000 --- a/content/zh/basic/device.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: 笔记本、台式机、平板二合一?Mac、Win、Linux? -menuTitle: 电脑/系统的选择 -description: '' -position: 100 -category: '知识篇' ---- - -## 电脑选型 - -根据日常使用的需求进行选择,笔记本、台式机、平板和二合一电脑我都有尝试过,目前而言,最适合我个人的是笔记本。 - -### 笔记本 - -如果你犹豫笔记本和台式机,选择笔记本;如果你犹豫笔记本和二合一电脑,选择笔记本。笔记本电脑比较中规中矩,是绝大多数场景下都可以作为第一或者备选方案的选择。 - -在选择笔记本的时候,需要重点考虑如下几个因素: - -- 性能(如 CPU、内存、显卡是否能满足需求) -- 散热(大部分的轻薄本都是热水袋,需要重点关注) -- 续航(如果有移动办公的需求) -- 屏幕尺寸(不再推荐 16:9 比例及 2k 以下分辨率的屏幕,看着很难受) -- 重量(Mac Mini 的重量为 1.2Kg) - -其他非关键的因素也可以作为参考: - -- 键盘(手感、键程等) -- 触控板(是否支持多指手势) -- 色域、亮度(设计领域需要重点关注) - -大部分纠结选择苹果或者其他的,其实只需要关注预算就好了。 - -### 台式机 - -#### 苹果 - -推荐 iMac 5k,正所谓买显示器送电脑,苹果台式机的显示器是真的好。当然如果 ¥ 不是问题,也可以采用 Mac Pro + Pro Display XDR 的方案。 - -我使用 iMac 5k 2019 两三年的时间,配合飞利浦的 4k 显示器双屏办公。定制了 i9 的处理器,自行安装了 64G (32\*2) 内存条,整体下来 3 万左右的价格,并没有笔记本的顶配贵,但是真心性能强悍,也不用担心散热的问题,两个大屏看着很爽,开发效率真的很高。 - -劣势: - -- 不方便携带(我搬过两次,还要额外打包一台显示器,简直要了老命) -- 不方便共享,别人开会抱着笔记本就进会议室了,我拿着笔记本(和笔)进会议室 -- 断电问题,虽然不常见,而且大部分有自动保存。但有一段时间在公司电力不稳定关机了几次,还是很吐血的 - -除去以上我在使用过程中的问题,其他剩下的都是优点了。 - -#### 组装机 - -我也有过一段时间攒了一台台式机,配了一个带鱼曲面屏。游戏体验还不错,如果愿意折腾,不怕麻烦的话,Win、Linux、黑苹果三种系统也是可以通吃的。 - -劣势与 iMac 基本相同,除此之外: - -- 兼容性(需要折腾,比如想要完美黑苹果,或者安装其他发行版本的 Linux) - -优势: - -- 性价比高,自己攒更便宜 -- 可定制性强,如果你喜欢 RGB 彩灯什么的,酷炫机箱外观啥的,虽然实用性不强,但装起来贼拉风 - -如果是为了娱乐游戏,攒一台高配性价比很高;如果是为了公司成本考虑,也算挺不错;但是作为个人生产力而言,并不推荐,需要关注的因素太多了,而且这些因素毫无生产力和效率可言。 - -### 笔记本平板二合一 - -我个人的理解,或许是适合有一些偏设计或者产品的人士。之前我用的是台电的二合一,性能虽然比较低,但是玩 LOL 什么的还是挺流畅的。给我留下最大的印象就是充电慢、耗电快。有的时候插着电边充边用还能整没电了。 - -优势: - -- 方便携带 -- 支持触控(或手写笔) - -缺点: - -- 性能低 -- 接口(如 USB、HDMI、Type-C 等)少 - -如果有手写笔记、画画绘制灵感之类的,可以考虑一下。当然,其实如果没有特殊的需求,平板已经能够满足这部分的需求了。另外,真正可以选择的并不多,有华为 Matebook E 2022, 微软 Surface 系列,联想 Yoga 之类的。像戴尔 XPS 二合一虽然有触屏,但键盘不可拆卸。国产千元机形形色色,垃垃圾圾。 - -### 平板 - -顺带着提一下平板, Linux 平板(如 JingPad)还没有尝试过,不知道会不会有惊艳的体验。 - -平板可能更适合作为设计工具,但不太适合作为开发工具。我用过 iPad Pro 去尝试搭建各种开发环境,与 macOS 体验相差甚远。 - -目前有两种解决方案,一种是远程桌面控制家里的闲置电脑(或者云桌面)。该方案就涉及到了频率分辨率显示、网络延迟、屏幕键盘操作等问题。另外一种是远程服务器配置好开发环境,如 VS Code Web 版。都挺折腾的。 - -华为平板电脑模式(手机也有),配合外接大屏也是一种方案,但是分辨率只能是 1080P,而且虽然可以跑类似于 Termux 之类的 Linux 模拟器,但实践中问题还是挺多的。 - -目前的阶段,还没有达到可以通过移动设备进行完美开发。偶尔带着玩玩倒是可以。 - -## 设备 - -### 单设备还是多设备 - -有一段时间,我在家里用台式机,在公司用笔记本。两台主力开发电脑还是比较麻烦的,因为我并不会把所有的代码都提交到 Git 上。有一些本地写的临时 Demo 是忽略掉的。另外就是配置参数(环境变量)之类的,还需要同步。聊天信息不同步,本地素材资源需要额外的同步等等。 - -工具应当是用来提升生产力而不是降低生产力,所以对于我个人而言,麻烦比方便更多。我目前的理想状态是,在家里有一台 Macbook 配合一个大屏显示器,在外面带一个 iPad 随航充当一个副屏临时使用,就足矣。 - -### 显示器 - -选择显示器一般会纠结高分屏还是高刷新率,或者是大屏还是带鱼屏。 - -对于没有娱乐游戏需求的我而言,高分辨率会比刷新率更适合办公。高分屏我更倾向于 16:10 (暂未找到合适的 4k 显示器产品) 或者 3:2 (目前也仅有华为的 Mateview)的比例,退而求其次,我推荐带有 90w type-c 反向充电的显示器。当下飞利浦的显示器,还提供了 RJ45 千兆网口,非常不错的选择。 - -带鱼屏的话,32:9 比例,一个屏当两个用,更加适合分屏。但使用了带鱼屏,尤其是曲面带鱼屏(如三星玄龙骑士 G9 1000R 曲率),就决定了只能拥有一块工作屏幕。并且对于作为笔记本外接屏幕来说就比较不友好了。 - -台式机的话,可以用两台大屏的组合,或者 iMac 5k 自带显示器再带一块大屏。笔记本的话原则上来说另外接一个大屏够用(针对 Macbook 屏幕显示质量而言)。 - - - -## 操作系统 - -仅代表我个人开发使用的心得与经验。纯粹个人好恶,仅供参考。 - -### Windows - -我是从 11 年正式加入 Mac OS X 阵营,在此之前折腾过一段时间黑苹果。后来 Windows 仅在公司配备的办公电脑及平板二合一电脑中使用过一些,所以对于一些新鲜效率工具方面可能了解欠缺一些。 - -从我自己的使用观感来看, Windows 开发需要配合 Linux 子系统 (WSL),所以系统里会存在多个 Shell 环境(如 Powershell、安装的 Git Shell、子系统的 Bash/Zsh 等等),使用起来非常不友好。并且在终端工具下复制、粘贴快捷键,选中状态等,都会让我头痛。这就极大程度上影响了我的开发效率。 - -优势: - -- 软件丰富(尤其是包含 GUI 图形界面的软件)且操作简单 -- 兼顾办公与娱乐 - -劣势: - -- 软件多也面临着垃圾软件更多的风险 -- 脚本/命令行处理 -- 文件管理/权限(比如删除文件遍历所有目录及文件,比如与 Linux 服务器上的文件权限策略不一致等) - -不喜欢 Windows 的主要原因,是我觉得 GUI 是不可靠的,而且 GUI 很难去完成完整且复杂的功能操作。相较于图形界面,我更喜欢通过命令行来完成我的操作。 - -### Linux 发行版 - -我也尝试过很多 Linux 发行版本,大部分使用的时间都不会超过半年,用着用着的过程中,会遇到一些不重装都解决不了的问题。而且很多软件,并不提供 Linux 的版本,即便提供了,也可能不适配我当前使用的发行版本。小到输入法,办公聊天软件等,普遍存在,还无解。 - -现在在公司里,我装的是 Manjaro (一个基于 Arch Linux 的发行版本),支持了滚动升级,一般情况下不会出现问题,但还是有一些非常影响体验的,我这里列举几个: - -- 虚拟机(已成开机必须打开的,用钉钉之类的聊天沟通)内外双向的复制粘贴,经常会失灵,导致整个系统卡住 -- Docker(不是容器服务那个 Docker) 和状态栏,需要手动配置,而且在每个屏幕下都需要单独配置,还经常会失灵(比如出现透明度问题、时间停止、应用程序菜单不显示等等) -- 睡眠不能唤醒,偶尔无法关机,极少数情况下也会莫名其妙突然自动重启,可能跟驱动不全有关 - -虽然问题很多,但依然勉强能用。毕竟该方案的体验接近 macOS,环境接近服务器,性价比极高。 - -值得一提的是,可玩性更强一些,整个系统界面 UI 都可以灵活地配置,可以像 macOS 有全局的顶部状态栏和 Docker,也可以像 Windows 一样只有一个底部的状态栏。愿意折腾的话,是比 macOS 更个性的。 - -### macOS - -用了十余年,最大的感受就是:省心,也省事。虽然这几年更新下来感觉变化不太大,小问题越来越多,但目前依然是最适合开发的系统,没有之一。我这里指的是白苹果,黑苹果会有更多兼容性的问题,喜欢折腾的话可以试试。毕竟苹果一直性价比不太高,但能接受。 - -对于苹果的系统,这里就不过多阐述了,毕竟后续文章中的资源和示例,大多都是在 mac os 下完成的。 diff --git a/content/zh/basic/framework/chatgpt.md b/content/zh/basic/framework/chatgpt.md deleted file mode 100644 index 10ce4bc1..00000000 --- a/content/zh/basic/framework/chatgpt.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: ChatGPT -description: '' -position: 1701 -category: 知识篇-常用框架 ---- - -ChatGpt 是一款由 OpenAI 开发的大型语言模型,主要功能是回答用户的问题和完成各种语言任务,如对话生成、文本摘要、翻译、生成文本等。它使用了先进的深度学习技术和海量的语言数据进行训练,可以在各种语言领域提供高质量的语言处理服务。 - -本教程旨在帮助您快速上手 ChatGpt,了解它的基本概念和使用方法。我们将通过以下几个步骤来介绍 ChatGpt 的开发流程: - -- 注册和登录 ChatGpt -- 选择和创建项目 -- 编写和测试提示 -- 发布和分享项目 - -## 注册和登录 ChatGpt - -要使用 ChatGpt,您需要先注册一个账号并登录。您可以访问 https://chatgpt.com/ ,点击右上角的 Sign Up 按钮,填写您的邮箱、用户名和密码,然后点击 Create Account 按钮,完成注册。 - -注册后,您会收到一封验证邮件,点击邮件中的链接,即可激活您的账号。然后,您可以返回 https://chatgpt.com/ ,点击右上角的 Log In 按钮,输入您的用户名和密码,然后点击 Log In 按钮,完成登录。 - -## 选择和创建项目 - -登录后,您会看到一个项目列表页面,显示了您已经创建或加入的项目。每个项目都有一个名称、一个描述、一个图标和一个类型。项目类型分为两种:Playground 和 Application。 - -Playground 是一个用于探索和实验 ChatGpt 的沙盒环境,您可以在其中编写任意的提示,并查看 ChatGpt 的回复。Playground 适合用于学习、测试和调试 ChatGpt 的功能。 - -Application 是一个用于构建和发布 ChatGpt 应用的正式环境,您可以在其中定义项目的目标、场景、用户界面等,并将其发布为一个可供他人使用的应用。Application 适合用于开发、部署和分享 ChatGpt 的产品。 - -要创建一个新的项目,您可以点击左上角的 New Project 按钮,然后选择项目类型(Playground 或 Application),输入项目名称和描述,选择项目图标(可选),然后点击 Create Project 按钮。 - -## 编写和测试提示 - -创建项目后,您会进入项目详情页面,在这里,您可以编写和测试提示。提示是一段文本,用于告诉 ChatGpt 您想要它做什么。提示通常包含以下几个部分: - -- 问题:用于描述您想要 ChatGpt 完成的任务或回答的问题。 -- 你需要做的事:用于指导 ChatGpt 如何完成任务或回答问题。 -- 数据库:用于提供 ChatGpt 需要使用或参考的信息或数据。 -- 当前日期:用于提供当前日期或时间。 - diff --git a/content/zh/basic/framework/crawler.md b/content/zh/basic/framework/crawler.md deleted file mode 100644 index b74857c1..00000000 --- a/content/zh/basic/framework/crawler.md +++ /dev/null @@ -1,155 +0,0 @@ ---- -title: Phantom/Request -description: '' -position: 1709 -category: 知识篇-常用框架 ---- - -## PhantomJS / Request 爬虫入门 - -以可备案域名后缀查询为例. - -PhantomJS 优势为: 可以模拟页面渲染(执行 js). - -request 优势就是效率高咯. - -## phantom 示例 - -思路很简单: - -1. 打开首页 -2. 抓取数据 -3. 模拟点击下一页 -4. 重复第 2 步,直到没有数据 - -```js -const driver = require('node-phantom-simple'); -const phantom = require('phantomjs-prebuilt'); - -driver.create( - { - path: phantom.path - }, - (err, browser) => { - browser.createPage((err2, page) => { - page.set( - 'settings.userAgent', - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3175.4 Safari/537.36' - ); - page.open('URL地址,和谐你我他', (err3, status) => { - console.log('opened site? ', status); - /* global nextPage,previousPage */ - let n = 0; - const domains = []; - const fib = () => { - // eslint-disable-next-line - page.evaluate( - function () { - /* eslint-disable */ - var i = 1; - var ele; - var result = []; - while ((ele = document.getElementById(i))) { - result.push(ele.children[3].innerText.trim()); - i++; - } - return { - data: result, - cur: ~~previousPage.toString().split(' = ')[2].split(';')[0] + 1 - }; - }, - (err4, result) => { - /* eslint-enable */ - const { data, cur } = result; - console.log('page %d done', cur); - if (cur === n + 1) { - domains.push(...data); - n += 1; - } - if (data.length === 0) { - console.log('-------'); - console.log('total domains:', domains.length); - const arr = [...new Set(domains)]; - console.log('unique domains:', arr.length); - console.log('-------'); - console.log(arr.sort().join('\n')); - browser.exit(); - process.exit(); - } - } - ); - setTimeout(() => { - // eslint-disable-next-line - page.evaluate( - function () { - nextPage(); - }, - () => { - setTimeout(fib, 3000); - } - ); - }, 3000); - }; - fib(); - }); - }); - } -); -``` - - - -其中几个注意点: - -1. User-Agent 必须要设置 -2. Timeout 是经过试验得出的较优的方案 - -这些都是为了绕过知道创宇的反爬虫机制. - -## Request 示例 - -在这个示例里, 不推荐使用 phantom, 因为这样的界面上并没有动态的内容, 而且页面间通过传统表单形式进行跳转, 这就有一些可以利用的空间了. - -比如`pagesize`默认选项只有三种: 5, 10, 20. 但经过测试, 设置 1000 也能正常获取数据. 所以我们这里就直接设置 1000,一次性搞定. - -```js -const request = require('request'); -const cheerio = require('cheerio'); -const gbk = require('gbk'); - -request( - { - url: 'URL地址,和谐你我他', - method: 'POST', - headers: { - 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3175.4 Safari/537.36' - }, - form: { - domainName: '', - domainBlur: 0, - domainType: 0, - 'page.pageSize': 1000, - pageNo: 1, - jumpPageNo: '' - }, - encoding: null - }, - (err, httpResponse, body) => { - const $ = cheerio.load(gbk.toString('utf-8', body)); - const domains = []; - - $('tr[id]').each((i, ele) => { - domains.push($(ele).children('td').eq(3).text().trim()); - }); - console.log('-------'); - console.log('total domains:', domains.length); - const arr = [...new Set(domains)]; - console.log('unique domains:', arr.length); - console.log('-------'); - console.log(arr.sort().join('\n')); - process.exit(); - } -); -``` - -完整的项目源码位于: diff --git a/content/zh/basic/framework/electron.md b/content/zh/basic/framework/electron.md deleted file mode 100644 index 575eeabb..00000000 --- a/content/zh/basic/framework/electron.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Electron -description: '' -position: 1710 -category: 知识篇-常用框架 ---- - -目前支持:Mac、Win、Linux 三个平台。 - -快速示例: - -## 打包工具 - -electron-packager: - -## Client - -### 目录结构 - -```bash -. -├── app -│   ├── app.js -│   └── index.html -├── main.js -├── package.json -└── src - ├── app.js - ├── components - │   ├── delete.js - │   ├── login.js - │   └── main.js - ├── index.less - ├── routes - │   └── index.js - ├── webpack.config.js - └── webpack.config.prod.js -``` - - - -### 运行脚本 - -```json -"scripts": { - "start": "./node_modules/.bin/webpack --config src/webpack.config.js && ./node_modules/.bin/electron main.js", - "test": "./node_modules/.bin/webpack --config src/webpack.config.js", - "pack-win": "./node_modules/.bin/electron-packager . --asar --overwrite --platform=win32 --arch=ia32 --prune=true --out=out --version-string.CompanyName='GitHub, Inc.' --ignore=node_modules", - "pack-mac": "./node_modules/.bin/electron-packager . --asar --overwrite --platform=darwin --arch=x64 --prune=true --out=out --ignore=node_modules", - "pack-all": "./node_modules/.bin/electron-packager . --out=dist --prune --asar --overwrite --all" -} -``` diff --git a/content/zh/basic/framework/hapi.md b/content/zh/basic/framework/hapi.md deleted file mode 100644 index 46659b44..00000000 --- a/content/zh/basic/framework/hapi.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: Hapi -description: '' -position: 1702 -category: 知识篇-常用框架 ---- - -## Server - -```js -import hapi from 'hapi'; - -// Static File Server -import inert from 'inert'; -// Render Views -import vision from 'vision'; - -const server = new hapi.Server(); - -server.connection( - { - host: '127.0.0.1', - port: 4000, - router: { - stripTrailingSlash: true - } - }, - { timeout: { server: 5000, socket: 5000 } } -); - -// 根据需要注册插件 -server.register([inert, vision], () => { - server.start(() => { - console.log(`Server started at: ${server.info.uri}`); - }); -}); - -// Load Routes -server.route(require('./routes')); - -// Error Response Handler -server.ext('onPreResponse', (request, reply) => { - const response = request.response; - if (!response.isBoom) { - return reply.continue(); - } - // return custom err result -}); - -// Add Templates Support with handlebars -server.views({ - path: `${__dirname}/lib/views`, - engines: { html: require('handlebars') }, - partialsPath: `${__dirname}/lib/views/partials`, - isCached: false -}); - -module.exports = server; -``` - - - -## Plugins - -- 自动文档: -- 用户鉴权: -- 表单校验: -- HTTP 错误: -- 渲染模板页面: -- 打印错误: -- 静态文件引用: diff --git a/content/zh/basic/framework/koa.md b/content/zh/basic/framework/koa.md deleted file mode 100644 index 67e3f5ad..00000000 --- a/content/zh/basic/framework/koa.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Koa -description: '' -position: 1702 -category: 知识篇-常用框架 ---- - -## 前置条件 - -koa 2.0 以上版本 - -``` -npm install koa -``` - -(更新本文时的最新版本为 2.0 alpha, 最新版本: ) - - - -## 带 async 的示例 - -app.js: - -```js -const Koa = require('koa'); -const app = new Koa(); - -// logger - -app.use(async (ctx, next) => { - const start = new Date(); - await next(); - const ms = new Date() - start; - console.log(`${ctx.method} ${ctx.url} - ${ms}ms`); -}); - -// response - -app.use((ctx) => { - ctx.body = 'Hello World'; -}); - -app.listen(3000); -``` diff --git a/content/zh/basic/framework/nativescript.md b/content/zh/basic/framework/nativescript.md deleted file mode 100644 index afcda26f..00000000 --- a/content/zh/basic/framework/nativescript.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: NativeScript -description: '' -position: 1708 -category: 知识篇-常用框架 ---- - -## 安装 - -**_注意_**: - -MacOS 10.12 及之前版本 系统 ruby 的版本为 2.0.0,其中有一个依赖项的最新版本需要 2.2.2 以上。 - -先手动安装该依赖的旧版本: - -```bash -gem install activesupport -v 4.2.7.1 -``` - -然后参考文档进行安装: - -安装 cocoapods 之后,执行: - -```bash -pod setup --verbose -``` - -进行 cocoapods 初始化。 - -最终执行 `tns doctor` 检查是否安装成功。 - -## Client - -### 目录结构 - -``` -. -├── app -│   ├── App_Resources -│   │   ├── Android -│   │   └── iOS -│   ├── app.css -│   ├── app.ts -│   └── package.json -├── hooks -├── package.json -├── references.d.ts -└── tsconfig.json -``` - - - -### 运行脚本 - -```bash -tns run android -tns livesync android -``` - -tns run 命令参数: - -``` -* --watch - If set, when you save changes to the project, changes are automatically synchronized to the connected device. -* --device - Specifies a connected device on which to run the app. -* --emulator - If set, runs the app in a native emulator for the target platform, if configured. When set, you can also set any other valid combination of emulator options as listed by $ tns help emulate android. -* --release - If set, produces a release build. Otherwise, produces a debug build. When set, you must also specify the --key-store-* options. -* --key-store-path - Specifies the file path to the keystore file (P12) which you want to use to code sign your APK. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options. -* --key-store-password - Provides the password for the keystore file specified with --key-store-path. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options. -* --key-store-alias - Provides the alias for the keystore file specified with --key-store-path. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options. -* --key-store-alias-password - Provides the password for the alias specified with --key-store-alias-password. You can use the --key-store-* options along with --release to produce a signed release build. You need to specify all --key-store-* options. -* --justlaunch - If set, does not print the application output in the console. -``` diff --git a/content/zh/basic/framework/nest.md b/content/zh/basic/framework/nest.md deleted file mode 100644 index 21e769f7..00000000 --- a/content/zh/basic/framework/nest.md +++ /dev/null @@ -1,314 +0,0 @@ ---- -title: Nest.js -description: '' -position: 1711 -category: 知识篇-常用框架 ---- - -- 代码仓库: -- 官方文档: -- 中文文档: - -## 安装 - -```bash -# 如果是 node.js 10 之后的版本,需要加 --ignore-engines 来忽略一些不兼容库的警告 -npm i -g @nestjs/cli --ignore-engines -# 或 -yarn global add @nestjs/cli --ignore-engines -``` - -## 入门文档 - -- 属性转换: [class-transformer](https://github.com/typestack/class-transformer) -- 属性校验: [class-validator](https://github.com/typestack/class-validator) - -## 小技巧 - -### 异步方法优化 - -减少不必要的 async/await 包裹。示例代码如下: - -```ts -function test() { - const deferred = { - promise: undefined, - resolve: undefined - }; - deferred.promise = new Promise((resolve) => { - deferred.resolve = resolve; - }); - setTimeout(() => { - deferred.resolve('hello world'); - }, 1000); - return deferred.promise; -} - -@Controller() -export class AppController { - constructor(private readonly appService: AppService) {} - - // 以下两种写法都能运行,推荐使用第一种 - @Get('/test') - getTest(): Promise { - return test(); - } - - @Get('/test2') - async getTest2(): Promise { - return await test(); - } -} -``` - -同理,除了在 Controller 中,在 Model、 Service 等其他地方内层方法均可以进行优化,因为外层调用的时候已经带上了 `await`。同时,还需要注意各个方法的返回类型,养成良好习惯。 - - - -## 使用 Fastify 框架 - -该部分没有文档,只有一个示例项目: - -```bash -yarn remove @nestjs/platform-express -yarn remove @types/express -yarn add @nestjs/platform-fastify -``` - -修改 `main.ts` 文件: - -```js -import { NestFactory } from '@nestjs/core'; -// 新增引用 -import { - FastifyAdapter, - NestFastifyApplication, -} from '@nestjs/platform-fastify'; -import { AppModule } from './app.module'; - -async function bootstrap() { - // 原有代码: - // const app = await NestFactory.create(AppModule); - // 替换代码: - const app = await NestFactory.create( - AppModule, - new FastifyAdapter(), - ); - await app.listen(3000); - console.log(`Application is running on: ${await app.getUrl()}`); -} -bootstrap(); -``` - -## Open-API(Swagger) - -目前只有英文文档,没有中文文档。地址: - -配合 Fastify 使用: - -```bash -yarn add @nestjs/swagger -yarn add fastify-swagger -# [Nest] 7253 - 2020/07/08 下午4:42:59 [PackageLoader] The "fastify-swagger" package is missing. Please, make sure to install this library ($ npm install fastify-swagger) to take advantage of SwaggerModule. +37ms -# 如果出现类似报错,使用2.x版本重试 -yarn add fastify-swagger@^2.6.0 -``` - -示例代码: - -```js -import { NestFactory } from '@nestjs/core'; -import { - FastifyAdapter, - NestFastifyApplication, -} from '@nestjs/platform-fastify'; -import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; -import { AppModule } from './app.module'; - -async function bootstrap() { - const app = await NestFactory.create( - AppModule, - new FastifyAdapter(), - ); - const options = new DocumentBuilder() - .setTitle('Cats example') - .setDescription('The cats API description') - .setVersion('1.0') - .addTag('cats') - .addBearerAuth() - .build(); - // 生成的 JSON 格式文档,可以导出静态化 - const document = SwaggerModule.createDocument(app, options); - // 注入, 访问 http://localhost:3000/api 可以访问 - SwaggerModule.setup('api', app, document); - - await app.listen(3000); - console.log(`Application is running on: ${await app.getUrl()}`); -} -bootstrap(); -``` - -Module 代码可以参考 Express Swagger 的示例项目: - -生成 Open-API.json 文件示例代码: - -```js -import { resolve } from 'path'; -import { writeFileSync } from 'fs'; - -import { NestFactory } from '@nestjs/core'; -import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify'; -import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; -import { AppModule } from './app.module'; - -async function bootstrap() { - const app = (await NestFactory.create) < NestFastifyApplication > (AppModule, new FastifyAdapter()); - const options = new DocumentBuilder() - .setTitle('Cats example') - .setDescription('The cats API description') - .setVersion('1.0') - .addTag('cats') - .addBearerAuth() - .build(); - // 生成的 JSON 格式文档,可以导出静态化 - const document = SwaggerModule.createDocument(app, options); - writeFileSync(resolve(__dirname, '../api.json'), JSON.stringify(document, null, 2), { encoding: 'utf8' }); -} -bootstrap(); -``` - -## E2E Testing - -依然没有找到文档,参考一个示例的测试源码吧: - -```js -import { Test, TestingModule } from '@nestjs/testing'; -import { AppModule } from './../src/app.module'; -// 新增引用 -import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify'; -import { expect } from 'chai'; - -describe('AppController (e2e)', () => { - let app: NestFastifyApplication; - - beforeEach(async () => { - const moduleFixture: TestingModule = await Test.createTestingModule({ - imports: [AppModule] - }).compile(); - - // 修改 app 创建 - app = moduleFixture.createNestApplication < NestFastifyApplication > new FastifyAdapter(); - - await app.init(); - }); - - it('/ (GET)', () => { - // return request(app.getHttpServer()) - // .get('/') - // .expect(200) - // .expect('Hello World!'); - - // 改用 inject 方式,不用 supertest - return app - .inject({ - method: 'GET', - url: '/' - }) - .then(({ payload }) => expect(payload).to.be.eql('Hello World!')); - }); -}); -``` - -## Logger - -```bash -npm i --save nestjs-pino -npm i --save-dev pino-pretty -``` - -main.ts 入口文件引入: - -```typescript -import { Logger } from 'nestjs-pino'; - -const app = await NestFactory.create(MyModule, { logger: false }); -app.useLogger(app.get(Logger)); -``` - -app.module.ts 文件引入: - -```typescript -import { LoggerModule } from 'nestjs-pino'; - -@Module({ - imports: [LoggerModule.forRoot()], - controllers: [AppController], - providers: [MyService] -}) -class MyModule {} -``` - -Controller 中使用示例: - -```typescript -import { Logger } from 'nestjs-pino'; - -@Controller() -export class AppController { - constructor(private readonly myService: MyService, private readonly logger: Logger) {} - - @Get() - getHello(): string { - // pass message - this.logger.log('getHello()'); - - // also we can pass context - this.logger.log('getHello()', AppController.name); - - return `Hello ${this.myService.getWorld()}`; - } -} -``` - -或者使用 `PinoLogger` (推荐): - -```typescript -// my.service.ts -import { PinoLogger, InjectPinoLogger } from 'nestjs-pino'; - -@Injectable() -export class MyService { - // regular injecting - constructor(private readonly logger: PinoLogger) {} - - // regular injecting and set context - constructor(private readonly logger: PinoLogger) { - logger.setContext(MyService.name); - } - - // inject and set context via `InjectPinoLogger` - constructor(@InjectPinoLogger(MyService.name) private readonly logger: PinoLogger) {} - - getWorld(...params: any[]) { - this.logger.info('getWorld(%o)', params); - return 'World!'; - } -} -``` - -启动脚本修改: - -```bash -nest start --watch | pino-pretty -``` - -## Graphql - -- 中文文档: -- 英文文档: -- Graphql Code First 项目示例: -- Graphql Schema First 项目示例: - -依赖于`apollo-server`。 - -TBD. diff --git a/content/zh/basic/framework/nuxt.md b/content/zh/basic/framework/nuxt.md deleted file mode 100644 index a67191f4..00000000 --- a/content/zh/basic/framework/nuxt.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: Nuxt.js -description: '' -position: 1712 -category: 知识篇-常用框架 ---- - -这是类似于 Next.js(React)的一个渐进式框架。虽然支持 SSR(服务器端渲染),但我们依然可以只将其作为前端框架来实现前后端分离的中、小型项目。 - -文档不建议查看中文版本,因为比较老旧(更新本文时目前英文版本`1.4.0`而中文版本还停留在`0.10.7`) - -## 配置关闭 SSR - -`nuxt.config.js`: - -```js -module.exports = { - mode: 'spa', - build: { - ssr: false - } - // 其他配置项 -}; -``` - -下面从几个简单的实讲解各个核心功能的使用。 - - - -## 插件 Plugins - -实现 `router.beforeEach` 钩子: - -```js -// /plugins/router.js -export default ({ app }) => { - app.router.beforeEach((to, from, next) => { - app.store.dispatch('set', { key: '$page', data: `${to.name}` }); - return next(); - }); -}; -``` - -其他示例: - -- 插入谷歌统计: -- 注入 i18n 组件: - -## Store(Vuex) - -子模块状态管理: - -```js -// /store/todos.js -export const state = () => ({ - list: [] -}); - -export const mutations = { - add(store, text) { - store.list.push({ - text, - done: false - }); - }, - remove(store, { todo }) { - store.list.splice(store.list.indexOf(todo), 1); - }, - toggle(store, todo) { - // eslint-disable-next-line no-param-reassign - todo.done = !todo.done; - } -}; -``` - -需要注意的是: - -`/store/index.js` 需要以类似的结构抛出,即: - -```js -// /store/index.js -export const state = () => ({}); - -export const mutations = {}; - -// export const ... -``` - -## 中间件 Middlewares - -```js -// middleware/authenticate.js -export default ({ store, redirect }) => { - const user = store.getters['user/user']; - if (user === null || parseInt(new Date() / 1000, 10) - user.expires > 0) { - return redirect('/login'); - } -}; -``` - -使用(layout、pages 或 components 中): - -```js -// 以 layouts/dashboard.vue 为例 -export default { - name: 'Layout', - middleware: 'authenticate' - // ... -}; -``` - -可以是访问特定路由或者组件时触发。类似于 `beforeRouterEnter` 之类的钩子。 - -- 文档: -- 官方示例: diff --git a/content/zh/basic/framework/redux.md b/content/zh/basic/framework/redux.md deleted file mode 100644 index 0c6b1550..00000000 --- a/content/zh/basic/framework/redux.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: React Redux -description: '' -position: 1707 -category: 知识篇-常用框架 ---- - -> view 层发出 actions 通知触发 store 里的 reducer 从而来更新 state;state 的改变会将更新反馈给我们的 view 层,从而让我们的 view 层发生相应的反应给用户。 - -中文文档: - -## 流程图 - -![pic-1](/basic/framework/react.png) - -## 目录结构 - -目录结构大概可以这样规划 - -``` -app - |_components - |_reducers - |_actions - |_stores - |_configureStores.js - |_main.js -``` - - - -## 核心代码 - -举例核心代码。值得注意的是其中有一个 state 的传递有一些迷惑的地方,在下面的注释中可以找到思路。 - -### components - -```js -import React, { Component } from 'react'; -import { bindActionCreators } from 'redux'; -import { connect } from 'react-redux'; -import * as CounterActions from '../../actions/counter.js'; - -class Counter extends Component { - constructor() { - super(); - this.state = {}; - } - componentWillMount = () => { - this.startCount(); - }; - startCount = () => { - const { actions } = this.props; - actions.listen('INC'); - }; - render() { - return
    {this.props.counter.count}
    ; - } -} -Counter.propTypes = { - actions: React.PropTypes.object.isRequired, - counter: React.PropTypes.object.isRequired -}; -// 声明 connect 连接 -// 将 redux 中的 state传给 App -function mapStateToProps(state) { - return { - counter: state.counter - }; -} -function mapDispatchToProps(dispatch) { - const boundCounter = bindActionCreators(CounterActions, dispatch); - return { - actions: Object.assign({}, boundCounter) - }; -} -// 声明 connect 连接 -export default connect(mapStateToProps, mapDispatchToProps)(Counter); -``` - -### actions - -action 函数必须返回一个带有 type 属性的 plain object。 - -```js -import * as constants from '../../constants/counter'; -export function listen(type) { - switch (type) { - case 'INC': - return { - type: constants.INC - }; - case 'DEC': - return { - type: constants.DEC - }; - } -} -``` - -### reducers - -reducer 就是迎接 action 函数返回的线索的数据再处理函数,action 是预处理函数。 - -```js -import { INC, DEC } from '../../constants/counter'; -// 初始状态 -const initState = { - count: 1 -}; -// 定义转换的reducer函数 -// action = {type: 'INC',counter: {count: 1}}; -export default function start(state = initState, action) { - switch (action.type) { - case INC: - // 对这个action做出响应 - state.count += 1; // 改变状态 - // return {count: 2} 返回给页面; - return state; - case DEC: - // 对这个action做出响应 - state.count -= 1; // 改变状态 - // return {count: 0} 返回给页面; - return state; - default: - return state; - } -} -``` - -```js -import { combineReducers } from 'redux'; -import counter from './counter'; // {count: 2}返回给页面,所以页面用的是counter.count获取数据2 -// 通过combineReducers将多个reducer合并成一个rootReducer: -const rootReducer = combineReducers({ - counter, // {count: 1} - others -}); -export default rootReducer; -``` diff --git a/content/zh/basic/framework/socketio.md b/content/zh/basic/framework/socketio.md deleted file mode 100644 index 3559af12..00000000 --- a/content/zh/basic/framework/socketio.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: Socket.IO -description: '' -position: 1703 -category: 知识篇-常用框架 ---- - - - -## Server - -应用场景:服务器间通信。 - -```js -const io = require('socket.io')().listen(6666); - -io.on('connection', (socket) => { - socket.on('client', async (data) => { - // Codes Here - }); -}); - -exports.io = io; -``` - -## Client - -```js -import io from 'socket.io-client'; - -const socket = io('ws://127.0.0.1:6666/'); - -// 上线汇报 -socket.emit('client', () => { - return 'Hello World'; -}); -socket.on('server', async (data) => { - // 处理服务器消息 -}); -``` - - diff --git a/content/zh/basic/framework/udp.md b/content/zh/basic/framework/udp.md deleted file mode 100644 index f244d457..00000000 --- a/content/zh/basic/framework/udp.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: UDP -description: '' -position: 1706 -category: 知识篇-常用框架 ---- - -官方文档: - -中文翻译: - -## Server - -应用场景: 心跳服务。 - -```js -import dgram from 'dgram'; - -const server = dgram.createSocket('udp4'); -server.on('error', (err) => { - // 处理错误 - server.close(); - server.bind(6666); -}); - -server.on('message', async (msg, info) => { - // 处理消息 -}); - -server.on('listening', () => { - const address = server.address(); - console.log('Push Client Server listening at %s - %s', `${address.address}:${address.port}`, new Date()); -}); -server.bind(6666); -``` - - diff --git a/content/zh/basic/framework/vue.md b/content/zh/basic/framework/vue.md deleted file mode 100644 index a4f37255..00000000 --- a/content/zh/basic/framework/vue.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Vue -description: '' -position: 1704 -category: 知识篇-常用框架 ---- - -官方文档: - -特色是单文件组件(模块化开发)。 - -适用场景: - -- 新人,较为轻量,容易上手 -- Deadline 定得比较紧的项目,开发效率高 -- 桌面端、移动端 App 开发 - -不建议的使用场景: - -- 明确分工的团队:如有专人分别负责 HTML、CSS、JS 等开发工作的 -- 需要考虑浏览器兼容性的项目:支持 IE 10+(IE 9 部分支持,参考: ) - -## 相关资源 - -- Vuex: (类似于 Redux) -- Vue-Router: -- Vue-Cli: (命令行工具) -- 官方示例: - -## 进阶使用 - -- 理解 Flux 模型: -- Facebook Flux(基于 React): - - diff --git a/content/zh/basic/framework/webpack.md b/content/zh/basic/framework/webpack.md deleted file mode 100644 index 0d9ea3c7..00000000 --- a/content/zh/basic/framework/webpack.md +++ /dev/null @@ -1,216 +0,0 @@ ---- -title: Webpack -description: '' -position: 1705 -category: 知识篇-常用框架 ---- - -遵循`MVP`原则, 即`最简化可实行产品`原则, 示例: - -## 既有项目引入新的组件/库 - -假设现有项目用到了 `react`, `react-router` , `antd` 等库, 并且 `controller`, `router`, `model`, `view` 已基本成型. - -此时如果要引入 `mobx`, 最佳实践步骤为: - -1. 新建一个空项目, 将既有库 `react`, `antd` 等安装, 配置一个最简单的 `hello world` 路由 -2. 安装 `mobx`, 引入并测试通过 -3. 再在原有项目上进行功能扩充 - -## 既有项目打包优化 - -假设现有项目用到了 `react`, `react-router` , `antd`, `mobx` 等库, 并且 `controller`, `router`, `model`, `view` 已基本成型. webpack 打包过大, 应用性能较差. - -最佳实践步骤: - -1. 新建一个空项目, 新建一个空的 webpack 配置 -2. 安装 `react` (或 `antd`, 或 `mobx`等) 写一个简单示例引入项目 -3. 针对单一库进行 `webpack` 打包优化, 一般情况下, 除了 loader rules / vendor 需要每个库单独优化, 其他配置都能保证通用 -4. 一项优化完成后重复 2,3 步骤, 直到所有库优化完成 -5. 对原有项目的 webpack 配置进行替换, 不动项目源码 -6. 进一步优化, 比如 `react-router-loader` 之类的引入, 开始针对项目源码进行优化 - - - -## 示例: React/Antd 项目初始化 - -### 1. 配置 eslint - -- 创建: `.eslintrc` 和 `.eslintignore` -- 安装: `yarn add --dev eslint eslint-config-dwing eslint-config-airbnb eslint-plugin-react eslint-plugin-jsx-a11y babel-eslint` - -```js -// .eslintrc.js -module.exports = { - extends: ['eslint-config-dwing', 'eslint-config-airbnb-base/rules/strict', 'eslint-config-airbnb/rules/react'].map(require.resolve), - plugins: ['react'], - parser: 'babel-eslint', - env: { - browser: true - } -}; -``` - -### 2. 配置 babel - -- 创建: `.babelrc` -- 安装: `yarn add --dev babel-preset-env babel-preset-react babel-plugin-transform-runtime babel-plugin-transform-decorators-legacy babel-plugin-import babel-plugin-transform-class-properties babel-plugin-transform-object-rest-spread babel-runtime babel-polyfill babel-core` - -```js -// .babelrc -{ - "presets": [ - ["env", { - "targets": { - "browsers": ["last 2 versions"] - } - }], - "react" - ], - "plugins": [ - ["transform-runtime", { - "helpers": false, - "polyfill": false, - "regenerator": true, - "moduleName": "babel-runtime" - }], - "transform-decorators-legacy", - ["import", { "libraryName": "antd", "style": true }], - "transform-class-properties", - "transform-object-rest-spread" - ] -} -``` - -### 3. 安装 react/antd 等 - -- 安装: `yarn add react react-dom react-router antd mobx` -- webpack 相关: `yarn add --dev babel-loader less less-loader css-loader postcss-loader autoprefixer` - -### 4. 配置 webpack - -- 创建: `webpack.config.js` (用作产品) `webpack.config.dev.js` (用作开发) -- 安装: `yarn add --dev webpack html-webpack-plugin extract-text-webpack-plugin` - -该示例项目源码: - -## 注意事项 - -### 1.最好不要用各类脚手架生成的 webpack 配置 - -原因有如下几点: - -1. 臃肿,夹杂了一大堆没用的第三方 npm 包,结构混乱, 难维护!! -2. `webpack`更新速度较快, 现在已经到了 `3.x` 版本了, 很多脚手架还停留在 1.x 或 2.x 的阶段 -3. 知其然知其所以然, 不能仅做代码搬运的机器, 这样的话就失去了人的价值了. 只有在频繁地接触和使用过程中才能挖掘更优的配置 - -### 2.webpack 配置最佳实践 - -个人推荐以一个配置为`base`(基准),其他进行微调. - -如, 产品环境配置为: - -```js -// webpack.config.js -/* eslint-disable import/no-extraneous-dependencies */ -const webpack = require('webpack'); -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const ExtractTextPlugin = require('extract-text-webpack-plugin'); -const theme = require('./antd.config'); - -module.exports = { - entry: { - app: path.resolve(__dirname, '../src/main.jsx'), - vendor: ['react', 'react-dom', 'react-router', 'mobx'] - }, - output: { - path: path.resolve(__dirname, '../dist'), - filename: '[name].js', - publicPath: '/' - }, - module: { - rules: [ - { - test: /\.jsx?$/, - loader: 'babel-loader', - exclude: /node_modules/ - }, - { - test: /\.less$/, - loader: ExtractTextPlugin.extract( - `${require.resolve('css-loader')}?sourceMap&-autoprefixer!` + - `${require.resolve('less-loader')}?{"sourceMap":true,"modifyVars":${JSON.stringify(theme)}}` - ) - } - ] - }, - resolve: { - modules: ['node_modules', path.resolve(__dirname, '../src')], - extensions: ['.js', '.json', '.jsx', '.css'] - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env.NODE_ENV': '"production"' - }), - // 或灵活配置 - // new webpack.DefinePlugin({ - // 'process.env': { - // NODE_ENV: JSON.stringify(process.env.NODE_ENV) - // } - // }), - new webpack.optimize.AggressiveMergingPlugin(), - new webpack.optimize.CommonsChunkPlugin({ - name: 'common', - filename: 'common.js' - }), - new webpack.optimize.ModuleConcatenationPlugin(), - new webpack.optimize.UglifyJsPlugin({ - minimize: true, - output: { - comments: false - }, - compress: { - warnings: false, - drop_console: false - } - }), - new ExtractTextPlugin('[name].css', { - disable: false, - allChunks: true - }), - new HtmlWebpackPlugin({ - template: path.resolve(__dirname, '../src/index.html') - }) - ] -}; -``` - -开发环境配置可以是这样去写: - -```js -// webpack.config.dev.js -const webpack = require('webpack'); -// 引入 base -const config = require('./webpack.config'); -// 对 base 进行扩展 -module.exports = Object.assign({}, config, { - entry: [ - // 重新完整定义一个 entry, 当然一般情况下是用不着这么做的 - ], - output: Object.assign({}, config.output, { - // 仅修改 output 的 publicPath - publicPath: 'http://localhost/' - }), - // 比如, 在开发环境中需要多加一个 plugin - plugins: [ - ...config.plugins, - // 该插件仅用于示例 - new webpack.optimize.ModuleConcatenationPlugin() - ], - // 加一项新的配置 - devtools: '' -}); -``` - -当然你可能觉得这么写性能很低, 但对于只在启动时执行一次的代码来说没有什么, 而且你如果仔细研究一下,比如`webpack-merge`或者其他的, 它们的底层实现也是这样, 还另外套了许多的封装. diff --git a/content/zh/basic/js/es.md b/content/zh/basic/js/es.md deleted file mode 100644 index a67b281c..00000000 --- a/content/zh/basic/js/es.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: ES Next -description: '' -position: 1303 -category: 知识篇-Vanilla JS ---- - -## Pipeline Operator (Proposal) - -目前处于草稿阶段: - -```js -function doubleSay(str) { - return `${str}, ${str}`; -} -function capitalize(str) { - return str[0].toUpperCase() + str.substring(1); -} -function exclaim(str) { - return `${str}!`; -} - -let result = 'hello' |> doubleSay |> capitalize |> exclaim; - -result |> console.log; -//=> "Hello, hello!" -``` - -项目模板: - -## Async (ES 7) - -```js -async function fn(args) { - // ... -} - -// 等同于 - -function fn(args) { - return spawn(function* () { - // ... - }); -} -``` - -多个`await`命令后面的异步操作,如果不存在继发关系,最好让它们同时触发。 - -```javascript -let foo = await getFoo(); -let bar = await getBar(); -``` - -上面代码中,`getFoo`和`getBar`是两个独立的异步操作(即互不依赖),被写成继发关系。这样比较耗时,因为只有`getFoo`完成以后,才会执行`getBar`,完全可以让它们同时触发。 - -```javascript -// 写法一 -let [foo, bar] = await Promise.all([getFoo(), getBar()]); - -// 写法二 -let fooPromise = getFoo(); -let barPromise = getBar(); -let foo = await fooPromise; -let bar = await barPromise; -``` - -上面两种写法,`getFoo`和`getBar`都是同时触发,这样就会缩短程序的执行时间。 - - - -## Proxy (ES 6) - -经测试 Node v6.1.0 之后版本已集成。 - -示例代码: - -```js -const proxy = new Proxy( - {}, - { - get: (target, property) => [target, property] - } -); - -console.log(proxy.func); // [ {}, 'func' ] -console.log(proxy.func('123')); // TypeError: proxy.func is not a function -``` - -```js -const proxy = new Proxy( - {}, - { - get: (target, property) => (test) => [target, property, test] - } -); - -console.log(proxy.func); // [Function] -console.log(proxy.func('123')); // [ {}, 'func', '123' ] -``` - -## ES 6 作用域 - -以 For 循环为例: - -```js -var funcs = []; - -for (var i = 0; i < 10; i += 1) { - funcs.push(function () { - console.log(i); - }); -} - -funcs.forEach((func) => func()); -// 输出 10 十次 -``` - -闭包: - -```js -var funcs = []; - -for (var i = 0; i < 10; i += 1) { - funcs.push((function(value){ console.log(value); }(i)); -} - -funcs.forEach(func => func()); -// 0 到 9 依次输出 -``` - -在 ES6 中可以简化为: - -```js -const funcs = []; - -for (let i = 0; i < 10; i += 1) { - funcs.push(() => console.log(i)); -} - -funcs.forEach((func) => func()); -// 0 到 9 依次输出 -``` - -## Function 创建函数 - -```js -var add = new Function('first', 'second = first', 'return first + second'); -console.log(add(1, 1)); // 2 -console.log(add(1)); // 2 -``` - -```js -var pickFirst = new Function('..args', 'return args[0]'); -console.log(pickFirst(1, 2)); // 1 -``` - -## ES6 中互换值 - -```js -let a = 1; -let b = 2; - -[a, b] = [b, a]; - -console.log(a, b); // 2 1 -``` diff --git a/content/zh/basic/js/fetch.md b/content/zh/basic/js/fetch.md deleted file mode 100644 index 592f1492..00000000 --- a/content/zh/basic/js/fetch.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: Fetch API AJAX -description: '' -position: 1302 -category: 知识篇-Vanilla JS ---- - -## 浏览器兼容性 - -![caniuse](/basic/js/fetch.png) - -## 支持检查 - -```js -if (typeof fetch === 'function' && typeof window.fetch === 'function') { - // 支持 -} - -if (typeof fetch !== 'function' || typeof window.fetch !== 'function') { - // 不支持 -} -``` - -## 示例代码 - -```js -var req = new Request('/data.json', { method: 'POST', cache: 'reload' }); -fetch(req) - .then(function (res) { - return res.json(); - }) - .then(function (data) { - console.log(data); - }); -``` - - - -## 跨域 Cookie 设置 - -`credentials` 凭证参数 - -```js -fetch('a.com/api', { credentials: 'include' }).then(function (res) { - // ... -}); -``` - -或 - -```js -var req = new Request('/data.json', { method: 'POST', cache: 'reload', credentials: 'include' }); -fetch(req) - .then(function (res) { - return res.json(); - }) - .then(function (data) { - console.log(data); - }); -``` - -## 参考资料 - -- 接口文档: -- 介绍: diff --git a/content/zh/basic/js/map.md b/content/zh/basic/js/map.md deleted file mode 100644 index f4958326..00000000 --- a/content/zh/basic/js/map.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Map -description: '' -position: 1304 -category: 知识篇-Vanilla JS ---- - -## Map 介绍 - -### 语法 - -```js -array.map(callback[, thisArg]) -``` - -### 参数 - -#### callback - -原数组中的元素经过该方法后返回一个新的元素。 - -> currentValue - -callback 的第一个参数,数组中当前被传递的元素。 - -> index - -callback 的第二个参数,数组中当前被传递的元素的索引。 - -> array - -callback 的第三个参数,调用 map 方法的数组。 - -#### thisArg - -执行 callback 函数时 this 指向的对象。 - -### 返回值 - -由回调函数的返回值组成的新数组。 - - - -## 例题 - - - -Given a string, you have to return a string in which each character (case-sensitive) is repeated once. - -``` -doubleChar("String") ==> "SSttrriinngg" - -doubleChar("Hello World") ==> "HHeelllloo WWoorrlldd" - -doubleChar("1234!_ ") ==> "11223344!!__ " -``` - -Good Luck! - -答案: - -```js -const doubleChar = (str) => - str - .split('') - .map((i) => i.repeat(2)) - .join(''); -``` diff --git a/content/zh/basic/js/reduce.md b/content/zh/basic/js/reduce.md deleted file mode 100644 index 62e7dab7..00000000 --- a/content/zh/basic/js/reduce.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Reduce -description: '' -position: 1305 -category: 知识篇-Vanilla JS ---- - -## Reduce 介绍 - -### 语法 - -```js -arr.reduce(callback, [initialValue]); -``` - -### 参数 - -#### callback - -执行数组中每个值的函数,包含四个参数: - -> accumulator - -上一次调用回调返回的值,或者是提供的初始值(initialValue) - -> currentValue - -数组中正在处理的元素 - -> currentIndex - -数据中正在处理的元素索引,如果没有提供 initialValues,默认从 0 开始 - -> array - -调用 reduce 的数组 - -#### initialValue - -作为第一次调用 callback 的第一个参数。 - -### 返回值 - -函数累计处理的结果。 - - - -## 例题 - - - -Given and array of integers (x), return the result of multiplying the values together in order. Example: - -``` -[1, 2, 3] --> 6 -``` - -For the beginner, try to use the reduce method - it comes in very handy quite a lot so is a good one to know. - -Array will not be empty. - -答案: - -```js -const grow = (x) => x.reduce((r, i) => r * i, 1); -``` diff --git a/content/zh/basic/js/regexp.md b/content/zh/basic/js/regexp.md deleted file mode 100644 index 3c886b11..00000000 --- a/content/zh/basic/js/regexp.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: 正则替换 -description: '' -position: 1306 -category: 知识篇-Vanilla JS ---- - -## RegExp 对象 - -参考: - - - -工具: - -- RegExp tester (Chrome 插件) - -## 例题 - -Write a function that accepts an array of 10 integers (between 0 and 9), that returns a string of those numbers in the form of a phone number. - -Example: - -``` -createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) // => returns "(123) 456-7890" -``` - -The returned format must be correct in order to complete this challenge. -Don't forget the space after the closing parenthese! - -题目地址: - - - -答案: - -```js -const createPhoneNumber = (n) => n.join('').replace(/(\d{3})(\d{3})(\d{3})/, '($1) $2-$3'); -``` diff --git a/content/zh/basic/js/tricks.md b/content/zh/basic/js/tricks.md deleted file mode 100644 index 993f4951..00000000 --- a/content/zh/basic/js/tricks.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: Tricks -menuTitle: 小技巧 -description: '' -position: 1301 -category: 知识篇-Vanilla JS ---- - -你也许并不需要 jQuery 之类的库来协助开发。 - -## 事件委派 - -如对 AJAX 请求返回结果中的按钮进行 `click` 事件绑定: - -```js -var handleClick = function (e) { - if (e.target && e.target.nodeName.toLowerCase() === 'button') { - // Codes Here - } -}; - -parentNode.addEventListener('click', handleClick); -``` - -## Deep Clone - -问题现象: - -```js -var obj1 = { - key1: 'value1', - key2: 'value2', - children: { - key3: 'value3', - key4: 'value4' - } -}; -var obj2 = Object.assign({}, obj1); -obj2.children.key3 = 'test'; -console.log(obj1.children); -// { key3: 'test', key4: 'value4' } -``` - -快速解决方案: - -```js -const obj2 = JSON.parse(JSON.stringify(obj1)); -``` - - - -## Scroll Debounce - -用于解决前端滚动侦听事件触发频率过高问题。 - -核心代码: - -```js -function debounce(func, wait = 20, immediate = true) { - var timeout; - return function () { - var context = this, - args = arguments; - var later = function () { - timeout = null; - if (!immediate) func.apply(context, args); - }; - var callNow = immediate && !timeout; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - if (callNow) func.apply(context, args); - }; -} -``` - -示例代码: - -```js -function testFunc(e) { - console.count(e); -} - -window.addEventListener('scroll', () => console.count('bounce')); -window.addEventListener('scroll', debounce(testFunc)); -``` - -在浏览器中测试。 - -## 遍历用 Map 还是 For - -同是遍历,但实际有很大不同。 - -### 对比 - -#### map - -改变自身。 - -```js -[1, 2, 3, 4, 5].map((x) => x + 1); -// [ 2, 3, 4, 5, 6 ] -``` - -#### for - -只是循环。 - -### Benchmark 测试 - -benchmark 脚本: - -```js -suite('iterator', function () { - bench('for', function () { - const a = [1, 2, 3, 4, 5]; - for (let i = 0; i < a.length; i++) { - // nothing - } - }); - bench('foreach', function () { - const a = [1, 2, 3, 4, 5]; - a.forEach(function (d) { - // nothing - }); - }); - bench('for of', function () { - const a = [1, 2, 3, 4, 5]; - for (let i of a) { - // nothing - } - }); - bench('map', function () { - const a = [1, 2, 3, 4, 5]; - a.map((x) => x); - }); -}); -``` - -测试结果: - -```bash - iterator - 50,038,931 op/s » for - 8,980,276 op/s » foreach - 8,990,758 op/s » for of - 1,713,807 op/s » map - - - Suites: 1 - Benches: 4 - Elapsed: 5,710.33 ms -``` - -### 结论 - -单凭循环 `for` 最可靠。 - -`foreach` 和 `for ... of` 差不多。 - -`map` 性能最低。 - -## 触发 react onchange 事件并赋值 - -```js -var setValue = function (element, value) { - element.value = value; - if ('createEvent' in document) { - var event = new Event('input', { bubbles: true }); - element.dispatchEvent(event); - } else { - element.fireEvent('onchange'); - } -}; -``` diff --git a/content/zh/basic/js/try-catch.md b/content/zh/basic/js/try-catch.md deleted file mode 100644 index 1eb95533..00000000 --- a/content/zh/basic/js/try-catch.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: 异常捕获 -description: '' -position: 1307 -category: 知识篇-Vanilla JS ---- - -## ES5 中的传统做法 - -假设代码块执行抛出错误 fail,那么捕获该错误的写法为: - -```js -try { - // 代码块执行,并抛出 fail 错误 - throw new Error('fail'); -} catch (e) { - console.log(e); -} -``` - -### 定时器 - -我们先来针对上面的代码改写一下,加入一个定时器。 - -```js -try { - setTimeout(() => { - throw new Error('fail'); - // Uncaught Error: fail - }, 1000); -} catch (e) { - console.log(e); -} -``` - -像这样,将 try/catch 扔在定时器的外面,是无法捕获到内部的错误的。 - -正确的做法应该是: - -```js -setTimeout(() => { - try { - throw new Error('fail'); - } catch (e) { - console.log(e); - } -}, 1000); -``` - -### Promise - -```js -function doSomething() { - return new Promise((resolve, reject) => { - // 同步代码中的 throw 可以被捕捉到 - throw new Error('fail'); - }); -} - -doSomething() - .then((x) => { - console.log('success:', x); - }) - .catch((err) => { - console.log('fail:', err); - }); -``` - -这样写是没有问题的,错误能够被捕获到。但只要稍微修改一下,可能就出现问题了。比如: - -```js -function doSomething() { - return new Promise((resolve, reject) => { - // 异步代码中的 throw 不能被 Promise 的 catch 捕捉到 - setTimeout(() => { - throw new Error('fail'); - }, 1000); - }); -} - -doSomething() - .then((x) => { - console.log('success:', x); - }) - .catch((err) => { - console.log('fail:', err); - }); -``` - -这里抛出但错误将不能被捕获。所以,在 Promise 中,我们一般通过 reject 来抛出错误。 - -```js -function doSomething(x) { - return new Promise((resolve, reject) => reject(x)); -} - -doSomething('fail') - .then((x) => { - console.log('success:', x); - }) - .catch((err) => { - console.log('fail:', err); - }); -// fail: fail -``` - -另外,还有一个比较有意思的细节,在 catch 之后继续添加 .then 会被继续执行。 - -```js -function doSomething(x) { - return new Promise((resolve, reject) => reject(x)); -} - -doSomething('fail') - .then((x) => { - console.log('success:', x); - }) - .catch((err) => { - console.log('fail:', err); - // 这里可以写 return 给下面的方法继续执行 - }) - .then((x) => { - console.log('continue:', x); - }); -// fail: fail -// continue: undefined -``` - - - -### Async/Await - -本质上来讲, Async/Await 是通过 Promise 实现,所以基本跟上面 Promise 所讲的差不多。 - -可以在 await 方法外嵌套 try/catch,类似这样: - -```js -function doSomething(x) { - return new Promise((resolve, reject) => reject(x)); -} - -(async () => { - try { - const result = await doSomething('fail'); - console.log('success:', result); - // return 返回 - } catch (err) { - console.log('fail:', err); - // return 返回 - } -})(); -// fail: fail -``` - -但这里就有一个问题,比如函数需要有返回,那么返回的语句就需要写两次,正常但时候返回结果,错误的时候,返回一个 `throw new Error()` 或者其他的。有一个小的窍门,可以这样写: - -```js -function doSomething(x) { - return new Promise((resolve, reject) => reject(x)); -} - -(async () => { - const result = await doSomething('fail').catch((err) => { - console.log('fail:', err); - return 0; // 默认值 - }); - console.log('success:', result); -})(); -// fail: fail -// success: 0 -``` - -在错误捕获到之后,重新分配一个默认值,让代码继续运行。 diff --git a/content/zh/basic/knowledge/docker.md b/content/zh/basic/knowledge/docker.md deleted file mode 100644 index f79868e0..00000000 --- a/content/zh/basic/knowledge/docker.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Docker 加速 -description: '' -position: 1205 -category: '知识篇-基础知识' ---- - -## 阿里云 - - - -## DaoCloud - - - -## 使用 - -**_注:_** 上面的两家服务是免费的。 - -以阿里云在 Mac 下使用为例: - -登陆控制台,获取专属下载地址,如 `https://xxxx.mirror.aliyuncs.com` - -使用 Docker-Machine 安装虚拟机: - -```bash -docker-machine create --engine-registry-mirror=https://xxxx.mirror.aliyuncs.com -d virtualbox default -``` - -查看机器的环境配置,并配置到本地,并通过 Docker 客户端访问 Docker 服务。 - -```bash -docker-machine env default -eval "$(docker-machine env default)" -docker info -``` - -阿里云 9 折推荐码: - -> 0kbwsn - -注册地址: - - diff --git a/content/zh/basic/knowledge/fonts.md b/content/zh/basic/knowledge/fonts.md deleted file mode 100644 index 2db1194d..00000000 --- a/content/zh/basic/knowledge/fonts.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: 跨平台的Web中文字体解决方案 -menuTitle: 中文字体 -description: '' -position: 1206 -category: '知识篇-基础知识' ---- - -Fonts.css: - -## 黑体 - -```css -font-family: -apple-system, 'Helvetica Neue', Helvetica, 'Nimbus Sans L', Arial, 'Liberation Sans', 'PingFang SC', 'Hiragino Sans GB', - 'Source Han Sans CN', 'Source Han Sans SC', 'Microsoft YaHei', 'Wenquanyi Micro Hei', 'WenQuanYi Zen Hei', 'ST Heiti', SimHei, - 'WenQuanYi Zen Hei Sharp', sans-serif; -``` - -- Use apple system font (like San Francisco) by default, see also: https://github.com/zenozeng/fonts.css/issues/29 -- 某些 Linux 中 Helvetica 会自动 fallback 到 Nimbus Sans L (具体见 /etc/fonts/conf.d/30-metric-aliases.conf, debian jessie/sid ) -- 某些 Linux 中 Arial 会自动 fallback 到 Liberation Sans (具体见 /etc/fonts/conf.d/30-metric-aliases.conf, debian jessie/sid ) - -## 楷体 - -```css -font-family: Baskerville, Georgia, 'Liberation Serif', 'Kaiti SC', STKaiti, 'AR PL UKai CN', 'AR PL UKai HK', 'AR PL UKai TW', 'AR PL UKai TW MBE', - 'AR PL KaitiM GB', KaiTi, KaiTi_GB2312, DFKai-SB, 'TW\-Kai', serif; -``` - -## 宋体 - -```css -font-family: Georgia, 'Nimbus Roman No9 L', 'Songti SC', STSong, 'AR PL New Sung', 'AR PL SungtiL GB', NSimSun, SimSun, 'TW\-Sung', - 'WenQuanYi Bitmap Song', 'AR PL UMing CN', 'AR PL UMing HK', 'AR PL UMing TW', 'AR PL UMing TW MBE', PMingLiU, MingLiU, serif; -``` - -## 仿宋 - -```css -font-family: Baskerville, 'Times New Roman', 'Liberation Serif', STFangsong, FangSong, FangSong_GB2312, 'CWTEX\-F', serif; -``` - -- 某些 Linux 中 Times New Roman 会自动 fallback 到 Liberation Serif (具体见 /etc/fonts/conf.d/30-metric-aliases.conf, debian jessie/sid ) -- CWTEX 仿宋体是繁体字型 - - diff --git a/content/zh/basic/knowledge/git.md b/content/zh/basic/knowledge/git.md deleted file mode 100644 index 3a16677d..00000000 --- a/content/zh/basic/knowledge/git.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Git -description: '' -position: 1203 -category: '知识篇-基础知识' ---- - -## 初始化版本库 - -Git 通常有两种方式来进行初始化: - -#### git clone: - -这是较为简单的一种初始化方式,当你已经有一个远程的 Git 版本库,只需要在本地克隆一份 - -例如: - - $ git clone git://github.com/someone/some_project.git some_project - -上面的命令就是将'git://github.com/someone/some_project.git'这个 URL 地址的远程版本库完全克隆到本地 some_project 目录下面, -如果想要设置自己的 git 配置,就 git init 初始化.git 文件.创建自己的版本库,也可以 git branch new_branch 创建自己的分支. - - $ git remote add origin git://github.com/someone/some_project.git - -设置远程服务器别名为 origin,这样将代码提交的时候就可以执行以下命令: - - $ git push origin #将代码提交到origin的master上面(默认) - -#### git init 和 git remote: - -这种初始化方式稍微复杂一些 - -例如: - - $ mkdir [yourworkname] #本地创建一个工作目录 - $ cd [yourworkname] #进入这个目录 - $ git init #初始化版本库,即生成.git,就会对该目录下的文件进行版本控制 - -Git 以后,你会看到目录下面自动生成.git 文件,用于版本管理使用(非常重要的文件,不要轻易改动),这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建一个目录,并把可访问的 URL 记录下来,此时你就可以利用'git remote add'命令来增加一个远程服务器端, - -例如: - - $ git remote add origin git://github.com/someone/another_project.git - -上面的命令就会增加 URL 地址为'git: //github.com/someone/another_project.git',名称为 origin 的远程服务器,以后提交代码的时候只需要使用 origin 别名即可 - - - -## Git 的基本命令 - -现在我们有了本地和远程的版本库,让我们来试着用用 Git 的基本命令: - -#### git pull: - -从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将 origin 这个版本库的代码更新到本地的 master 主枝,该功能类似于 SVN 的 update - -#### git add: - -是 将当前更改或者新增的文件加入到 Git 的索引中,加入到 Git 的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加 app/model/user.rb 文件到 Git 的索引中,也可以使用 git add .来加入当前工作空间所有修改过或者新增的文件. - -#### git rm: - -从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb',该功能类似于 SVN 的 rm、del - -#### git commit: - -提交当前工作空间的修改内容,类似于 SVN 的 commit 命令,例如'git commit -m story #3, add user model',提交的时候必须用-m 来输入一条提交信息,该功能类似于 SVN 的 commit - -#### git push: - -将本地 commit 的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为 orgin 的远程版本库中 - -#### git log: - -查看历史日志,该功能类似于 SVN 的 log - -#### git revert: - -还原一个版本的修改,必须提供一个具体的 Git 版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git 的版本号都是生成的一个哈希值 - -#### git branch: - -对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做 new_branch 的新分支,'git branch -D new_branch'就会强制删除叫做 new_branch 的分支,'git branch'就会列出本地所有的分支 - -#### git checkout: - -Git 的 checkout 有两个作用,其一是在不同的 branch 之间进行切换,例如'git checkout new_branch'就会切换到 new_branch 的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将 user.rb 文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚 - -#### git rebase: - -用下面两幅图解释会比较清楚一些,rebase 命令执行后,实际上是将分支点从 C 移到了 G,这样分支也就具有了从 C 到 G 的功能 - -![img](/basic/git/rebase.jpg) - -#### git reset: - -将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有 A-G 五次提交的版本,其中 C 的版本号是 bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我们执行了'git reset bbaf6fb5060b4875b18ff9ff637ce118256d6f20'那么结果就只剩下了 A-C 三个提交的版本 - -![img](/basic/git/reset.jpg) - -1. Git 允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id。 - -2. 穿梭前,用 git log 可以查看提交历史,以便确定要回退到哪个版本。 - -3. 要重返未来,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本。 - -#### git stash: - -将当前未提交的工作存入 Git 工作栈中,时机成熟的时候再应用回来,这里暂时提一下这个命令的用法,后面在技巧篇会重点讲解 - -#### git config: - -利用这个命令可以新增、更改 Git 的各种设置,例如'git config branch.master.remote origin'就将 master 的远程版本库设置为别名叫做 origin 版本库,后面在技巧篇会利用这个命令个性化设置你的 Git,为你打造独一无二的 Git - -设置默认分支: - -```bash -git config --global init.defaultBranch main -``` - -#### git tag: - -可以将某个具体的版本打上一个标签,这样你就不需要记忆复杂的版本号哈希值了,例如你可以使用'git tag revert_version bbaf6fb5060b4875b18ff9ff637ce118256d6f20'来标记这个被你还原的版本,那么以后你想查看该版本时,就可以使用 revert_version 标签名,而不是哈希值了 diff --git a/content/zh/basic/knowledge/github-pages-spa-router.md b/content/zh/basic/knowledge/github-pages-spa-router.md deleted file mode 100644 index 3bdb0fb0..00000000 --- a/content/zh/basic/knowledge/github-pages-spa-router.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Github Pages 中部署 SPA(路由单页应用) -menuTitle: Github部署SPA应用 -description: '' -position: 1207 -category: '知识篇-基础知识' ---- - -Github Pages 特性的几点说明: - -- 不支持 Rewrite,所以原则上来说,静态单页应用路由是无法实现的,因为刷新页面后就会报 404 错误 -- 支持自定义 404,那么我们就可以通过 404.html 来做点文章 - -参考该评论:[Github #408](https://github.com/isaacs/github/issues/408#issuecomment-216721113) - ---- - -无论是 Vue、Angular、React,打包生成的静态单页应用,理论上来讲都是可以利用 404 的特性 部署到 Github Pages 上的。 - -这里我做了一个示例: - -可以直接访问查看效果,即便刷新页面也是能够响应的。支持嵌套路由、泛(Wildcard)路由及未找到(NoMatch)渲染。 - -有几个需要注意的细节讲一下: - -## 1. 路由的设定 - -如果用的是自定义域名,则没有太大关系。但如果是一个非 xxx.github.io 的项目, 而是类似这样的入口路径 `xxx.github.io/xxx` 就需要特别注意一下路由的命名,需要带上特定项目名称作为前缀。 - -## 2. 静态资源的路径 - -我在做尝试时候发现一个奇怪的现象 - -``` -/home -/about -/topics -``` - -这样一级的路由是可以访问的,但如果是 - -``` -/topics/routing -/topics/xxx -``` - -这样路由页面,在刷新之后会变成大白板,一开始我以为是需要在对应目录下分别都创建一个 404.html 后来发现并不是这样,而是我静态资源加载错误,后来发现是因为 404 页面中引用的静态资源(.js 文件)是类似这样的加载方式: - -```html - -``` - -## 配置文件修改 - -```js -window.$docsify = { - // ... - plugins: [ - function (hook, vm) { - hook.ready(function () { - mermaid.initialize({ startOnLoad: false }); - }); - hook.doneEach(function () { - mermaid.init(undefined, '.mermaid'); - }); - } - ], - markdown: { - renderer: { - code: function (code, lang) { - var html = ''; - if (code.match(/^sequenceDiagram/) || code.match(/^graph/) || code.match(/^gantt/)) { - html = '
    ' + code + '
    '; - } - var hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup); - return html + '
    ' + hl + '
    '; - } - } - } -}; -``` - -解释一下,两个关键步骤: - -### markdown 代码解析器 - -```js -markdown: { - renderer: { - code: function(code, lang) { - var html = ''; - // 搜索 mermaid 代码 - if(code.match(/^sequenceDiagram/) || code.match(/^graph/) || code.match(/^gantt/)){ - // 生成一个 mermaid 图表的容器 - html = '
    ' + code + '
    '; - } - // 源码自带的 Prism 高亮插件 - var hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup) - // 将图表的容器添加到代码之前 - return html + '
    ' + hl + '
    ' - } - } -} -``` - - - -### 自定义插件 - -```js -plugins: [ - function (hook, vm) { - hook.ready(function () { - // 类似 jQuery.ready 初始化 mermaid, 禁用自动渲染 - mermaid.initialize({ startOnLoad: false }); - }); - hook.doneEach(function () { - // 每个页面渲染完成后手动渲染 mermaid 图表 - mermaid.init(undefined, '.mermaid'); - }); - } -]; -``` - -最后再补一张甘特图: - -![mermaid2](https://user-images.githubusercontent.com/1890238/27322558-31c84fbe-5564-11e7-9949-851fddbafa33.png) - -Mermaid 支持: - -- 流程图 -- 序列图 -- 甘特图 - -而且语法结构非常简单,值得推荐. - -## 其实,正文才刚刚开始. - -### 流程图 - -#### 开始/结束 - -```mermaid -graph TB - s(开始/结束) - style s rx: 10, ry: 10 -``` - -#### 过程 - -```mermaid -graph TB - step1[过程] -``` - -#### 输入/输出 - -```mermaid -graph TB - step2>输入/输出] -``` - -#### 判断 - -```mermaid -graph TB - step3{判断} -``` - -#### 连接线 - -```mermaid -graph LR - A --> B -``` - -#### 自定义样式 - -```mermaid -graph LR - id1(Start)-->id2(Stop) - style id1 fill:#f9f,stroke:#333,stroke-width:4px - style id2 fill:#ccf,stroke:#f66,stroke-width:2px,stroke-dasharray: 5, 5 -``` - -#### 示例 - -```mermaid -graph TB - s(开始) --> step1>输入参数] - step1 --> step2{判断参数合法性} - step2 ==> |校验失败|e - step2--> |校验成功|step3[处理业务] - step3 --> e(结束) - style s rx: 10, ry: 10 - style e rx: 10, ry: 10 -``` - -#### 子图 - -```mermaid -graph TB - s(开始) --> step1>输入参数] - subgraph 强调 - step1 --> step2{判断参数合法性} - end - step2 ==> |校验失败|e - step2--> |校验成功|step3[处理业务] - step3 --> e(结束) - style s rx: 10, ry: 10 - style e rx: 10, ry: 10 -``` - -### 时序图 - -#### 参与者 - -```mermaid -sequenceDiagram - participant 客户端 - participant 接口服务器 - participant 数据库 -``` - -#### 消息 - -##### 消息格式 - -``` -[参与者][箭头][参与者]:消息内容 -``` - -支持的箭头有: - -| 类型 | 说明 | -| :--: | ------------------ | -| -> | 无箭头实线 | -| --> | 无箭头虚线 | -| ->> | 箭头实线 | -| -->> | 箭头虚线 | -| -x | 箭头实线带 x(异步) | -| --x | 箭头虚线带 x(异步) | - -```mermaid -sequenceDiagram - Alice->>John: Hello John, how are you? - John-->>Alice: Great! -``` - -#### 激活 - -用 `+/-` 符号 - -```mermaid -sequenceDiagram - Alice->>+John: Hello John, how are you? - Alice->>+John: John, can yoy hear me? - John-->>-Alice: Hi Alice, I can hear you! - John-->>-Alice: I feel great! -``` - -### 甘特图 - -```mermaid -gantt -dateFormat YYYY-MM-DD -title Adding GANTT diagram functionality to mermaid - -section A section -Completed task :done, des1, 2014-01-06,2014-01-08 -Active task :active, des2, 2014-01-09, 3d -Future task : des3, after des2, 5d -Future task2 : des4, after des3, 5d - -section Critical tasks -Completed task in the critical line :crit, done, 2014-01-06,24h -Implement parser and jison :crit, done, after des1, 2d -Create tests for parser :crit, active, 3d -Future task in critical line :crit, 5d -Create tests for renderer :2d -Add to mermaid :1d - -section Documentation -Describe gantt syntax :active, a1, after des1, 3d -Add gantt diagram to demo page :after a1 , 20h -Add another diagram to demo page :doc1, after a1 , 48h - -section Last section -Describe gantt syntax :after doc1, 3d -Add gantt diagram to demo page :20h -Add another diagram to demo page :48h -``` - -## 在线编辑器 - - diff --git a/content/zh/basic/md/gitbook-to-docsify.md b/content/zh/basic/md/gitbook-to-docsify.md deleted file mode 100644 index 3d5f1b7d..00000000 --- a/content/zh/basic/md/gitbook-to-docsify.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: Gitbook 迁移到 Docsify -description: '' -position: 1502 -category: 知识篇-Markdown ---- - -## 1. 删除 GitBook 相关文件/文件夹 - -比如 `public` 目录, `node_modules`目录, `book.json` 等. - -## 2. 将 `Summary.md` 改名为 `_sidebar.md` - -去除文件内的标题 `#` , 都改为列表 - -类似: - -```markdown -- [版权](COPYRIGHT.md) -- 知识篇 - - [操作系统(OS X)](basic/osx.md) - - 必备神器 - - [Brew](basic/resource/brew.md) - - [OhMyZsh](basic/resource/zsh.md) - - [Dnsmasq](basic/resource/dnsmasq.md) - - [IDE](basic/resource/ide.md) - - [科学上网](basic/resource/ss.md) - - [在线资源](basic/resource/online.md) - - [离线资源](basic/resource/offline.md) - - [前端资源](basic/resource/frontend.md) -``` - -## 3. 安装 Docsify - -```bash -yarn global add docsify-cli -# 或 -npm i -g docsify-cli -``` - -项目根目录创建 `index.html`, 如: - -```html - - - - - 不可替代的团队领袖培养计划 - - - - - -
    - - - - -``` - - - -注意这里的 `alias`, 是设置别名用的. 我们需要为每个创建的目录重定向`_sidebar.md`, 因为 Docsify 默认是从当前目录下去找这个文件的. - -写一个简单脚本遍历一下,在根目录创建 `sidebar.js` - -```js -const fs = require('fs'); -const path = require('path'); - -const root = path.join(__dirname); -const result = {}; - -function readDirSync(p) { - const dir = fs.readdirSync(p); - dir.forEach((file) => { - const info = fs.statSync(`${p}/${file}`); - if (info.isDirectory() && file.indexOf('.') !== 0 && file.indexOf('_') !== 0) { - result[`${p.replace(root, '')}/${file}/_sidebar.md`] = '/_sidebar.md'; - readDirSync(`${p}/${file}`); - } - }); -} - -readDirSync(root); -console.log(result); -``` - -将打印出来 - -```js -{ - '/basic/_sidebar.md': '/_sidebar.md', - '/basic/algorithm/_sidebar.md': '/_sidebar.md', - '/basic/db/_sidebar.md': '/_sidebar.md', - '/basic/framework/_sidebar.md': '/_sidebar.md', - '/basic/js/_sidebar.md': '/_sidebar.md' -} -``` - -这样的一个对象,赋值到 `alias` 里即可. - -## 4.发布 - -如果发布到`Github Pages`或其他类似的地方,不在需要将`Pages`部署到`gh-pages`分支, 只需要修改为部署`master`分支即可. diff --git a/content/zh/basic/md/gitbook.md b/content/zh/basic/md/gitbook.md deleted file mode 100644 index a49aba41..00000000 --- a/content/zh/basic/md/gitbook.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: GitBook静态文档生成 -description: '' -position: 1504 -category: 知识篇-Markdown ---- - -GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书 - -## 安装使用 - -- 登陆 gitbook,使用 github 账号登陆,新建一个 book,然后选择 link to github.(不要选择 gitbook 在线编辑) - -- 新建 github 仓库比如 some_book.git - -- 本地安装 gitbook 和 gitbook-cli 命令行工具: - - $ cnpm i -g gitbook-cli - $ gitbook versions:install - -- 本地新建 my_book - - $ gitbook init my_book #新建一本书 - $ cd my_book - $ git init - -- 使用 GitBook 制作电子书,必备两个文件:README.md 和 SUMMARY.md - -### README.md: - -电子书介绍说明部分 - -### SUMMARY.md: - -电子书目录部分 - -接下来只需要编写相应章节即可。在编辑完 README.md 和 SUMMARY.md 后,可以运行以下命令: - - $ git add . - $ git commit -m '...' - $ git remote add origin git@github.com:xxxx/some_book.git #创建远程服务器 - $ git push -u origin master - -Gitbook 首先把你的 Markdown 文件编译为 HTML 文件,并根据 SUMMARY.md 生成书的目录。所有生存的文件都保存在当前目录下的一个名为\_book 的子目录中。完成这些工作后,Gitbook 会作为一个 HTTP Server 运行,并在 4000 端口监听 HTTP 请求。 - -然后使用 markdown 语法编辑文章,开启本地服务器: - - $ gitbook serve - -## 插件使用 - -添加插件后使用 - -```bash -gitbook install -``` - -进行安装 - - - -### TOC 目录生成 - -book.json 配置: - -```json -{ - "plugins": ["atoc"], - "pluginsConfig": { - "atoc": { - "addClass": true, - "className": "atoc" - } - } -} -``` - -在需要使用目录的章节文字顶部加入 - -```html - -``` - -即可生成文档目录。 - -### 捐赠插件 - -book.json 配置: - -```json -{ - "plugins": ["donate"], - "pluginsConfig": { - "donate": { - "wechat": "例:/images/qr.png", - "alipay": "http://blog.willin.wang/static/images/qr.png", - "title": "默认空", - "button": "默认值:Donate", - "alipayText": "默认值:支付宝捐赠", - "wechatText": "默认值:微信捐赠" - } - } -} -``` - -### 文章字数统计 - -book.json 配置: - -```json -{ - "plugins": ["wordcount"] -} -``` - -运行示例: - -``` -info: found 24 pages -info: found 99 asset files -Completed counting with 13313 words. -info: >> generation finished with success in 5.8s ! - -Starting server ... -Serving book on http://localhost:4000 -``` diff --git a/content/zh/basic/md/hexo.md b/content/zh/basic/md/hexo.md deleted file mode 100644 index 77561063..00000000 --- a/content/zh/basic/md/hexo.md +++ /dev/null @@ -1,403 +0,0 @@ ---- -title: Hexo搭建静态博客 -description: '' -position: 1501 -category: 知识篇-Markdown ---- - -## 1. 环境 - -### 1.1 安装 Git - -### 1.2 安装 node.js - -**1. 安装 nvm** - -使用 curl 方式安装: - -> $curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.1/install.sh | bash - -> $echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \ --cache=$HOME/.npm/.cache/cnpm \ --disturl=https://npm.taobao.org/dist \ --userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc - -**2. 使用 nvm 安装 node.js** - -> $nvm install node - -> $nvm alias default node - -## 2. 配置 Github - -### 2.1 建立 Respository - -建立与你用户名对应的仓库,仓库名必须为【**your_user_name**.github.io】 - -### 2.2 配置 SSH-Key - -参考:[Windows 下 Git 安装指南](http://www.cnblogs.com/zhcncn/p/3787849.html) - -##3. 安装 Hexo - -###3.1 Installation -打开 Git 命令,执行如下命令 - -> $ cnpm install -g hexo - -###3.2 Quick Start - -**1. Setup your blog** - -在电脑中建立一个名字叫「Hexo」的文件夹(比如我建在了 D:\Hexo),然后在此文件夹中右键打开 Git Bash。执行下面的命令 - -> $ hexo init - -> [info] Copying data - -> [info] You are almost done! Don't forget to run `cnpm install` before you start blogging with Hexo! - -Hexo 随后会自动在目标文件夹建立网站所需要的文件。然后按照提示,运行 cnpm install(在 /D/Hexo 下) - -> cnpm install - -会在 D:\Hexo 目录中安装 node_modules。 - -**2. Start the server** - -运行下面的命令(在 /D/Hexo 下) - -> $ hexo server - -> [info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop. - -表明 Hexo Server 已经启动了,在浏览器中打开 [http://localhost:4000/](http://localhost:4000/),这时可以看到 Hexo 已为你生成了一篇 blog。 - -你可以按 Ctrl+C 停止 Server。 - -**3. Create a new post** - -新打开一个 git bash 命令行窗口,cd 到/D/Hexo 下,执行下面的命令 - -> $ hexo new "My New Post" - -> [info] File created at d:\Hexo\source_posts\My-New-Post.md - -刷新 http://localhost:4000/,可以发现已生成了一篇新文章 "My New Post"。 - - - -**NOTE:** - -有一个问题,发现 "My New Post" 被发了 2 遍,在 Hexo server 所在的 git bash 窗口也能看到 create 了 2 次。 - -> $ hexo server - -> [info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop. - -> [create] d:\Hexo\source_posts\My-New-Post.md - -> [create] d:\Hexo\source_posts\My-New-Post.md - -经验证,在 hexo new "My New Post" 时,如果按 Ctrl+C 将 hexo server 停掉,就不会出现发 2 次的问题了。 - -所以,在 hexo new 文章时,需要 stop server。 - -**4. Generate static files** - -执行下面的命令,将 markdown 文件生成静态网页。 - -> $ hexo generate - -该命令执行完后,会在 D:\Hexo\public\ 目录下生成一系列 html,css 等文件。 - -**5. 编辑文章** - -hexo new "My New Post"会在 D:\Hexo\source_posts 目录下生成一个 markdown 文件:My-New-Post.md - -可以使用一个支持 markdown 语法的编辑器(比如 Sublime Text 2)来编辑该文件。 - -**6. 部署到 Github** - -部署到 Github 前需要配置\_config.yml 文件,首先找到下面的内容 - -``` -# Deployment -## Docs: http://hexo.io/docs/deployment.html -deploy: - type: -``` - -然后将它们修改为 - -``` -# Deployment -## Docs: http://hexo.io/docs/deployment.html -deploy: - type: git - repository: git@github.com:zhchnchn/zhchnchn.github.io.git - branch: master -``` - -**NOTE1:** - -Repository:必须是 SSH 形式的 url(git@github.com:zhchnchn/zhchnchn.github.io.git),而不能是 HTTPS 形式的 url(https://github.com/zhchnchn/zhchnchn.github.io.git),否则会出现错误: - -> $ hexo deploy - -> [info] Start deploying: github - -> [error] https://github.com/zhchnchn/zhchnchn.github.io is not a valid repositor URL! - -使用 SSH url,如果电脑没有开放 SSH 端口,会致部署失败。 - -> fatal: Could not read from remote repository. - -> Please make sure you have the correct access rights -> and the repository exists. - -**NOTE2:** - -如果你是为一个项目制作网站,那么需要把 branch 设置为 gh-pages。 - -**7. 测试** - -当部署完成后,在浏览器中打开[http://our_user_name.github.io/](https://our_user_name.github.io/) ,正常显示网页,表明部署成功。 - -**8. 总结:部署步骤** - -每次部署的步骤,可按以下三步来进行。 - -> hexo clean - -> hexo generate - -> hexo deploy - -**9. 总结:本地调试** - -1. 在执行下面的命令后, - -> $ hexo g #生成 - -> $ hexo s #启动本地服务,进行文章预览调试 - -浏览器输入 http://localhost:4000,查看搭建效果。此后的每次变更\_config.yml 文件或者新建文件都可以先用此命令调试,尤其是当你想调试新添加的主题时。 - -2. 可以用简化的一条命令 - -> hexo s -g - -###3.3 总结 -####3.3.1 常用命令 - -> hexo new "postName" #新建文章 - -> hexo new page "pageName" #新建页面 - -> hexo generate #生成静态页面至 public 目录 - -> hexo server #开启预览访问端口(默认端口 4000,'ctrl + c'关闭 server) - -> hexo deploy #将.deploy 目录部署到 GitHub - -> hexo help # 查看帮助 - -> hexo version #查看 Hexo 的版本 - -####3.3.2 复合命令 - -> hexo deploy -g #生成加部署 - -> hexo server -g #生成加预览 - -命令的简写为: - -> hexo n == hexo new - -> hexo g == hexo generate - -> hexo s == hexo server - -> hexo d == hexo deploy - -##4. 配置 Hexo - -#### [配置参考: http://ibruce.info/2013/11/22/hexo-your-blog/](http://ibruce.info/2013/11/22/hexo-your-blog/) - -# 配合 Travis CI,将 Hexo 博客自动部署到 github 上 - -## 1. 新建代码仓库 - -新建一个代码仓库,有一个注意点,若仓库取名为【**your_user_name**.github.io】,则需要新建一个分支用来放.md 文件,因为 html 文件会自动部署到 master 上。若仓库名只是普通的名称,则可以将.md 文件放到 master 分支上,但这时需要新建一个分支 gh-pages 用来放 html 文件。 - -这里,我们就使用了【**your_user_name**.github.io】这样的仓库名,取名为 Hexo.github.io,新建一个分支,取名为 raw。 - -Clone 到本地 - -``` -git clone -b raw <仓库克隆URL> #只Clone出新建的raw分支 保留master分支用于部署 -``` - -## 2. 安装 Node.js 和 Hexo - -请参考[2.1 Hexo 搭建](https://crabxlab.gitbooks.io/fs-guide/content/front/hexo_create.html) - -## 3. 使用 Travis CI - -首先我们先打开[Travis CI](https://travis-ci.org/),可以在右上角找到使用 GitHub 登陆的按钮。 -![travis ci](/basic/travis/travis.png) - -授权完成后,你可以在左上角找到 My Repositories 一旁的加号“+”,点击它,它就会列出你所有的仓库,你只需要找到刚才的 hexo.github.io 并把它左侧的开关打开就可以了。 - -![img](/basic/travis/04.01.png) -![img](/basic/travis/04.02.png) - -## 4. 生成 GitHub Personal Access Token - -登录 GitHub,在右上角头像处进入设置。 - -![img](/basic/travis/05.00.png) - -在左侧找到 Personal access tokens,并点击右上角的 Generate new token。 - -![img](/basic/travis/05.01.png) - -需要为新的 Token 输入一个名字,这里我们就填入 Travis CI 好了。 - -![img](/basic/travis/05.02.png) - -确定生成后,Token 将显示在页面上,此时需要将其复制并保存好,并避免泄露。遗忘 Token 后不能找回,只能重新生成。 - -![img](/basic/travis/05.03.png) - -最后,我们还需要[生成随机字符串](https://www.random.org/strings/?num=10&len=20&digits=on&upperalpha=on&loweralpha=on&unique=on&format=html&rnd=new),并在其中选择一行随机字符串,为下文备用。 - -## 5. 配置 Travis CI - -首先在 Travis CI 中找到已经启用自动构建的仓库,并在右侧找到设置按钮。 - -![img](/basic/travis/06.00.png) - -注意:该图片中的仓库名称为 SumiMakito.github.io,但我们这里的名称应该为 Hexo.github.io。 - -有两处需要设置,首先需要启用 Build only if .travis.yml is present 选项,以避免 master 分支被构建和陷入构建循环的问题。 - -另外,在下方的环境变量设置处,我们需要设置两组变量,并注意保持 Display value in build log 禁用,以免构建日志泄露 Token 等信息。 - -``` -#需要设置的两组变量 -GitHubKEY = 上文生成的GitHub Personal Access Token -NOTIFY_TOKEN = 上文生成的随机字符串 -``` - -![img](/basic/travis/06.01.png) - -在每次 Push 后,Travis CI 将检查分支下的 .travis.yml 文件,并以此作为配置进行构建。 - -在分支下新建.travis.yml 和 build.sh。下面是我所使用的 .travis.yml : - -```yml -language: node_js -node_js: - - '0.12' -install: - - npm install hexo-cli -g - - npm install hexo --save - - npm install -script: - - chmod +x ./build.sh - - ./build.sh > /dev/null -branches: - only: - - raw -``` - -在这里,配置文件限制了自动构建工作只会在 raw 分支下进行。 - -下面是我所使用的 build.sh: - -``` -hexo generate #生成静态整站 -cd ./public #生成的静态页面会存储在public目录下 -git init -git config --global push.default matching -git config --global user.email "username@example.com" #填入GitHub的邮箱地址 -git config --global user.name "username" #填入GitHub的用户名 -git add --all . -git commit -m "Travis CI Auto Builder" #自动构建后的内容将全部以此信息提交 -git push --quiet --force https://${GitHubKEY}@github.com/你的GitHub用户名/你的代码仓库名.git master #自动构建后的内容将全部以此信息提交 -curl --connect-timeout 20 --max-time 30 -s http://远端服务器URL/webhook.php?_=${NOTIFY_TOKEN} #服务器Webhook 将在下文介绍 -``` - -## 6. 测试 - -还记得之前的 Hexo 文件夹吗? - -``` -cd ./HexoBlog -hexo new hello-ci #本地没有Hexo的话可以直接跳过这一步 -vim ./source/_posts/hello-ci.md -git add --all . -git commit -m "Hello, CI!" -git push #将代码push到raw分支上 -``` - -登陆相应网址进行效果查看。 - -## 7. 附加 自动部署脚本 - -在项目文件夹下新建一个`cmd`文件(文件名随意),并为其增加执行权限。 - -``` -touch cmd -chmod +x cmd -``` - -`cmd`文件源码: - -```bash -#!/bin/bash -pushd $(dirname "${0}") > /dev/null -DIR=$(pwd -L) -popd > /dev/null -DATE=$(date +"%Y-%m-%d %H:%M") - -# get action -ACTION=$1 - -# help -usage() { - echo "Usage: ./cmd {commit|build|clean}" - exit 1; -} - -# start app -commit() { - git add . - git commit -m 'Post Auto Commit' - git push -} - -build() { - hexo d -g -} - -# stop app -clean() { - rm -rf .deploy_git - rm -rf public -} - -case "$ACTION" in - commit) - commit - ;; - build) - build - ;; - clean) - clean - ;; - *) - usage - ;; -esac -``` diff --git a/content/zh/basic/node/babel.md b/content/zh/basic/node/babel.md deleted file mode 100644 index 67184d04..00000000 --- a/content/zh/basic/node/babel.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Babel -description: '' -position: 1403 -category: '知识篇-Node.js' ---- - - - -`babel-node`和`babel-register`功能基本相近。 - -配置文件参考: - -## Babel-Register - -项目内安装 - -```bash -npm install babel-register --save -``` - -使用: - -创建`babel.js` - -```js -require('babel-register'); -module.exports = require('./server.js'); -``` - -执行: - -```bash -node babel.js -``` - -## Babel-Node - -全局安装: - -```bash -npm install babel-cli -g -``` - -使用: - -```bash -babel-node xxx.js -``` - - - -### 编译 ES5 代码 - -```bash -babel src --out-dir dist -``` - -源目录`src`,目标目录`dist`。 - -p.s. 从 Node.js `7.6.0` 版本开始,再也没用过 `Babel` 执行后端代码. diff --git a/content/zh/basic/node/benchmark.md b/content/zh/basic/node/benchmark.md deleted file mode 100644 index 1d7a353f..00000000 --- a/content/zh/basic/node/benchmark.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Benchmark -description: '' -position: 1406 -category: '知识篇-Node.js' ---- - -性能对比测试框架 Matcha: - -## 使用场景 - -技术选型,如图形验证码,在 NPM 包选取使用`canvas`还是`ccap`时可以用。 - -或,一个问题,有多种解决方案,选择采用哪一种方案的时候。 - -**_注意:_** 所有需要做选择的场景,最好都先做一下对比。 - -## 结果报告示例 - -``` -ATL (After v1.0.1) - if > (true) .................................... 4,752,967 op/s - if = (true) .................................... 4,653,896 op/s - if < (false) ................................... 4,612,560 op/s - -Left Shift (ATL v1.0.0) - << > (true) .................................... 2,562,098 op/s - << = (true) .................................... 2,473,787 op/s - << < (false) ................................... 2,458,286 op/s -``` - - - -## 示例代码 - -```js -suite('ATL', function () { - bench('if > (true)', function () { - atl('1.6.7', '1.4.4'); - }); - bench('if = (true)', function () { - atl('1.4.4', '1.4.4'); - }); - bench('if < (false)', function () { - atl('1.1.6', '1.4.4'); - }); -}); - -suite('Left Shift', function () { - bench('<< > (true)', function () { - atls('1.6.7', '1.4.4'); - }); - bench('<< = (true)', function () { - atls('1.4.4', '1.4.4'); - }); - bench('<< < (false)', function () { - atls('1.1.6', '1.4.4'); - }); -}); -``` - -源码位于: diff --git a/content/zh/basic/node/cpu.md b/content/zh/basic/node/cpu.md deleted file mode 100644 index 95085da5..00000000 --- a/content/zh/basic/node/cpu.md +++ /dev/null @@ -1,178 +0,0 @@ ---- -title: Node.js CPU调度优化 -menuTitle: CPU调度 -description: '' -position: 1408 -category: '知识篇-Node.js' ---- - -!> Master / Cluster 模式 - -## 单一服务器多核心分配 - -假设处理的任务列表如下: - -```js -const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; -``` - -以 10 为例,假设服务器为 4CPU,那么每个 CPU 处理的任务分别为: - -- CPU1: [1, 2, 3] -- CPU2: [4, 5, 6] -- CPU3: [7, 8] -- CPU4: [9, 0] - -```js -const numCPUs = require('os').cpus().length; // 假设该值为 4 - -// 处理的任务列表 -const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; - -// 调度处理代码写在这儿 -// 每个 CPU 分配 N 个任务 -const n = Math.floor(arr.length / numCPUs); -// 未分配的余数 -const remainder = arr.length % numCPUs; - -for (let i = 1; i <= numCPUs; i += 1) { - console.log(arr.splice(0, n + (i > remainder ? 0 : 1))); -} -``` - -## Cluster 模式示例 - -入口文件 `index.js` - -```js -const cluster = require('cluster'); -(async () => { - /* eslint global-require:0 */ - let run; - if (cluster.isMaster) { - run = require('./cluster/master'); - } else { - run = require('./cluster/worker'); - } - try { - await run(); - } catch (err) { - console.trace(err); - } -})(); -``` - -Master 任务: `./cluster/master.js` - -```js -const cluster = require('cluster'); -const numCPUs = require('os').cpus().length; - -// 处理的任务列表 -const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; - -module.exports = async () => { - // 调度处理代码写在这儿 - // 每个 CPU 分配 N 个任务 - const n = Math.floor(arr.length / numCPUs); - // 未分配的余数 - const remainder = arr.length % numCPUs; - - for (let i = 1; i <= numCPUs; i += 1) { - const tasks = arr.splice(0, n + (i > remainder ? 0 : 1)); - // 将任务编号传递到 Cluster 内启动 - cluster.fork({ tasks: JSON.stringify(tasks) }); - } - cluster.on('exit', (worker) => { - console.log(`worker #${worker.id} PID:${worker.process.pid} died`); - }); -}; -``` - -Cluster 任务: `./cluster/worker.js` - -```js -const cluster = require('cluster'); -// 禁止直接启动 -if (cluster.isMaster) { - process.exit(0); -} - -module.exports = async () => { - const env = process.env.tasks; - let tasks = []; - if (/^\[.*\]$/.test(env)) { - tasks = JSON.parse(env); - } - if (tasks.length === 0) { - // 非法启动, 释放进程资源 - process.exit(0); - } - console.log(`worker #${cluster.worker.id} PID:${process.pid} Start`); - console.log(tasks); -}; -``` - - - -## 多服务器多核心分配调度 - -假设处理的任务列表如下: - -```js -const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]; -``` - -有多台负载均衡器,仅确定服务器数量,不确定服务器硬件配置. - -假设目前有 3 台服务器,分别为 `4` 核心, `6` 核心, `8` 核心. - -按照核心性能进行优先调度,那么每个 CPU 处理的任务分别为: - -- 服务器 1 (`4` 核心, 1.8GHz) - - CPU1: [ 29 ] - - CPU2: [ 30 ] - - CPU3: [ 31 ] - - CPU4: [ 32 ] -- 服务器 2 (`6` 核心, 2.8GHz) - - CPU1: [ 1, 2 ] - - CPU2: [ 3, 4 ] - - CPU3: [ 5, 6 ] - - CPU4: [ 7, 8 ] - - CPU5: [ 9, 10 ] - - CPU6: [ 11, 12 ] -- 服务器 3 (`8` 核心, 2.0GHz) - - CPU1: [ 13, 14 ] - - CPU2: [ 15, 16 ] - - CPU3: [ 17, 18 ] - - CPU4: [ 19, 20 ] - - CPU5: [ 21, 22 ] - - CPU6: [ 23, 24 ] - - CPU7: [ 25, 26 ] - - CPU8: [ 27, 28 ] - -```js -const os = require('os'); -const numCPUs = os.cpus().length; - -// 处理的任务列表 -const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]; - -// 调度处理代码写在这儿 -// 处理器主频 -const speed = os.cpus().reduce((sum, cpu) => sum + cpu.speed, 0) / numCPUs; -// 主机名 -const hostname = os.hostname(); -// 获取内网ip -const eth0 = os.networkInterfaces().eth0; -const ip = typeof eth0 === 'undefined' ? '' : eth0.filter((x) => x.family === 'IPv4')[0].address; - -// ./cluster/master.js -module.exports = async () => { - // 上报服务器信息到公共区域, 如 redis - // 等待 `3` 台服务器全部上报完成 - // 性能最高的一台执行任务调度,得到任务列表 - // 写入公共区域,下派任务到其他服务器 - // 下派本地cluster任务 -}; -``` diff --git a/content/zh/basic/node/flow.md b/content/zh/basic/node/flow.md deleted file mode 100644 index 2fd93a4c..00000000 --- a/content/zh/basic/node/flow.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: Flow -description: '' -position: 1404 -category: '知识篇-Node.js' ---- - -## 安装 - -```bash -# babel -yarn add --dev babel-cli babel-preset-flow -# flow -yarn add --dev flow-bin -# 初始化 -flow init -``` - -检查执行的命令为: - -``` -yarn run flow -``` - -## 配置 - -### 配置 Eslint - -```js -// .eslintrc.js -module.exports = { - // extends: 'dwing', - parser: 'babel-eslint', - plugins: ['flowtype'] -}; -``` - -### 配置 Visual Studio Code - -关闭默认的 js 校验: - -```js -// .vscode/settings.json -// 将设置放入此文件中以覆盖默认值和用户设置。 -{ - "javascript.validate.enable": false -} -``` - -安装 flow 插件: - -[Flow Language Support](https://marketplace.visualstudio.com/items?itemName=flowtype.flow-for-vscode) - -### 配置项目 package.json - -```js -"scripts": { - "build": "babel src/ -d dist/", - "prepublish": "yarn run build" -} -``` - - - -## 常用语法 - -### 单一类型 - -```js -function square(n: number) { - return n * n; -} -``` - -### 多类型可能 - -```js -function stringifyBasicValue(value: string | number) { - return '' + value; -} -``` - -### 任意类型 - -```js -// 避免使用 any -function getTypeOf(value: mixed): string { - return typeof value; -} -``` - -### 可选参数 - -```js -function method(optionalValue?: string) { - // ... -} -``` - -### 解构赋值 - -```js -function foo({ x }: { x?: number } = {}): string { - if (x) { - return String(x); - } - return 'default string'; -} -``` - -示例项目位于: - -可以参考该项目进行项目框架的初始化搭建. diff --git a/content/zh/basic/node/npm.md b/content/zh/basic/node/npm.md deleted file mode 100644 index 2f7bd182..00000000 --- a/content/zh/basic/node/npm.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: 造轮子(NPM)篇 -description: '' -position: 1407 -category: '知识篇-Node.js' ---- - -注册 npm 账号,并登陆。 - -```bash -npm login -``` - -## 初始化项目 - -```bash -mkdir xxx-tool -cd xxx-tool -npm init -``` - -创建各类配置文件,如果使用`ES2015`及之后特性,需要用到`Babel.js`的,需要编译发布。 - -参考项目: - -package.json: - -```js -"scripts": { - "compile": "./node_modules/.bin/babel src --out-dir dist", - "prepublish": "npm run compile" -} -``` - -## 发布至 NPM - -### 1.检查`.gitignore`和`.npmignore`文件是否配置好 - -通常两者内容相近。如: - -``` -node_modules/ -*.log -.DS_Store -``` - -`.gitignore`中一般忽略生产环境编译输出的目录`dist/`,`.npmignore`中忽略源码目录`src/`。 - -### 2.检查`package.json`中的版本号 - -相同版本号不能反复发布。不能降级发布。每次需要更新并累加版本。 - -### 3.发布 - -```bash -npm publish -``` - -发布测试版本: - -```bash -npm publish --tag beta -``` - - - -## 发布私有模块到 NPM - -初始化项目的时候可以加入参数: - -```bash -npm init --scope= -``` - -或者直接修改`package.json`中的项目名称为: - -```bash -@scope/project-name -# 或 -@username/project-name -``` - -参考文档: diff --git a/content/zh/basic/node/pkg.md b/content/zh/basic/node/pkg.md deleted file mode 100644 index dc1ccf93..00000000 --- a/content/zh/basic/node/pkg.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Node.js 包管理 -menuTitle: 包管理 -description: '' -position: 1401 -category: '知识篇-Node.js' ---- - -## NPM - -### 初始化项目 - -```bash -npm init -``` - -### 安装依赖 - -```bash -# 产品环境依赖 -npm install -S package-name -# 开发环境依赖,如Webpack及插件,不需要在产品环境中引用的 -npm install -D package-name -# 选择依赖,如Demo中使用的 -npm install -O package-name -``` - -### 命令 - -Package.json 里: - -```js -"scripts": { - "start": "sh deploy.sh", - "test": "node_modules/.bin/gitbook serve", - "pack-win": "./node_modules/.bin/electron-packager . --asar --overwrite --platform=win32 --arch=ia32 --prune=true --out=out --version-string.CompanyName='GitHub, Inc.' --ignore=node_modules", - "pack-mac": "./node_modules/.bin/electron-packager . --asar --overwrite --platform=darwin --arch=x64 --prune=true --out=out --ignore=node_modules", - "pack-all": "./node_modules/.bin/electron-packager . --out=dist --prune --asar --overwrite --all" -} -``` - -其中,`start`、`test`可以直接使用这样的命令运行: - -```bash -npm start -npm test -``` - -其他,可以这样运行: - -```bash -npm run pack-win -npm run pack-mac -npm run pack-all - -npm run start -npm run test -``` - -避免使用`npm install -g`安装的`CLI`工具,推荐: - -- 通过`npm install --save-dev CLI`安装 -- 使用`./node_modules/.bin/CLI` - - - -## Yarn - - - -### 安装 Yarn - -```bash -# 前置条件Brew(Mac OS X) -brew update -brew install yarn -# 或 直接使用npm -npm i -g yarn -``` - -完成后用 `Sublime Text` 或其他编辑工具根据你使用的环境打开 `.zshrc` / `.bashrc` / `.profile`,添加一行: - -```bash -export PATH="$PATH:`yarn global bin`" -``` - -### 使用 - -#### 新建项目 - -```bash -yarn init -``` - -#### 安装依赖 - -```bash -yarn add [package] -yarn add [package]@[version] -yarn add [package]@[tag] -``` - -#### 更新依赖 - -```bash -yarn upgrade [package] -yarn upgrade [package]@[version] -yarn upgrade [package]@[tag] -``` - -#### 删除依赖 - -```bash -yarn remove [package] -``` - -#### 安装项目所有依赖 - -```bash -yarn -``` - -前提项目目录下存在 `yarn.lock` 文件,npm 添加的项目无法直接安装,需要通过 yarn 安装生成该 lock 文件。 diff --git a/content/zh/basic/node/test.md b/content/zh/basic/node/test.md deleted file mode 100644 index 6887700b..00000000 --- a/content/zh/basic/node/test.md +++ /dev/null @@ -1,249 +0,0 @@ ---- -title: Test -description: '' -position: 1405 -category: '知识篇-Node.js' ---- - -谁开发,谁测试。 - -**_注意:_** 原则上应该先写测试,再进行编码;如果需求时间紧,可以先进行功能实现,但务必后续维护时候将测试代码补充完善。 - -BDD(优先)+TDD(完全代码覆盖) - -## 测试框架 - -- ES5: mocha + istanbul -- ES6: ava + nyc - -## TDD - -Test Driven Development,(单元)测试驱动开发。 - -特点: - -1. 直接引用对应源码,执行方法进行测试; -2. 测试用例须设计完整,把所有分支都 Cover 到。 - -示例: - -```js -describe('Lib Common', function () { - 'use strict'; - it('isEmpty', function () { - // isObject - isEmpty({}).should.be.equal(true); - isEmpty([]).should.be.equal(true); - isEmpty({ a: 1 }).should.be.equal(false); - isEmpty([1, 2]).should.be.equal(false); - // isString - isEmpty('').should.be.equal(true); - isEmpty('sth').should.be.equal(false); - // isNumber - isEmpty(0).should.be.equal(true); - isEmpty(0.1).should.be.equal(false); - // null and undefined - isEmpty(null).should.be.equal(true); - isEmpty(undefined).should.be.equal(true); - // boolean - isEmpty(false).should.be.equal(true); - isEmpty(true).should.be.equal(false); - // 最后一行false - isEmpty(isEmpty).should.be.equal(false); - }); - it('md5/sha1', function () { - md5('sth').should.equal('7c8db9682ee40fd2f3e5d9e71034b717'); - sha1('sth').should.equal('dec981e3bbb165d021029c42291faf06f59827c1'); - }); - it('authcode', function () { - authcode(authcode('test'), 'DECODE').should.be.equal('test'); - authcode(authcode('test', 'ENCODE', 'key'), 'DECODE', 'key').should.be.equal('test'); - authcode('c008AsZqmGL8VuEVpZKVlbPwXzSsCZ+YX5K5CAGpMMqn', 'DECODE').should.be.equal(''); - }); -}); -``` - - - -## BDD - -Behavior Driven Development,行为驱动开发。 - -特点: - -1. 运行系统,模拟用户请求进行访问; -2. 行为分析要完整,要将可能所有结果覆盖。 - -示例: - -```js -/* 测试路由 */ -app.get('/test/model/mysql/init/ok', function (req, res) { - 'use strict'; - return db - .opensips('v1/subscriber') - .then(function () { - res.send(200, 'ok'); - }) - .catch(function (err) { - logger('routes/test/model/mysql/ok', err); - res.send(403, 'fail'); - }); -}); - -app.get('/test/model/mysql/init/fail', function (req, res) { - 'use strict'; - return db - .opensips('test/notExisted') - .then(function () { - res.send(200, 'OK'); - }) - .catch(function () { - res.send(200, 'fail'); - }); -}); - -/* 测试脚本 */ -describe('Demo', function () { - 'use strict'; - it('404 not found', function (next) { - request(app) - .get('/sth/not/exist') - .set('Accept', 'text/plain') - .expect(200) - .end(function (err, res) { - if (err) { - throw err; - } - should(res.body.status).be.equal(0); - next(); - }); - }); - it('403 not allowed', function (next) { - request(app) - .get('/v2/basic/mqtt') - .set('Accept', 'text/plain') - .expect(200) - .end(function (err, res) { - if (err) { - throw err; - } - should(res.body.status).be.equal(0); - next(); - }); - }); - it('Init opensips/subscriber Should be OK', function (next) { - request(app) - .get('/test/model/mysql/init/ok') - .set('Accept', 'text/plain') - .expect(200) - .expect('ok') - .end(function (err) { - if (err) { - //console.log(res.body); - throw err; - } - next(); - }); - }); - it('Init test/subscriber Should be FAILED', function (next) { - request(app) - .get('/test/model/mysql/init/fail') - .set('Accept', 'text/plain') - .expect(200) - .expect('fail') - .end(function (err) { - if (err) { - //console.log(res.body); - throw err; - } - next(); - }); - }); -}); -``` - -ES6 下的 BDD 测试示例对比: - -```js -import { test, server, assert } from './_import'; -let location; -test.before(async () => { - const response = await server.inject({ - method: 'POST', - url: '/login', - payload: { - username: 'willin', - password: 'PASSWORD' - } - }); - location = response.headers.location; -}); - -test('GET / 302', async () => { - const response = await server.inject({ - method: 'GET', - url: '/' - }); - assert.equal(response.statusCode, 302); -}); - -test('GET /login 200', async () => { - const response = await server.inject({ - method: 'GET', - url: '/login' - }); - assert.equal(response.statusCode, 200); -}); - -test('POST /login 302', async () => { - const response = await server.inject({ - method: 'POST', - url: '/login', - payload: { - username: 'willin', - password: 'PASSWORD' - } - }); - assert.equal(response.statusCode, 302); -}); - -test('POST /login 401', async () => { - const response = await server.inject({ - method: 'POST', - url: '/login', - payload: { - username: 'willin', - password: 'Ww10842073305zZa28v3PO5Ok0L63IdA' - } - }); - assert.equal(response.statusCode, 401); -}); - -test('POST /login Invalid Params 403', async () => { - const response = await server.inject({ - method: 'POST', - url: '/login', - payload: { - username: 'willin' - } - }); - assert.equal(response.statusCode, 403); -}); - -test('GET /doc 200', async () => { - const response = await server.inject({ - method: 'GET', - url: location - }); - assert.equal(response.statusCode, 200); -}); - -test('GET /doc 302', async () => { - const response = await server.inject({ - method: 'GET', - url: '/doc?' - }); - assert.equal(response.statusCode, 302); -}); -``` diff --git a/content/zh/basic/node/yarn.md b/content/zh/basic/node/yarn.md deleted file mode 100644 index 52a5a868..00000000 --- a/content/zh/basic/node/yarn.md +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: Yarn 进阶使用 -description: '' -position: 140 2 -category: '知识篇-Node.js' ---- - -## 批量升级所有依赖项并更新 package.json - -```js -const pack = require('./package.json'); -const { execSync } = require('child_process'); - -const list = [...Object.keys(pack.devDependencies), ...Object.keys(pack.dependencies)]; -// 忽略的项目 (不用升级) -const ignore = ['eslint', 'babel-cli']; - -list.forEach((item) => { - if (!ignore.includes(item)) { - console.log(`yarn upgrade ${item}`); - execSync(`yarn upgrade ${item}`); - } -}); -``` - -## 忽略 Node.js 要求 - -比如, 有一些包指定了 Node.js 版本的要求, 如: - -```js -"engines": { - "node": "^4.2.2" -} -``` - -```bash -yarn add PackageName --ignore-engines -``` - - - -## dependency 版本落后 - -以 `tim-event-processor-host` 包为例, 其中用到了一个子模块 `cerulean` 来处理 `azure-storage` - -我们想要用最新版本的`azure-storage`,但如果要一级级向上去提交`Pull Request`并且去等 npm 包作者更新, 实在是太慢太傻了. - -那么我们就可以利用 `postinstall` 特性来删除旧版本的 npm 包并使用新版本的. - -### 原理讲解 - -#### 1.只安装 `tim-event-processor-host` - -```bash -mkdir DIR && DIR -yarn add tim-event-processor-host --ignore-engines -cd node_modules -tree -L 1 -``` - -结果显示如下: - -```bash -. -├── ... # 把一些无关的目录都给忽略了 -├── azure-storage -├── cerulean -└── tim-event-processor-host - -113 directories, 0 files -``` - -`cerulean`, `azure-storage` 就都装在了 `node_modules` 目录下, - -#### 2.同时安装`tim-event-processor-host`和`azure-storage` - -```bash -mkdir DIR && DIR -yarn add tim-event-processor-host azure-storage --ignore-engines -cd node_modules -tree -L 1 -``` - -```bash -. -├── azure-storage # 最新版本 -├── cerulean -│   ├── LICENSE -│   ├── README.md -│   ├── examples -│   │   ├── README.md -│   │   ├── leader_followers.js -│   │   └── servicebus_send_receive.js -│   ├── lib -│   │   ├── blob_lease.js -│   │   ├── blob_lease_manager.js -│   │   └── index.js -│   ├── node_modules -│   │   ├── assert-plus -│   │   ├── azure-storage # 依赖项中的指定版本(旧) -│   │   ├── boom -│   │   ├── caseless -│   │   ├── cryptiles -│   │   ├── delayed-stream -│   │   ├── forever-agent -│   │   ├── form-data -│   │   ├── har-validator -│   │   ├── hawk -│   │   ├── hoek -│   │   ├── http-signature -│   │   ├── qs -│   │   ├── request -│   │   ├── sntp -│   │   └── validator -│   ├── package.json -│   ├── playground.js -│   └── test -│   └── integration -└── tim-azure-event-hubs - -406 directories, 1571 files -``` - -所以只需要将 `node_modules/cerulean/node_modules/azure-storage` 目录给删除掉, 让引用的时候自动向上递归查找即可. - -### 解决方案 - -```js -"dependencies": { - "azure-storage": "^2.2.1", - "tim-event-processor-host": "^0.0.3" -}, -"scripts": { - "postinstall": "rm -rf node_modules/cerulean/node_modules/azure-storage" -} -``` - -```bash -yarn --ignore-engines -``` - -完成. diff --git a/content/zh/basic/osx.md b/content/zh/basic/osx.md deleted file mode 100644 index ef33eaa5..00000000 --- a/content/zh/basic/osx.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: 操作系统 OS X -description: '' -position: 101 -category: '知识篇' ---- - -工欲善其事,必先利其器。 - -本章节将围绕以下几个话题依次展开: - -- 操作系统(OS X) -- 效率工具 -- 设计工具 -- 开发工具 -- 测试工具 -- 技术相关基础常识 - ---- - -最适合设计开发的操作系统,无论是对于 GUI 依赖者还是命令行发烧友。 - -## 应用安装 - -大多数非 App Store 下载的应用在安装的时候都会提示未知开发者,所以需要将系统设置为允许任何来源,才可以安装这些应用 - -![2](/basic/osx/2.png) - -设置步骤如下: - -> 系统偏好设置 -> 安全性与隐私 -> 允许从以下位置下载的应用 -> 改为“任何来源” - -![1](/basic/osx/1.png) - -如果是`10.12`及以后版本,会没有“任何来源”这个选项,需要在`终端(Terminal)`中执行以下命令: - -```bash -sudo spctl --master-disable -``` - -![3](/basic/osx/3.png) - -输入密码,然后再重复上面的设置步骤。 - - - -## 安装 Command Line Tools - -大多数开发软件都会依赖这个工具。 - -### 方法一: 通过 XCode 安装 - -缺点就是速度慢,如果不是 OS X 或 iOS 开发可以通过命令行安装。 - -### 方法二: 命令行 - -终端命令: - -```bash -xcode-select --install -``` - -## Parallels 全屏禁止触发角 - -![4](/basic/osx/4.png) - -在 `配置` -> `安全` -> `退出windows全屏模式时候需要密码` 打勾即可 - -## 关闭 SIP - -重启 Mac,按住 CMD+R,进入 recovery 界面,在顶部工具栏选择“终端”: - -```bash -csrutil disable -``` - -注意: 该项仅在需要安装 `xtraFinder` 之类应用时才需要。 diff --git a/content/zh/basic/pad.md b/content/zh/basic/pad.md deleted file mode 100644 index 52d2e906..00000000 --- a/content/zh/basic/pad.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: 优雅地使用平板进行远程OS X编码开发 -menuTitle: 优雅地使用iPad开发 -description: '' -position: 102 -category: '知识篇' ---- - -!> 没有 OS X 平板(iPad 是 ios 系统)这个问题一直困扰着我. - -?> 正所谓,工欲善其事必先利其器. - -## 准备 - -- 一台平板(iPad/Surface 或者其他) -- 一台苹果(Mac Mini/Macbook Pro 或者其他) -- 一台路由器(需支持动态域名解析,如花生壳),后续我会完善动态域名解析功能 - -## 配置电源选项 - -![power](https://user-images.githubusercontent.com/1890238/27117064-6ca0b32a-509a-11e7-98fb-db4fa50eeb04.png) - -根据上图开启 `唤醒`, 关闭 `睡眠` - -```bash -sudo pmset -a autopoweroff 0 -sudo pmset -a standby 0 -``` - - - -## 配置路由器 - -### IP 地址分配 - -通过 mac 地址进行绑定,分配固定 ip. - -一般是在: - -> 路由设置 -> 上网设置 -> 静态 IP - -![ip](https://cloud.githubusercontent.com/assets/1890238/26823551/99485ffa-4ae0-11e7-8212-e22896fd8adf.jpg) - -### 端口转发或 DMZ - -如果路由支持 DMZ 主机功能,则不需要进行端口转发.直接将本机设置 DMZ 主机即可. - -![port-forward](https://cloud.githubusercontent.com/assets/1890238/26823706/2e63f1bc-4ae1-11e7-896e-df145d8b4400.jpg) - -端口转发的话,设置 `1234` 端口(参考下文 js 代码). - -## 配置动态域名解析 - -### 路由器+花生壳 - -注册花生壳域名 - -![oray](https://cloud.githubusercontent.com/assets/1890238/26823557/a37f3f5c-4ae0-11e7-8d53-14a591190348.png) - -路由器配置花生壳 - -很简单,填入用户名密码和域名. - -注意下面的两个时间我填的都是 10 分钟. - -![router-oray](https://cloud.githubusercontent.com/assets/1890238/26823629/de357cc4-4ae0-11e7-9e23-5652f2a6aa48.jpg) - -## 设置唤醒应用 - -```js -const http = require('http'); -const { execSync } = require('child_process'); -http - .createServer((req, res) => { - res.writeHead(200, { 'Content-type': 'application/json' }); - try { - execSync('caffeinate -u -t 1'); - res.end('{status:1}'); - } catch (e) { - res.end('{status:0}'); - } - }) - .listen(1234); -``` - -假如你的动态解析域名是 `willin.wang` - -如果电脑进入睡眠了,用手机访问下面的地址,即可进行唤醒. - -``` -http://willin.wang:1234/ -``` - -## 祭出神器 - -TeamViewer, 配置无人值守和轻松访问. - -![teamviewer](https://user-images.githubusercontent.com/1890238/27117314-adf4255e-509b-11e7-904b-b751ec392b32.png) - -享受吧. diff --git a/content/zh/basic/resource/brew.md b/content/zh/basic/resource/brew.md deleted file mode 100644 index b4620d9b..00000000 --- a/content/zh/basic/resource/brew.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: Brew -description: '' -position: 1101 -category: '知识篇-必备神器' ---- - -官方网址: - -用于安装各类 \*nix 依赖包和应用。 - -```bash -/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -``` - -## 常用应用 - -安装示例: - -```bash -brew install wget -``` - - - -常用命令: - -- wget -- tree -- autojump 配合 zsh 使用 -- thefuck - -Node.js 相关: - -- node -- yarn -- pkg-config - -代理: - -- proxychains-ng - -数据库、缓存: - -- mysql -- redis - -## Brew Cask - -可以用于安装管理桌面应用。 - -### 安装 Brew Cask - -```bash -brew tap caskroom/cask -``` - -### Brew Cask 常用应用 - -``` -brew cask install google-chrome -``` - -- launchrocket 可以管理服务,如 Redis、MySQL、Nginx 等 -- filezilla -- macdown - -查找可用应用: - -## 本地 DNS 配置 - -Localhost 下的泛域名指定 - -``` -brew install dnsmasq -mkdir -pv $(brew --prefix)/etc/ -echo 'address=/.cxl/10.2.1.86' > $(brew --prefix)/etc/dnsmasq.conf -sudo cp -v $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons -sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist -sudo mkdir -v /etc/resolver -sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/cxl' -``` - -## 百度网盘下载工具 Aria2 - -### 通过 Brew 安装 Aria2 - -```bash -brew install aria2 -``` - -### 浏览器插件 - - - -### 运行 - -```bash -aria2c --conf-path=~/.aria2.conf -D -``` - -.aria2.conf: - -``` -#设置加密的密钥 -#rpc-secret=token -#允许rpc -enable-rpc=true -#允许所有来源, web界面跨域权限需要 -rpc-allow-origin-all=true -#允许外部访问,false的话只监听本地端口 -rpc-listen-all=true -#RPC端口, 仅当默认端口被占用时修改 -#rpc-listen-port=6800 -#最大同时下载数(任务数), 路由建议值: 3 -max-concurrent-downloads=5 -#断点续传 -continue=true -#同服务器连接数 -max-connection-per-server=5 -#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要 -min-split-size=10M -#单文件最大线程数, 路由建议值: 5 -split=10 -#下载速度限制 -max-overall-download-limit=0 -#单文件速度限制 -max-download-limit=0 -#上传速度限制 -max-overall-upload-limit=0 -#单文件速度限制 -max-upload-limit=0 -#断开速度过慢的连接 -#lowest-speed-limit=0 -#验证用,需要1.16.1之后的release版本 -#referer=* -#文件保存路径, 默认为当前启动位置 -dir=~/Downloads -#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本 -#disk-cache=0 -#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?) -#enable-mmap=true -#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长 -#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持 -file-allocation=prealloc -``` - -### GUI 界面 - - - -设置 URL: - -``` -http://127.0.0.1:6800/jsonrpc -``` diff --git a/content/zh/basic/resource/dnsmasq.md b/content/zh/basic/resource/dnsmasq.md deleted file mode 100644 index c8082961..00000000 --- a/content/zh/basic/resource/dnsmasq.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Dnsmasq -description: '' -position: 1103 -category: '知识篇-必备神器' ---- - -OS X 进行泛域名解析的开发环境搭建。 - -前置要求:`Brew`。 - -```bash -# 安装 -brew install dnsmasq - -# 按需创建必要目录 -mkdir -p /usr/local/etc -sudo mkdir -p /etc/resolver - -# 创建一个简单配置文件 -# 强制 .dev 域名到本地 127.0.0.1 -# 你可以从参考配置文件里获得更多信息,文件位置: -# /usr/local/opt/dnsmasq/dnsmasq.conf.example -echo "address=/.dev/127.0.0.1" > /usr/local/etc/dnsmasq.conf -sudo sh -c 'echo "nameserver 127.0.0.1" > /etc/resolver/dev' - -# 安装启动文件 -sudo cp -fv /usr/local/opt/dnsmasq/*.plist \ - /Library/LaunchDaemons - -# 启动服务 -sudo launchctl load \ - /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist -``` - - diff --git a/content/zh/basic/resource/frontend.md b/content/zh/basic/resource/frontend.md deleted file mode 100644 index 42b68450..00000000 --- a/content/zh/basic/resource/frontend.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: 前端资源 -description: '' -position: 1108 -category: '知识篇-必备神器' ---- - -《你可能用不上 jQuery》: - -## 数据可视化 - -D3.js: - -## 3D - -Three.js: - -## 动画 - -- Anime-js: -- Animate.css: - - - -## VR 虚拟现实 - -A-Frame: - -## 图表 - -- Echarts: -- Recharts: - -## 滚动视差 - -- Skrollr: - -(已可用 3D 效果替代) diff --git a/content/zh/basic/resource/ide.md b/content/zh/basic/resource/ide.md deleted file mode 100644 index cb8ff752..00000000 --- a/content/zh/basic/resource/ide.md +++ /dev/null @@ -1,449 +0,0 @@ ---- -title: IDE -description: '' -position: 1104 -category: '知识篇-必备神器' ---- - -# 安装配置 IDE - -适合前端、后端、全栈工程师,尤其以 Javascript(Node.js)为主。 - -目前我个人用的最多的是 VS Code。 - -该章节不过多对比,根据个人喜好选择。入门请使用 WebStorm,进阶 Atom、VS Code, Sublime Text 不适合项目开发使用,比较适合调试使用。 - -具体配置及按键映射,如 Atom 和 VS Code 的,也需要根据个人喜好来设置,可以在安装后查看全局配置,自行修改调整。记得做好备份。 - -## WebStorm - -官方地址: - -适合新手入门。 - - - -## Sublime Text 3 - -### 安装 - -下载地址: - -### 配置 subl 快捷命令(OS X) - -图省事的话可以直接先尝试在终端(或 iTerm)里 执行: - -``` -ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl -``` - ---- - -#### 详细过程分解 - -Finder 中打开应用程序目录,找到 `Sublime Text`应用,右键菜单选择 `显示包内容`, - -进入 `Contents -> SharedSupport -> bin` 目录,看到一个 subl 文件 - -打开终端,输入: - -``` -ln -s (停止输入,把Finder里的那个subl文件拖进来,按一个空格继续输入) /usr/local/bin/subl -``` - -如果提示 `ln: /usr/local/bin123/subl: No such file or directory` 输入: - -``` -mkdir /usr/local/bin -``` - -然后再重新执行上一条命令。 - -### 安装 Package Control - -安装完成后,打开 Sublime , 按下 `ctrl + ~`,在弹出的控制台中输入: - -```python -import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read()) -``` - -以后使用快捷键 `⌘(command) + ⇧(shift) + p` 输入 Install, 就能够调出 Package Install 进行 Sublime 的插件主题安装了. - -### 安装配置主题 - -调出 Package Install, 输入 `theme`, 大多数主题都是以 `Theme:` 开头,可以鼠标或键盘上下键选择,点击或回车便开始进行安装。 - -安装完成后从 `Preference (左上角苹果按钮旁边点Sublime Text) -> Color Scheme` 选择你所安装的主题并启用。 - -### 常用插件 - -1.Terminal - -安装完成后从 `Preference -> Package Settings -> Terminal -> Settings - Default` 进入配置, - -修改 - -``` - "terminal": "", -``` - -为 - -``` - "terminal": "iTerm.sh", -``` - -即可右键从 iTerm 中打开当前目录了。 - -## Atom - -下载地址: - -进阶使用,或 VS Code。 - -之前我个人一直用的 WebStorm,一方面这是个付费的 IDE;另一方面是该环境内存开销比较大,自带功能太多,对于新人来讲是不错的选择,但是慢慢的对开发熟悉后,并不太需要那些辅助的功能和插件,所以会尝试一些更轻量级、灵活的编辑器。 - -### 插件列表 / Plugin List - -``` -Community Packages (49) /Users/willin/.atom/packages -├── activate-power-mode@0.7.4 -├── atom-beautify -├── atom-jade@0.3.0 -├── atom-material-syntax@0.4.6 -├── atom-material-ui@1.3.3 -├── atom-terminal-panel@4.4.4 -├── atom-ternjs@0.14.2 -├── atom-typescript@10.1.6 -├── auto-update-packages@1.0.1 -├── autoclose-html@0.23.0 -├── autocomplete-modules@1.6.1 -├── ava@0.7.0 -├── color-picker@2.2.2 -├── csslint@1.1.5 -├── docblockr@0.8.2 -├── editorconfig@1.4.1 -├── file-icons@1.7.18 -├── git-log@0.4.1 -├── git-time-machine@1.5.3 -├── highlight-selected@0.11.2 -├── hyperclick@0.0.37 -├── js-hyperclick@1.4.2 -├── language-babel -├── language-dots@0.0.4 -├── language-javascript-jsx@0.3.7 -├── language-swigjs@0.3.1 -├── linter@1.11.16 -├── linter-eslint@7.2.4 -├── linter-tslint@0.11.1 -├── markdown-scroll-sync@2.1.2 -├── merge-conflicts@1.4.4 -├── minimap@4.24.7 -├── minimap-git-diff@4.3.1 -├── minimap-highlight-selected@4.4.0 -├── minimap-pigments@0.2.1 -├── open-in-browser@0.4.7 -├── open-recent@5.0.0 -├── pigments@0.31.2 -├── project-manager@2.9.7 -├── project-switcher@0.3.0 -├── rest-client@1.2.1 -├── screen-recorder@1.2.0 -├── seti-ui@1.3.1 -├── simplified-chinese-menu@3.4.11 -├── sort-lines@0.14.0 -├── terminal-plus@0.14.5 -├── todo-show@1.7.0 -├── tool-bar@1.0.1 -└── tool-bar-config@0.1.0 -``` - -### 推荐配置 - -``` -"*": - "activate-power-mode": - particles: - size: {} - spawnCount: {} - totalCount: {} - screenShake: {} - "atom-beautify": - apex: {} - arduino: {} - c: {} - cfml: {} - coffeescript: - indent_size: 2 - cpp: {} - cs: {} - css: {} - d: {} - ejs: {} - erb: {} - fortran: {} - general: - _analyticsUserId: "ea162638-166c-40b5-835b-108ef72f93f3" - analytics: false - beautifyEntireFileOnSave: false - gherkin: {} - handlebars: {} - html: - end_with_newline: true - indent_inner_html: true - indent_size: 2 - max_preserve_newlines: 1 - jade: {} - java: {} - js: - brace_style: "collapse-preserve-inline" - end_with_comma: true - end_with_newline: true - indent_size: 2 - keep_function_indentation: true - json: - beautify_on_save: true - indent_size: 2 - jsx: {} - latex: {} - less: {} - marko: {} - mustache: {} - objectivec: {} - pawn: {} - perl: {} - php: {} - python: {} - riot: {} - ruby: {} - rust: {} - sass: {} - scss: {} - spacebars: {} - sql: {} - svg: {} - swig: {} - tss: {} - twig: {} - typescript: {} - vala: {} - visualforce: {} - xml: {} - xtemplate: {} - "autoclose-html": {} - autosave: - enabled: true - core: - disabledPackages: [ - "atom-terminal-panel" - "atom-beautify" - "editorconfig" - ] - themes: [ - "atom-material-ui" - "atom-material-syntax" - ] - editor: - fontFamily: "'Source Code Pro for Powerline','Electrolize'" - fontSize: 15 - invisibles: {} - showIndentGuide: true - softWrap: true - "exception-reporting": - userId: "69f2bdd3-5fcf-f92b-ecd5-461248e4bd3f" - "file-icons": - onChanges: true - "highlight-selected": {} - "js-hyperclick": {} - linter: - errorPanelHeight: 71 - showErrorPanel: false - showErrorTabLine: true - "linter-eslint": - fixOnSave: true - "merge-conflicts": {} - minimap: - plugins: - "git-diff": true - "git-diffDecorationsZIndex": 0 - "highlight-selected": true - "highlight-selectedDecorationsZIndex": 0 - pigments: true - pigmentsDecorationsZIndex: 0 - "project-manager": - sortBy: "last modified" - "rest-client": {} - "simplified-chinese-menu": {} - "split-diff": - diffWords: true - ignoreWhitespace: true - leftEditorColor: "red" - rightEditorColor: "green" - syncHorizontalScroll: true - "terminal-plus": - core: - mapTerminalsTo: "Folder" - style: - fontFamily: "'Source Code Pro for Powerline'" - "todo-show": - ignoreThesePaths: [ - "**/node_modules/" - "**/vendor/" - "**/bower_components/" - "**/public/" - ] - "tool-bar": - position: "Left" - "tool-bar-config": [ - { - icon: "document" - iconSet: "ion" - title: "New File" - callback: "application:new-file" - } - { - icon: "folder" - iconSet: "ion" - title: "Open..." - callback: "application:open-folder" - } - { - icon: "archive" - iconSet: "ion" - title: "Save" - callback: "core:save" - } - { - icon: "spacer" - } - { - icon: "search" - iconSet: "ion" - title: "Find in Buffer" - callback: "find-and-replace:show" - } - { - icon: "shuffle" - iconSet: "ion" - title: "Replace in Buffer" - callback: "find-and-replace:show-replace" - } - { - icon: "spacer" - } - { - icon: "navicon-round" - iconSet: "ion" - title: "Toggle Command Palette" - callback: "command-palette:toggle" - } - { - icon: "gear-a" - iconSet: "ion" - title: "Open Settings View" - callback: "settings-view:open" - } - { - icon: "spacer" - } - { - icon: "refresh" - iconSet: "ion" - title: "Reload Window" - callback: "window:reload" - } - ] - "tree-view": - autoReveal: true - welcome: - showOnStartup: false -``` - -### keymap.cson - -(`快捷键`根据个人喜好和习惯设定 / up to your habit) - -``` -'atom-text-editor': - 'cmd-alt-l': 'atom-beautify:beautify-editor' - 'cmd-shift-l': 'atom-beautify:beautify-editor' - 'cmd-alt-j': 'activate-power-mode:toggle' - 'cmd-shift-j': 'activate-power-mode:toggle' - 'cmd-`': 'terminal-plus:toggle' - 'cmd-alt-up': 'pane:split-up' - 'cmd-alt-down': 'pane:split-down' - 'cmd-alt-left': 'pane:split-left' - 'cmd-alt-right': 'pane:split-right' - 'cmd-alt-shift-up':'window:focus-pane-on-up' - 'cmd-alt-shift-down':'window:focus-pane-on-down' - 'cmd-alt-shift-left':'window:focus-pane-on-left' - 'cmd-alt-shift-right':'window:focus-pane-on-right' - 'cmd-k':'pane:close' - 'cmd-1':'todo-show:find-in-project' -``` - -## Visual Studio Code - -下载地址: - -在用了半年多 Atom 之后,一次更新导致了 Terminal 插件失效,所以转到了 VS Code。 - -在 1.6 之后的版本中内置了终端,所以还算不错。 - -比 Atom 快了很多,尤其是压缩过的 js 代码,在 Atom 中打开简直就是噩梦,可能是因为代码自动格式化引起的,原因不详。 - -VS Code 不足在于: - -- ESLint 报错不能直接跳转到网站详细说明 -- 没有 MiniMap 插件 -- 没有 Power Mode 插件,当然这个只是自嗨用的,无关痛痒 - -整体来讲,还是头一次对微软的东西这么满意。 - -### 配置 - -``` -{ - "editor.tabSize": 2, - "editor.fontSize": 13, - "editor.fontFamily": "'Source Code Pro for Powerline', Menlo, Monaco, 'Courier New', monospace", - "editor.fontWeight": "normal", - "editor.formatOnType": true, - "editor.wordWrap": true, - "extensions.autoUpdate": true, - "files.autoSave": "afterDelay", - "files.autoSaveDelay": 5000, - "terminal.external.osxExec": "iTerm.app", - "telemetry.enableTelemetry": false, - "telemetry.enableCrashReporter": false, - "window.zoomLevel": 1, - // 插件定义 - "eslint.autoFixOnSave": true - } -``` - -### 按键 - -``` -[ - // HHKB - { "key": "cmd+escape", "command": "workbench.action.terminal.toggleTerminal" }, - { "key": "cmd+shift+escape", "command": "workbench.action.showErrorsWarnings"}, - { "key": "alt+i", "command": "cursorUp", "when": "editorTextFocus" }, - { "key": "alt+j", "command": "cursorLeft", "when": "editorTextFocus" }, - { "key": "alt+k", "command": "cursorDown", "when": "editorTextFocus" }, - { "key": "alt+l", "command": "cursorRight", "when": "editorTextFocus" } -] -``` - -### 插件 - -- Auto Close Tag -- ESLint -- exports autocomplete -- Material Icon Theme -- Material-theme -- Project Manager -- Sass -- TODO Highlight -- VS Color Picker diff --git a/content/zh/basic/resource/offline.md b/content/zh/basic/resource/offline.md deleted file mode 100644 index c0153460..00000000 --- a/content/zh/basic/resource/offline.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: 离线资源 -description: '' -position: 1107 -category: '知识篇-必备神器' ---- - -## 系统工具 - -- **Oh My Zsh:** [http://ohmyz.sh/](http://ohmyz.sh/) -- **iTerm:** [http://www.iterm2.com/](http://www.iterm2.com/) -- HomeBrew: [http://brew.sh/](http://brew.sh/) -- XtraFinder: [http://www.trankynam.com/xtrafinder/](http://www.trankynam.com/xtrafinder/) -- iStat Menus (系统状态监控) -- Bartender (状态栏图标管理) -- Skim: [http://skim-app.sourceforge.net/](http://skim-app.sourceforge.net/) (PDF 阅读) -- Moom (调整窗口大小) -- Autojump (Terminal 自动定位到目录的神器): brew install autojump (然后修改 `.zshrc` 在 `plugins` 里面加上`autojump`) -- Dash (文档管理) - -## IDE - -- **VS Code** -- **Atom:** -- WebStorm _(收费)_: [http://www.jetbrains.com/webstorm/](http://www.jetbrains.com/webstorm/) -- Sublime Text 3: [http://www.sublimetext.com/3](http://www.sublimetext.com/3) -- MacDown [http://macdown.uranusjr.com/](http://macdown.uranusjr.com/) - - - -## 设计工具 - -- OmniGraffle (UML 建模) -- Mindjet MindManager (思维导图) -- Sketch (原型) -- Axure (原型) - -## 浏览器插件 - -### Chrome - -Chrome Dev: [https://dl.google.com/chrome/mac/dev/GoogleChrome.dmg](https://dl.google.com/chrome/mac/dev/GoogleChrome.dmg) - -- **HTTP/2 检测 HTTP/2 and SPDY indicator:** -- **梯|子 Proxy SwitchyOmega:** [https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif](https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif) -- **正则工具 RegExp Tester App:** [https://chrome.google.com/webstore/detail/regexp-tester-app/cmmblmkfaijaadfjapjddbeaoffeccib](https://chrome.google.com/webstore/detail/regexp-tester-app/cmmblmkfaijaadfjapjddbeaoffeccib) -- **取色器 ColorZilla:** [https://chrome.google.com/webstore/detail/bhlhnicpbhignbdhedgjhgdocnmhomnp](https://chrome.google.com/webstore/detail/bhlhnicpbhignbdhedgjhgdocnmhomnp) -- **JSON 美化 JsonView:** [https://chrome.google.com/webstore/detail/jsonview-jsonviewer-json/hdmbdioamgdkppmocchpkjhbpfmpjiei](https://chrome.google.com/webstore/detail/jsonview-jsonviewer-json/hdmbdioamgdkppmocchpkjhbpfmpjiei) -- **模拟请求 Postman:** [https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm](https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm) -- 服务器环境嗅探 Wappalyzer: -- 服务器环境嗅探 ChromeSnifferPlus: [https://github.com/justjavac/ChromeSnifferPlus](https://github.com/justjavac/ChromeSnifferPlus) -- 时间戳 Utime: [https://chrome.google.com/webstore/detail/utime/kpcibgnngaaabebmcabmkocdokepdaki](https://chrome.google.com/webstore/detail/utime/kpcibgnngaaabebmcabmkocdokepdaki) - -### FireFox - -- **调试工具 FireBug:** [https://addons.mozilla.org/zh-CN/firefox/addon/firebug/](https://addons.mozilla.org/zh-CN/firefox/addon/firebug/) -- **取色器 ColorZilla:** [https://addons.mozilla.org/zh-CN/firefox/addon/colorzilla/](https://addons.mozilla.org/zh-CN/firefox/addon/colorzilla/) -- **JSON 美化 JsonView:** [https://addons.mozilla.org/zh-CN/firefox/addon/jsonview/](https://addons.mozilla.org/zh-CN/firefox/addon/jsonview/) -- **模拟请求 RESTClient:** [https://addons.mozilla.org/zh-CN/firefox/addon/restclient/](https://addons.mozilla.org/zh-CN/firefox/addon/restclient/) - -## 前端工具 - -- PNG 图片压缩: [https://pngquant.org/](https://pngquant.org/) - -### Node.js - -- YARN: -- NVM: [https://github.com/creationix/nvm](https://github.com/creationix/nvm) -- CNPM: [http://npm.taobao.org/](http://npm.taobao.org/) -- Labeb: (ES5 代码转 ES6 工具) -- Babel: (ES6 代码转 ES5 工具) diff --git a/content/zh/basic/resource/online.md b/content/zh/basic/resource/online.md deleted file mode 100644 index e3e6e79c..00000000 --- a/content/zh/basic/resource/online.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: 在线资源 -description: '' -position: 1106 -category: '知识篇-必备神器' ---- - -## 前端工具 - -- CSS Sprite: [http://www.spritebox.net/](http://www.spritebox.net/) -- CSS 兼容性查询: [http://browserhacks.com/](http://browserhacks.com/) -- JPG 压缩: [https://tinyjpg.com/](https://tinyjpg.com/) -- 图片压缩: [https://compressor.io/](https://compressor.io/) -- 图片转文字: [http://photo2text.com/](http://photo2text.com/) -- CSSTidy: [http://www.css88.com/tool/csstidy/](http://www.css88.com/tool/csstidy/) - -## 代码运行 - -- -- -- -- - -## 工具箱 - -- -- - - diff --git a/content/zh/basic/resource/ss.md b/content/zh/basic/resource/ss.md deleted file mode 100644 index 1860dd41..00000000 --- a/content/zh/basic/resource/ss.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -title: 科学上网 -description: '' -position: 1105 -category: '知识篇-必备神器' ---- - -## Shad0ws0cks 服务器端 - -一键安装脚本网站: - -使用 root 用户登录,运行以下命令: - -```bash -wget --no-check-certificate -O shad0ws0cks-all.sh https://raw.githubusercontent.com/teddysun/shad0ws0cks_install/master/shad0ws0cks-all.sh -chmod +x shad0ws0cks-all.sh -./shad0ws0cks-all.sh 2>&1 | tee shad0ws0cks-all.log -``` - -### 启动脚本 - -启动脚本后面的参数含义,从左至右依次为:启动,停止,重启,查看状态。 - -Shad0ws0cks-Python 版: - -```bash -/etc/init.d/shad0ws0cks-python start | stop | restart | status -``` - -Shad0ws0cksR 版: - -```bash -/etc/init.d/shad0ws0cks-r start | stop | restart | status -``` - -Shad0ws0cks-Go 版: - -```bash -/etc/init.d/shad0ws0cks-go start | stop | restart | status -``` - -Shad0ws0cks-libev 版: - -```bash -/etc/init.d/shad0ws0cks-libev start | stop | restart | status -``` - - - -### 各版本默认配置文件 - -Shad0ws0cks-Python 版: - -```bash -/etc/shad0ws0cks-python/config.json -``` - -Shad0ws0cksR 版: - -```bash -/etc/shad0ws0cks-r/config.json -``` - -Shad0ws0cks-Go 版: - -```bash -/etc/shad0ws0cks-go/config.json -``` - -Shad0ws0cks-libev 版: - -```bash -/etc/shad0ws0cks-libev/config.json -``` - -## Shad0ws0cks 客户端 - -> Across the Great Wall we can reach every corner in the world. - -Shad0ws0cks 是一款轻量级 socks 代理软件,速度快,而且可以跨平台使用。 在这里假定我们已经获取到账号. - -下载: - -Shad0ws0cks-windows: - -os-x: - -找到安装包解压,右键 Shad0ws0cks.exe,以管理员身份运行,在任务栏里面找到图标,右键,服务器->编辑服务器 - -![](/basic/ss/image1.png) - -根据购买的服务器帐号信息,添加服务器 IP,端口,密码,点击确定,如果有多个账号,就点击添加,最后确定。 - -然后程序就会自动连接服务器. - -![](/basic/ss/image2.png) - -然后通过 Firefox 下的 Autoproxy 或者 Chrome 下的 SwichyOmega 之类惯用的扩展插件设置一下 SOCKS 5 代理服务 - -这里讲一下 Chrome 下的 SwichyOmega: - -下载: -SwichyOmega:[https://github.amrom.workers.devShad0ws0cks/FelisCatus/SwitchyOmega/releases](https://github.com/FelisCatus/SwitchyOmega/releases) - -![](/basic/ss/image3.png) - -下载.rcx 文件,下载完成拖入谷歌扩展程序列表安装并开启.安装完毕后会自动开启选项界面: - -![](/basic/ss/image4.png) - -这里有一段介绍性的教程。如果想了解 SwitchyOmega 的不妨跟着教程走一遍。 - -点击 proxy 情景模式: - -![](/basic/ss/image5.png) - -按照选择的代理服务器要求填写以上红线部分,这里用的是 Shad0ws0cks,所以代理协议选择 socks5,代理端口号为刚刚在编辑服务器时设置的本机端口号。 - -点击选择自动代理情景模式 - -![](/basic/ss/image6.png) - -添加条件设置,即添加需要永久自动启动代理访问的域名: - -![](/basic/ss/image7.png) - -就可以使得这些域名通配符匹配的域名可以通过代理访问,永久的(即以后浏览这些网站都自动使用代理模式)。 -除了在选项界面添加条件,也可以在浏览器右上角小图标设置,如下: - -![](/basic/ss/image8.png) - -点击添加条件 - -![](/basic/ss/image9.png) - -或者点击资源未加载 - -![](/basic/ss/image10.png) - -就可以添加到自动代理模式。 - -但是,有些网站有时候抽风需要 fan 墙访问,有时候不需要,那就可以临时设置代理模式,默认是直接连接,如下: - -![](/basic/ss/image11.png) - -点击 proxy,此时,就可以访问临时需要 fan 墙的网站了。图标为![](/basic/ss/image12.png)时为直接连接,图标为![](/basic/ss/image13.png)时为代理模式。 - -p.s. - -将 `Shad0ws0cks` 中的 `0` 全部 替换为 `o`. diff --git a/content/zh/basic/resource/zsh.md b/content/zh/basic/resource/zsh.md deleted file mode 100644 index 78b3f170..00000000 --- a/content/zh/basic/resource/zsh.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: OhMyZsh -description: '' -position: 1102 -category: '知识篇-必备神器' ---- - -## 安装 OhMyZsh - -安装: - -```bash -sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" -``` - -## 为所有用户安装 OhMyZsh - -首先要确认 zsh 已经安装(Ubuntu): - -``` -sudo apt-get install zsh -``` - -1.以`Root`用户安装 - -```bash -sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" -``` - -2.修改`/etc/adduser.conf` - -```bash -DSHELL=/bin/bash #也可能是 sh -``` - -为: - -```bash -DSHELL=/bin/zsh -``` - -3.修改`/etc/default/useradd` - -```bash -SHELL=/bin/sh -``` - -为: - -```bash -SHELL=/bin/zsh -``` - -4.复制配置到新用户目录 - -``` -cp -r .oh-my-zsh /etc/skel/ -cp .zshrc /etc/skel -``` - -5.新建用户后,修改用户目录下的 `/home/username/.zshrc` - -``` -export ZSH=/root/.oh-my-zsh -``` - -为: - -``` -export ZSH=/home/username/.oh-my-zsh -``` - - - -## 配置 OhMyZsh 主题和插件 - -配置文件路径: - -``` -~/.zshrc -``` - -搜索 `ZSH_THEME=` 修改主题,默认主题为 `robbyrussell`, 想要折腾的话,可以试试`agnoster`, 需要安装 `PowerLine` 字体 - -可用主题列表: - -搜索 `plugins=` 增改弃用的插件 - -可用插件列表: - -## 配置 iTerm 主题 - -![iterm](/basic/source/iterm.png) - -下载安装: - -推荐使用`Solarized`, 下载地址: - -解压后`iterm2-colors-solarized`目录下,双击即可安装 - -安装完成后 在 iTerm 的 `Preference (左上角苹果按钮旁边点Sublime Text) -> Profiles 顶部大选项卡 -> Colors 偏右小选项卡 -> Load Presets 底部下拉菜单` 启用主题 - -## 配置 Hyper 主题和插件 - -直接修改 `~/.hyper.js` 即可. - -推荐插件: - -```js -plugins: ['hyperpower', 'hyper-blink']; -``` diff --git a/content/zh/copyright.md b/content/zh/copyright.md deleted file mode 100644 index 44787d40..00000000 --- a/content/zh/copyright.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: 版权 -description: '' -position: 2 -category: '' ---- - -[![知识共享许可协议](http://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-nc-sa/4.0/) - -《不可替代的团队领袖培养计划》由 [Willin Wang](http://willin.wang/) 创作,采用 [知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议](http://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可。 - -本人保留所有权限,保留出版权限,未经本人书面许可任何人不得用于商业出版。 - -![支付宝捐赠](https://cloud.githubusercontent.com/assets/1890238/15489630/fccbb9cc-2193-11e6-9fed-b93c59d6ef37.png) - -支付宝捐赠请扫码. - - diff --git a/content/zh/experience/advanced/coding-as-building.md b/content/zh/experience/advanced/coding-as-building.md deleted file mode 100644 index c186078a..00000000 --- a/content/zh/experience/advanced/coding-as-building.md +++ /dev/null @@ -1,214 +0,0 @@ ---- -title: 像盖房子一样写代码 -description: '' -position: 2401 -category: '经验篇-进阶' ---- - -## 当我写一个功能模块方法时,我在想些什么 - -```js -// 无论什么方法,都是这样一个结构 -const fn = () => {}; -``` - -比如,我要写一个接口,查询组织下的设备列表 `/api/device/list` - -### 地基 - -```js -const deviceList = (params) => { - // 传入一些参数 - return []; // 返回一个列表 -}; -``` - -我需要哪些参数: - -- 用户基本信息(主要是用户 id,用户的组织 id) -- 用户对应的组织基本信息(主要是组织 id,组织管理员 id,层级关系,以及权限逻辑) - -输出结果很简单,为一个数组。 - -### 浇筑 - -第一步分析,存在成功和错误(错误类型先不考虑)两种类型的结果。 - -```js -// 成功 -// 错误 -const deviceList = async (ctx) => { - // 错误 - if (someError) { - // 返回错误结果 - } - // 成功 - return getDevicesByOid(oid); -}; -``` - -这是一个大概的设想,没有必要将代码写出来。然后润化该思路,写出第一段框架。 - - - -### 主体结构 - -首先,传入的参数为组织 oid,用户的信息可以通过 session(或其他方式)从内部获得。 - -#### 可能的一种思路 - -```js -// 成功 -// 错误 -// 错误1:用户未加入组织 -// 错误2:传入参数组织不存在 -// 错误3:用户无组织权限 - -// 传入参数: 要查询的组织 oid -// 能够通过 session 取到的信息: user -const deviceList = async (ctx) => { - // 用户信息 ctx.user - // 判断用户是否有组织 - if (ctx.user.oid === 0) { - // 错误1:用户未加入组织 - } - - // 如果不传该参数,查询当前用户组织的设备 - const { oid = ctx.user.oid } = ctx.request.body; - if (oid === ctx.user.oid) { - // 成功 - return getDevicesByOid(oid); - } - - // 根据oid查询组织信息 - // 错误2:传入参数组织不存在 - // 判断是否有权限 - const checkRights = await checkUserOrgRights(ctx.user.uid, oid); - if (!checkRights) { - // 错误3:用户无组织权限 - } - // 成功 - return getDevicesByOid(oid); -}; -``` - -#### 推荐的实现方式 - -```js -// 成功 -// 错误 -// 错误1:用户未加入组织 -// 错误2:传入参数组织不存在 -// 错误3:用户无组织权限 - -// 传入参数: 要查询的组织 oid -// 能够通过 session 取到的信息: user -const deviceList = async (ctx) => { - // 用户信息 ctx.user - // 判断用户是否有组织 - if (ctx.user.oid === 0) { - // 错误1:用户未加入组织 - } - - // 如果不传该参数,查询当前用户组织的设备 - const { oid = ctx.user.oid } = ctx.request.body; - if (oid !== ctx.user.oid) { - // 为什么这里不用等于判断:如果等于的话,则当时就需要返回出去,这样的话该方法会有两个成功的 return - // 根据oid查询组织信息 - // 错误2:传入参数组织不存在 - // 判断是否有权限 - const checkRights = await checkUserOrgRights(ctx.user.uid, oid); - if (!checkRights) { - // 错误3:用户无组织权限 - } - } - // 成功 - return getDevicesByOid(oid); -}; -``` - -### 封顶 - -完成其他的业务代码。 - -## 当我写一段测试的时候,我在想些什么 - -按照上面推荐方式完成代码后,需要进行代码的测试。 - -首先需要明确业务的流程,理清测试的思路。 - -- 成功 -- 错误 - - 错误 1:用户未加入组织 - - 错误 2:传入参数组织不存在 - - 错误 3:用户无组织权限 - -主要有两种设计思路: - -### 设计思路 - -#### 思路一 - -1. 完成测试用例,覆盖成功的所有情况 -2. 完成测试用例,覆盖错误 1 的所有情况 -3. 完成测试用例,覆盖错误 2 的所有情况 -4. 完成测试用例,覆盖错误 3 的所有情况 - -这是传统的单元测试衍生而来的 BDD 测试方式。 - -这里测试用例的个数应该为`8`次: - -- 成功: - - 1.当前组织的用户有传入组织 oid - - 2.当前组织的用户未传入组织 oid - - 3-5.上级组织,上上级组织,根级组织的管理员用户传入组织 oid -- 6.失败 1:用户未加入组织 -- 7.失败 2:传入参数组织不存在 -- 8.失败 3:用户无组织权限 - -其中,测试 3-5 可以优化为一次测试(即根据所有管理员 uid 的数组比较是否包含当前用户 uid),最终优化后的结果应当为`6`次。 - -但由于该思路中不明确用户,所以用户行为无法准确表达,在创建测试数据的时候较为困难,不仔细思考分析,无法优化需要创建多少条测试数据。 - -#### 思路二 - -而实际上 BDD 测试为用户行为测试,可以以几类用户的情形分别进行测试。 - -1. 模拟一个用户的数据,覆盖成功和可能错误(有可能无法涵盖到所有错误)的所有情况 -2. 根据未覆盖的部分,再模拟另一个用户的数据,覆盖成功和可能错误(有可能无法涵盖到所有错误)的所有情况 - -以此循环,直至覆盖所有。 - -- 用户 1(非组织管理员,查询自己的组织) - - 1.成功(未传入组织 oid)(组织 1) - - 2.成功(传入组织 oid) - - 3.失败 2:传入参数组织不存在 - - 4.失败 3:用户无组织权限(组织 2) -- 用户 2(上级某组织管理员)(组织 3) - - 5.成功 -- 用户 3(未加入组织用户) - - 6.失败 1:用户未加入组织 - -非常简洁明了的关系,需要 3 个测试用户,3 个组织(上下级关系进行数据复用,一个无权限的组织),即可涵盖所有范围。 - -最终优化版设计: - -- 用户 1(某组织管理员,有下级组织) - - 1.成功(未传入组织 oid,查询自己的组织) - - 2.成功(传入当前的组织 oid(组织 1)) - - 3.成功(传入下级的组织 oid(组织 2)) - - 4.失败 2:传入参数组织不存在 - - 5.失败 3:用户无组织权限 -- 用户 2(未加入组织用户) - - 6.失败 1:用户未加入组织(组织 3) - -两个用户,三个组织。完成所有覆盖。 - -## 当我以测试驱动开发的时候,我在想些什么 - -可以从上述测试思路二中进行反推。 - -实际上思路可能是在写代码或者写测试的过程中不断的改进和完善的。 - -- 如果已经写好了测试正在写代码,可以及时回过头来调整测试; -- 如果功能写好了又再重新测试,可以在测试优化后再去看逻辑代码是否还有优化的空间。 diff --git a/content/zh/experience/advanced/desktop-app.md b/content/zh/experience/advanced/desktop-app.md deleted file mode 100644 index 322807a8..00000000 --- a/content/zh/experience/advanced/desktop-app.md +++ /dev/null @@ -1,661 +0,0 @@ ---- -title: Electron 桌面应用 -description: '' -position: 2404 -category: '经验篇-进阶' ---- - -本章节以 Mac OS X 下 Hosts 文件管理 App 为例。 - -技术栈包含: - -- Electron (仅 OS X 平台) -- Webpack 2 -- Vue 2 -- Vuex -- Vue-Router -- Vue-Material (UI 组件) -- Babel -- ESLint -- Yarn(包管理) - -## 初始化项目 - -- 安装所需的各种 NPM 包。 -- 引入 ESLint、Babel 配置文件。 - -## 配置 Vue2 + Webpack2 - -需要注意`Webpack` 2.x.x 版本与 1.x.x 版本发生了不少改动。 - -可以参考迁移文档: 进行学习。 - -### 坑 1: extract-text-webpack-plugin - -该插件 NPM 最新版本为 1.0.1,不支持 Webpack2,所以需要通过安装 RC3 版本来获得对应支持。 - -``` -yarn add --dev extract-text-webpack-plugin@2.0.0-rc3 -或 -npm i --save-dev extract-text-webpack-plugin@2.0.0-rc3 -``` - -### 坑 2:babel-plugin-transform-runtime 与 extract-text-webpack-plugin 插件有冲突 - -会导致 extract-text 插件报错崩溃。 - -解决方法,修改 `.babelrc`: - -```json -{ - "presets": ["latest"], - "plugins": [ - [ - "transform-runtime", - { - "helpers": false, - "polyfill": false, - "regenerator": true - } - ] - ], - "compact": true -} -``` - -其中 设置`compact`属性还能阻止 500kb 限制的警告。 - -### 坑 3:postcss-loader 与 extract-text-webpack-plugin 插件有冲突 - -目前无解,去掉了`postcss-loader`的使用。 - -下一阶段尝试。 - -### 坑 4:在 Vue 中使用 Electron - -首先,需要在 webpack config 中设置: - -```yaml -target: 'electron' -``` - -向 Electron 注册插件: - -```js -import Vue from 'vue'; -import electron from 'electron'; - -Vue.use({ - install: (vue) => { - vue.prototype.$electron = electron; - } -}); -``` - -前端向 IPC 发送消息: - -```js -this.$electron.ipcRenderer.send('resizePreferencesWindow', { width: 400, height: 300 }); -``` - - - -## Electron 配置 - -### 设置 App 开机自启 - -使用插件: - -```js -import AutoLaunch from 'auto-launch'; - -const hostsAutoLauncher = new AutoLaunch({ - name: 'Hosts.js', - path: '/Applications/Hosts.js.app' -}); - -exports.isEnabled = async () => { - const result = await hostsAutoLauncher.isEnabled(); - return result; -}; - -exports.enable = () => { - hostsAutoLauncher.enable(); -}; - -exports.disable = () => { - hostsAutoLauncher.disable(); -}; -``` - -### 添加 Electron Vue DevTools - -可以直接通过插件实现,地址: - -devtools.js: - -```js -import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'; - -module.exports = installExtension(VUEJS_DEVTOOLS); -``` - -窗口加载: - -```js -if (process.env.NODE_ENV === 'development') { - // 开发模式加载 devtools - const devtools = require('../lib/devtools'); - devtools.then(() => { - // 注意调用方式 - this.preferencesWindow.loadURL('http://localhost:3000/build/app.html'); - }); -} else { - this.preferencesWindow.loadURL(`file://${path.join(__dirname, '../../build/app.html')}`); -} -``` - -## 设计核心模块 - -### i18n - -国际化支持,没有什么难度,根据语言参数找到对应的翻译文件,配置默认语言(英文): - -```js -import { readdirSync } from 'fs'; - -const locales = readdirSync(__dirname); - -/* - try `zh-CN` first - then `zh` - or otherwise `default` - */ -module.exports = (lang = 'default') => { - let locale = locales.filter((x) => x.indexOf(lang) !== -1)[0]; - /* eslint import/no-dynamic-require:0,global-require:0 */ - if (locale !== undefined) { - const file = require(`./${locale}`); - return file; - } - const langPrefix = lang.split('-')[0]; - locale = locales.filter((x) => x.indexOf(langPrefix) !== -1)[0]; - if (locale !== undefined) { - const file = require(`./${locale}`); - return file; - } - const file = require('./default'); - return file; -}; -``` - -目录结构 - -``` -. -├── default.js -├── index.js -└── zh-CN.js -``` - -如有其它语言,添加对应语言文件即可。 - -### Hosts.js 分级列表 - -Hosts.js 项目源码: - -特点: - -- 支持顶级项目 -- 支持二级目录项目 -- 目录不含有启动状态,目录下的子项目有 -- 支持排序 - -```js -[ - { - name: 'Default', - order: 2, - id: 'default', - type: 'item', - enabled: true - }, - { - namename: 'Folder', - order: 1, - id: 'xxx1', - type: 'folder', - children: [ - { - name: 'Sub Item 2', - order: 2, - id: 'xxxs2', - type: 'item', - enabled: false - }, - { - name: 'Sub Item 1', - order: 1, - id: 'xxxs1', - type: 'item', - enabled: true - }, - { - name: 'Sub Item 4', - order: 4, - id: 'xxxs4', - type: 'item', - enabled: true - }, - { - name: 'Sub Item 3', - order: 3, - id: 'xxxs3', - type: 'item', - enabled: true - } - ] - } -]; -``` - -### 排序算法 - -1. 对顶级项目进行排序 -2. 对子菜单项目进行排序 - -```js -const reorderItems = (arr) => - arr - .sort((x, y) => (x.order - y.order > 0 ? 1 : -1)) - .map((i, iIndex) => { - i.order = iIndex + 1; - if (i.type === 'folder') { - i.children = i.children - .sort((x, y) => (x.order - y.order > 0 ? 1 : -1)) - .map((j, jIndex) => { - j.order = jIndex + 1; - return j; - }); - } - return i; - }); -``` - -### 删除元素算法 - -1. 默认项禁止删除 -2. 编程过程中的异常捕获,实际操作中不会发生 -3. 子菜单超过两个项目禁止删除 - -```js -const deleteItem = (arr, id, pid = '') => { - if (id === 'default') return false; - let index; - if (pid === '') { - index = arr.findIndex((x) => x.id === id); - // 异常捕获 - if (index === -1) return false; - // 子菜单超过两个项目禁止删除 - if (typeof arr[index].children === 'object' && arr[index].children.length > 1) return false; - arr.splice(index, 1); - return reorderItems(arr); - } - index = arr.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - arr[index].children = deleteItem(arr[index].children, id); - return reorderItems(arr); -}; -``` - -### 添加元素算法 - -1. 不能建立二级目录 -2. 编程过程中的异常捕获,实际操作中不会发生 - -```js -const uuid = require('uuid'); -const insertItem = (arr, name, pid = '', type = 'item') => { - if (type === 'folder' && pid !== '') return false; - const item = { - name, - type, - order: -1, - id: uuid.v4() - }; - if (type === 'item') { - item.enabled = false; - } else { - item.children = []; - } - if (pid === '') { - item.order = arr.length; - arr.push(item); - } else { - const index = arr.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - item.order = arr[index].length; - arr[index].children.push(item); - } - return reorderItems(arr); -}; -``` - -### 位置调整算法 - -1. Default 不能移动 -2. 编程过程中的异常捕获,实际操作中不会发生 - -#### 上移 - -```js -const moveUpItem = (arrOrigin, id, pid = '') => { - if (id === 'default') return arrOrigin; - const arr = reorderItems(arrOrigin); - let index; - if (pid === '') { - index = arr.findIndex((x) => x.id === id); - if (index === -1) return false; - if (index - 1 === -1) return arr; - arr[index].order -= 1; - arr[index - 1].order += 1; - return arr; - } - index = arr.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - arr[index].children = moveUpItem(arr[index].children, id); - return reorderItems(arr); -}; -``` - -#### 下移 - -```js -const moveDownItem = (arrOrigin, id, pid = '') => { - if (id === 'default') return arrOrigin; - const arr = reorderItems(arrOrigin); - let index; - if (pid === '') { - index = arr.findIndex((x) => x.id === id); - if (index === -1) return false; - if (index + 1 === arr.length) return arr; - arr[index].order += 1; - arr[index + 1].order -= 1; - return arr; - } - index = arr.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - arr[index].children = moveUpItem(arr[index].children, id); - return reorderItems(arr); -}; -``` - -新增了重命名和切换启用状态的两个方法,不再展开。 - -### 优化 - -- 以 class 形式封装 -- 抛出简单的外部接口 - -```js -/* eslint class-methods-use-this: [2, { "exceptMethods": ["_deleteItem","_moveUpItem","_moveDownItem"] }] */ - -import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs'; -import uuid from 'uuid'; -import locales from '../locales'; - -module.exports = class Category { - constructor(lang) { - this.locale = locales(lang); - this.DIR_PATH = `${process.env.HOME}/.hosts.js`; - this.FILE_PATH = `${this.DIR_PATH}/.category.js`; - this.init(); - } - - init() { - const defaultData = [ - { - name: this.locale.default, - order: 1, - id: 'default', - type: 'item', - enabled: true - } - ]; - if (!existsSync(this.DIR_PATH)) { - mkdirSync(this.DIR_PATH); - } - if (!existsSync(this.FILE_PATH)) { - this.data = defaultData; - } else { - const data = readFileSync(this.FILE_PATH, 'utf-8'); - try { - this.data = JSON.parse(data); - } catch (e) { - this.data = defaultData; - } - } - } - - reorder() { - this.data = this.data - .sort((x, y) => (x.order - y.order > 0 ? 1 : -1)) - .map((i, iIndex) => { - i.order = iIndex + 1; - if (i.type === 'folder') { - i.children = i.children - .sort((x, y) => (x.order - y.order > 0 ? 1 : -1)) - .map((j, jIndex) => { - j.order = jIndex + 1; - return j; - }); - } - - return i; - }); - return true; - } - - _deleteItem(arr, id) { - const index = arr.findIndex((x) => x.id === id); - // 异常捕获 - if (index === -1) return false; - // 子菜单超过两个项目禁止删除 - if (typeof arr[index].children === 'object' && arr[index].children.length > 1) return false; - arr.splice(index, 1); - return arr; - } - - _moveUpItem(arr, id) { - const index = arr.findIndex((x) => x.id === id); - if (index === -1) return false; - if (index - 1 === -1) return false; - arr[index].order -= 1; - arr[index - 1].order += 1; - return arr; - } - - _moveDownItem(arr, id) { - const index = arr.findIndex((x) => x.id === id); - if (index === -1) return false; - if (index + 1 === arr.length) return false; - arr[index].order += 1; - arr[index + 1].order -= 1; - return arr; - } - - delete(id, pid = '') { - if (pid === '') { - const data = this._deleteItem(this.data, id); - if (data === false) return false; - this.data = data; - } else { - const index = this.data.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - const data = this._deleteItem(this.data[index].children, id); - if (data === false) return false; - this.data[index].children = data; - } - return this.reorder(); - } - - insert(name, pid = '', type = 'item') { - if (['item', 'folder'].indexOf(type) === -1) return false; - if (type === 'folder' && pid !== '') return false; - const item = { - name, - type, - id: uuid.v4() - }; - if (type === 'item') { - item.enabled = false; - } else { - item.children = []; - } - if (pid === '') { - item.order = this.data.length + 1; - this.data.push(item); - } else { - const index = this.data.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - item.order = this.data[index].children.length + 1; - this.data[index].children.push(item); - } - return this.reorder(); - } - - moveUp(id, pid = '') { - if (id === 'default') return false; - let index; - if (pid === '') { - index = this.data.findIndex((x) => x.id === id); - if (index === 1 || index === -1) return false; - const data = this._moveUpItem(this.data, id); - if (data === false) return false; - this.data = data; - return this.reorder(); - } - index = this.data.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - const data = this._moveUpItem(this.data[index].children, id); - if (data === false) return false; - this.data[index].children = data; - return this.reorder(); - } - - moveDown(id, pid = '') { - if (id === 'default') return false; - if (pid === '') { - const data = this._moveDownItem(this.data, id); - if (data === false) return false; - this.data = data; - return this.reorder(); - } - const index = this.data.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - const data = this._moveDownItem(this.data[index].children, id); - if (data === false) return false; - this.data[index].children = data; - return this.reorder(); - } - - rename(name, id, pid = '') { - if (pid === '') { - const index = this.data.findIndex((x) => x.id === id); - // 异常捕获 - if (index === -1) return false; - this.data[index].name = name; - } else { - const index = this.data.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - const indexChildren = this.data[index].children.findIndex((x) => x.id === id); - // 异常捕获 - if (indexChildren === -1) return false; - this.data[index].children[indexChildren].name = name; - } - return this.reorder(); - } - - toggle(id, pid = '') { - if (id === 'default') return false; - if (pid === '') { - const index = this.data.findIndex((x) => x.id === id); - // 异常捕获 - if (index === -1 || !Reflect.has(this.data[index], 'enabled')) return false; - this.data[index].enabled = !this.data[index].enabled; - } else { - const index = this.data.findIndex((x) => x.id === pid); - // 异常捕获 - if (index === -1) return false; - const indexChildren = this.data[index].children.findIndex((x) => x.id === id); - // 异常捕获 - if (indexChildren === -1) return false; - this.data[index].children[indexChildren].enabled = !this.data[index].children[indexChildren].enabled; - } - return true; - } - - reload() { - return this.data; - } - - save() { - writeFileSync(this.FILE_PATH, JSON.stringify(this.data, null, 2)); - return true; - } -}; -``` - -该文件源码如有更新,在: 上查看。 - -#### Demo - -```js -import Category from './category'; - -const categories = new Category(); - -// 增加目录: -categories.insert('目录名称', '', 'folder'); - -// 增加项目: -categories.insert('项目名称'); -categories.insert('项目名称', '目录 id'); - -// 删除项目: -categories.delete('根目录项目 id'); -categories.delete('项目 id', '目录 id'); - -// 向上移动 -categories.moveUp('根目录项目 id'); -categories.moveUp('项目 id', '目录 id'); - -// 向下移动 -categories.moveDown('根目录项目 id'); -categories.moveDown('项目 id', '目录 id'); - -// 重命名 -categories.rename('项目名称', '根目录项目 id'); -categories.rename('项目名称', '项目 id', '目录 id'); - -// 切换启用状态 -categories.toggle('根目录项目 id'); -categories.toggle('项目 id', '目录 id'); - -// 保存更改到配置文件 -categories.save(); - -// 获取最新的列表数据 -const data = categories.reload(); - -console.log(JSON.stringify(data, null, 2)); -``` diff --git a/content/zh/experience/advanced/meta.md b/content/zh/experience/advanced/meta.md deleted file mode 100644 index 993e736d..00000000 --- a/content/zh/experience/advanced/meta.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -title: 元编程构造简单优雅解决方案 -menuTitle: 元编程构造优雅解决方案 -description: '' -position: 2403 -category: '经验篇-进阶' ---- - -ECMAScript 6 中引入了相关 API —— `Proxy`。 - -参考文档: - -搭配`Reflect`使用例子: - -```js -var loggedObj = new Proxy(obj, { - set: function (target, name, value, receiver) { - var success = Reflect.set(target, name, value, receiver); - if (success) { - console.log('property ' + name + ' on ' + target + ' set to ' + value); - } - return success; - }, - get(target, name) { - console.log('get', target, name); - return Reflect.get(target, name); - }, - deleteProperty(target, name) { - console.log('delete' + name); - return Reflect.deleteProperty(target, name); - }, - has(target, name) { - console.log('has' + name); - return Reflect.has(target, name); - } -}); -``` - -下面用例个示例来讲解何为优雅的元编程解决方案。 - - - -## API 接口 SDK 封装 - -本章节以 **_腾讯云/QCloud_** 为例。 - -### 云服务器 CVM - -文档说明: - -请求形式: - -``` -https://cvm.api.qcloud.com/v2/index.php? -Action=DescribeInstances -&SecretId=xxxxxxx -&Region=gz -&Timestamp=1465055529 -&Nonce=59485 -&Signature=mysignature -&instanceIds.0=ins-0hm4gvho -&instanceIds.1=ins-8oby8q00 -&offset=0 -&limit=20 -&status=2 -&zoneId=100003 -``` - -### 传统解决方案 - -常规的解决方案大体如下: - -```js -class Cvm(){ - constructor(config){ - // 将配置信息传入进行初始化 - this.hosts = 'https://cvm.api.qcloud.com/v2/index.php'; - } - describeInstances(options){ - // 查看实例列表为例 - return request(this.hosts,{ - action: 'describeInstances', - param1: options.param1 - // 其他参数拼装 - }).then(result=>{ - return JSON.parse(result); - }); - } - method2(options){ - // 查看实例列表为例 - return request(this.hosts,{ - action: 'method2', - param1: options.param1 - // 其他参数拼装 - }).then(result=>{ - return JSON.parse(result); - }); - } -} -``` - -如果再有其他服务,再定义 class,再封装方法。 - -这类处理有一个特点就是,共性很多,都是发送 HTTP 请求,获取请求结果。差异化在于: - -1. 域名,QCloud 的规律为 https://{服务名}.api.qcloud.com/v2/index.php -2. 方法名,即不同的 `Action` -3. 请求类型和参数 - -### 简单优雅解决方案 - -```js -// 引入 HTTP 请求相关封装库 -import request from './request'; - -// 列举 API 别名,包括 QCloud CVM、CDN、CDB 等所有服务 -const SDKS = [ - 'bm', - 'cdn', - 'cdb', - 'cvm', - 'cbs', - 'csec', - 'dayu', - 'lb', - 'monitor', - 'scaling', - 'sqlserver', - 'redis', - 'cmem', - 'trade', - 'tdsql', - 'vpc', - 'wenzhi', - 'yunsou' -]; - -// 默认参数 -const DEFAULTS = { - SecretId: '', - // Signature: '', - Region: 'gz', - Nonce: parseInt(Math.random() * 999999, 10), - Timestamp: parseInt(new Date() / 1000, 10) -}; - -const lazyLoad = (service) => (options) => { - // 设置各服务的 api host - const settings = { - api: `https://${service}.api.qcloud.com/v2/index.php`, - // 预留 - actions: {} - }; - // 重要事情说三遍: - // 核心代码开始 - // 核心代码开始 - // 核心代码开始 - return new Proxy( - {}, - { - // 创建代理 - // 定义 get 方法 - // 例子: - // const obj = new Obj(); - // obj.prop 获取属性,用的 get 方法 - // obj.prop() 获取方法,用的依然是 get 方法 - get: (target, property) => (opts) => { - // 非重要,将 Action 改为首字母大写,如 'ListRegions' - const action = property.replace(property.charAt(0), property.charAt(0).toUpperCase()); - - // 拼装请求参数 - let params = Object.assign({}, DEFAULTS, options); - params = Object.assign({ Action: property }, params, opts); - // 预留了 GET/POST 自定义 - params.method = settings.actions[action] || 'post'; - - // 发送请求,获取请求结果返回 - // 由于不同接口均是 HTTP/S 方式请求,只需将对应方法封装完成,即可实现复用 - return request(settings.api, params); - } - } - ); -}; - -// LazyLoad 懒加载优化性能,但对于元编程来讲收益并不太大 -SDKS.forEach((item) => { - exports[item.toUpperCase()] = lazyLoad(item); -}); -``` - -使用示例: - -```js -import { TRADE } from 'wqcloud'; -const trade = TRADE(options); - -// ES7 Async/Await 方式 -(async () => { - const userInfo = await trade.DescribeUserInfo(params); - console.log(userInfo); -})(); - -// ES5 Promise 方式 -trade.DescribeUserInfo(params).then((userInfo) => { - console.log(userInfo); -}); -``` - -完整项目源码: diff --git a/content/zh/experience/advanced/mixed-project.md b/content/zh/experience/advanced/mixed-project.md deleted file mode 100644 index 78683598..00000000 --- a/content/zh/experience/advanced/mixed-project.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -title: 混合Web应用实践 -description: '' -position: 2405 -category: '经验篇-进阶' ---- - -本项目实例代码: - -## 设计 - -### 项目诉求 - -输出: - -- 图表按时间展示在线状况及效率 -- 接口、图片输出当前在线状态 - -输入: - -- WRescueTime 插件获取在线行为数据 - - - -### 存储设计 - -数据库采用`MySQL`,缓存采用`Redis`。 - -#### 表结构 - -```sql -CREATE TABLE `data` ( - `user` char(16) NOT NULL DEFAULT '' COMMENT '用户', - `active` int(3) unsigned NOT NULL COMMENT '活跃时间(秒)', - `efficiency` decimal(5,2) NOT NULL COMMENT '效率(%)', - `date` int(10) unsigned NOT NULL COMMENT '数据时间(转时间戳)', - KEY `whereorder` (`user`,`date`), - KEY `date` (`date`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -``` - -#### 缓存结构 - -``` -up:data:username -up:latest:username -``` - -## 编码 - -### 初始化项目 - -``` -yarn init -yarn add --dev eslint eslint-config-airbnb eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-import -``` - -配置`ESLint` - -### 开发环境配置 - -`config/index.js`: - -```js -const ENV = process.env.NODE_ENV || 'dev'; - -const users = require(`./users.${ENV}`); -const { redis, mysql, cdn } = require(`./server.${ENV}`); - -module.exports = { - cdn, - users, - redis, - mysql -}; -``` - -#### 优化 - -可以用`lazyload`方式动态加载: - -```js -const ENV = process.env.NODE_ENV || 'dev'; -module.exports = (config) => (() => require(`./${config}.${ENV}`))(); -``` - -考虑到本项目已经在实施过程中,变更改动较大,未修改。 - -### Model - -#### `crontab/crab.js`片段 - -业务中插入操作尽可能精简,参数最好统一,像这样的方式调用: - -```js -data.rows.forEach(async (item) => { - if (operator) { - // 插入数据 - await dataAdd(user, item); - } else if (item[0] === last[0]) { - operator = true; - if (item[1] !== last[1]) { - // 更新最后一条数据 - await dataUpdate(user, item); - } - } -}); -``` - -#### 对应 Model 实现代码 - -`model/data.js` 片段: - -```js -const { pool, format } = require('@dwing/mysql'); -const { mysql: mysqlOptions } = require('../config'); -const { isEmpty } = require('../lib'); - -const DB = mysqlOptions.database; -const TABLENAME = `${DB}.data`; - -exports.dataAdd = async (user, [date, active, , , efficiency]) => { - const mysql = await pool(mysqlOptions); - const sql = format('INSERT INTO ?? (user,active,efficiency,date) VALUES (?,?,?,?)', [ - TABLENAME, - user, - active, - efficiency, - parseInt(new Date(date) / 1000, 10) - ]); - const result = await mysql.query(sql); - mysql.release(); - return isEmpty(result) ? -1 : result.affectedRows; -}; - -exports.dataUpdate = async (user, [date, active, , , efficiency]) => { - const mysql = await pool(mysqlOptions); - const sql = format('UPDATE ?? SET active = ?, efficiency = ? WHERE user = ? AND date = ?', [ - TABLENAME, - active, - efficiency, - user, - parseInt(new Date(date) / 1000, 10) - ]); - const result = await mysql.query(sql); - mysql.release(); - return isEmpty(result) ? -1 : result.affectedRows; -}; -``` - -这里主要用的是结构赋值新特性。 - -### 计划任务 - -采用 `Later.js`,类似于 `Crontab`。 - -```js -const later = require('later'); -const { users } = require('../config'); -const { random } = require('../lib'); -const { lastClear, historyClear } = require('../model/data'); -const crab = require('./crab'); -const updateCertbot = require('./certbot'); - -users.forEach(async (x) => { - // 每分钟抓取用户数据 - await crab(x); - later.setInterval(async () => { - await crab(x); - }, later.parse.recur().every(random(50, 70)).second()); -}); - -// 每天 0:00 清除计时器 -later.setInterval(lastClear, later.parse.cron('0 0 */1 * * ?')); - -// 每天 1:00 清除30天前历史数据 -later.setInterval(historyClear, later.parse.cron('0 1 */1 * * ?')); - -// 每周一 2:00 更新 certbot 证书 -later.setInterval(updateCertbot, later.parse.cron('0 2 * * 1 ?')); -``` - -### 待填的坑 - -#### 数据采集 - -从上文计划任务中即可看出,每个用户都会随机产生一条任务,由于用户是写在配置文件中的固定的,所以一旦想要改为动态的(比如开放注册),这套体系就不能支持了。 - -所以需要一个更好的手段进行数据采集。 - -> 欢迎提 ISSUE 发表自己的看法和建议。 - -#### 服务器渲染 - -项目里写了一个简单的 HTML 模板引擎,可以替换一些简单参数: - -```js -const path = require('path'); -const { readFileSync } = require('fs'); -const { cdn } = require('../../config'); - -module.exports = (view, params = {}) => { - let html = readFileSync(path.join(__dirname, `${view}.html`), 'utf8').replace(/{{cdn}}/g, cdn); - Object.keys(params).forEach((key) => { - html = html.replace(new RegExp(`{{${key}}}`, 'g'), params[key]); - }); - return html; -}; -``` - -其中用到了 `readFileSync`,该操作可能会在 I/O 密集发生阻塞。并且每个请求均会产生 IO 操作,可以从很多方面进行进一步优化。 - -部分优化建议: - -1. 可以进行内存缓存(仅适用该项目,因为只有一个页面,根据实际项目情况考虑) -2. 可以通过反向代理直接访问静态 HTML 文件,参数通过异步请求带入 - -#### 路由配置 - -`koa-router` 还是 `koa-route`? 这是个好问题。 - -该项目中使用的是`koa-route`,原因是当时并不知道有好多种路由中间件,这个是从官方仓库中发现的。 - -比较了一下源码,个人感觉 `koa-router` 更优美,使用起来也更方便。感兴趣的同学可以尝试一下: - -## 测试 - -练手项目,测试阶段暂时忽略。有时间了再来补上。 - -## 部署 - -```bash -pm2 start up.config.js -``` - -注意 PM2 版本使用大于 2.4,Node 版本大于 7.6.0。 - -### P.S. - -SSL 证书由 `CertBot` 生成。 diff --git a/content/zh/experience/advanced/translate.md b/content/zh/experience/advanced/translate.md deleted file mode 100644 index a3947977..00000000 --- a/content/zh/experience/advanced/translate.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: 开源项目翻译正确姿势 -description: '' -position: 2402 -category: '经验篇-进阶' ---- - -日常开发中,我们经常会在 Github 上发现一些好用的新框架, 如何对这些项目文档进行翻译, 其实这个问题困扰了我很久. 这里,我总结了一些不同情况下所谓的最佳实践, 供大家参考: - -## 独立文档项目 - -举例: - -GraphQL 文档的网站, 是一个独立的项目, source 分支是源码目录, master 分支(可以理解为 gh-pages 分支)是静态站点. - -### 1. 初始化翻译项目 - -直接`Fork`该项目, 示例: - -Fork 之后可以给该项目改名, 如我换到了 `graphql.js.cool` 域名, 并以该域名进行命名. - -然后, 将项目`Clone`至本地. - -```bash -git clone git@github.com:willin/graphql.js.cool.git -cd graphql.js.cool -# 默认源码的分支是source, 可以新建一个分支用于翻译 -git checkout -b cn -git push -u origin cn -``` - -至此, 可以开始翻译工作了. - - - -### 2. 从源站更新内容 - -```bash -# 一次性添加 -git remote add remote git@github.com:graphql/graphql.github.io.git -# 每次更新源站最新代码 -git pull remote source -``` - -`.git/config`文件参考: - -``` -[core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - ignorecase = true - precomposeunicode = true -[remote "origin"] - url = git@github.com:willin/graphql.js.cool.git - fetch = +refs/heads/*:refs/remotes/origin/* -[branch "cn"] - remote = origin - merge = refs/heads/cn -[travis] - slug = willin/graphql.js.cool -[remote "remote"] - url = git@github.com:graphql/graphql.github.io.git - fetch = +refs/heads/*:refs/remotes/remote/* -``` - -## 文档包含在项目中 - -可能是一个一个单独的分支, 或者只是某个分支的一个目录. - -以`vue-router`项目为例, 文档位于`dev`分支的`docs`目录: - -### 1. 初始化翻译项目 - -```bash -git init -git remote add origin xxx # 你的项目路径 -git remote add remote git@github.com:vuejs/vue-router.git -# 拉取源站代码 -git pull remote dev -``` - -### 2. 从源站更新内容 - -```bash -# 每次更新源站最新代码 -git pull remote dev -``` - -## 注意事项 - -- `CNAME`等配置文件需要替换 -- `pull`后可能会有冲突. 解决后再提交代码. - -## p.s. - -优秀的中文翻译项目及推荐的未翻译项目汇总: [Awesome-CN](https://github.com/willin/awesome-cn) diff --git a/content/zh/experience/advanced/vue-components.md b/content/zh/experience/advanced/vue-components.md deleted file mode 100644 index 95c8ef6e..00000000 --- a/content/zh/experience/advanced/vue-components.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: 手把手教你发布一个Vue组件 -menuTitle: 发布一个Vue组件 -description: '' -position: 2408 -category: '经验篇-进阶' ---- - -## 0. 初始化项目 - -项目位于: - -```bash -yarn init -y -``` - -```js -{ - "name": "vchart", - "version": "0.0.0", - "main": "index.js", - "repository": "git@github.com:willin/vchart.git", - "author": "Willin Wang ", - "license": "MIT" -} -``` - -### 初始化 NPM 包 - -```bash -npm publish -``` - -NPM 包位于: https://www.npmjs.com/package/vchart - -## 1. 配置 eslint, babel, webpack - -注意: `eslint-plugin-vue` 目前仅支持到 `eslint@4.3.0` 版本 - -代码提交: https://github.com/willin/vchart/commit/69b3e923ef565b975585872fb0438b304cbdb7d4 - -## 2. 配置 dev 开发环境 - -用简单的`http-server` 运行并调试. - -```js -"scripts": { - "start": "npm run prepare && http-server -c0 .", - "prepare": "webpack --progress --hide-modules" -} -``` - -代码提交: https://github.com/willin/vchart/commit/0b875fcea03e2afed9955887e0b79097d2111adb - - - -## 3. 完成组件功能并测试 - -## 4. 完善文档, 并提供演示 - -演示地址: https://vchart.js.cool - -3/4 两步合并提交的代码: https://github.com/willin/vchart/commit/58b46ece2f19f7f5e07009dc46a71da3855c5bbf - -## 参考资源 - -- https://github.com/gionkunz/chartist-js -- https://github.com/Yopadd/vue-chartist (注入式) -- https://github.com/lakb248/vue-chartist (组件式) diff --git a/content/zh/experience/advanced/vue-webapp.md b/content/zh/experience/advanced/vue-webapp.md deleted file mode 100644 index 6670087d..00000000 --- a/content/zh/experience/advanced/vue-webapp.md +++ /dev/null @@ -1,268 +0,0 @@ ---- -title: Vue + Koa 前后端分离实践 -menuTitle: 前后端分离实践 -description: '' -position: 2407 -category: '经验篇-进阶' ---- - -# 配置 - -## Webpack - -`vue-cli`及诸多脚手架生成的项目里, 配置项非常繁琐, 结构也非常混乱, 实际上 webpack 常规配置就需要两个, 分别给开发环境和产品环境使用. - -而且像 `webpack-merge` 这样的插件, 可以通过简单的 `Object.assign` 或 `[].concat` 完成. - -示例: - -`base.js` 基础设置: - -```js -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const ExtractTextPlugin = require('extract-text-webpack-plugin'); - -module.exports = { - entry: path.resolve(__dirname, '../src/main.js'), - output: { - path: path.resolve(__dirname, '../dist'), - publicPath: '/', - filename: '[name].[hash].js', - chunkFilename: '[id].[hash].js' - }, - module: { - rules: [ - { - test: /\.vue$/, - loader: 'vue-loader', - options: { - extractCSS: true - } - }, - { - test: /\.js$/, - loader: 'babel-loader', - exclude: /node_modules/ - }, - { - test: /\.(png|jpg|gif|svg)$/, - loader: 'file-loader', - options: { - name: '[name].[ext]?[hash]' - } - } - ] - }, - resolve: { - extensions: ['.js', '.json', '.vue'], - alias: { - vue$: 'vue/dist/vue.esm.js' - } - }, - performance: { - hints: false - }, - plugins: [ - new ExtractTextPlugin('style.css'), - new HtmlWebpackPlugin({ - filename: path.resolve(__dirname, '../dist/index.html'), - template: path.resolve(__dirname, '../index.html'), - inject: true, - minify: { - removeComments: true, - collapseWhitespace: true, - removeAttributeQuotes: true - // more options: - // https://github.com/kangax/html-minifier#options-quick-reference - }, - // necessary to consistently work with multiple chunks via CommonsChunkPlugin - chunksSortMode: 'dependency' - }) - ] -}; -``` - -dev 配置: - -```js -const base = require('./base'); - -module.exports = Object.assign({}, base, { - devtool: '#eval-source-map', - devServer: { - historyApiFallback: true, - noInfo: true - } -}); -``` - - - -prod 配置: - -```js -const webpack = require('webpack'); -const base = require('./base'); - -module.exports = Object.assign({}, base, { - devtool: '#source-map', - devServer: { - historyApiFallback: true, - noInfo: true - }, - plugins: (base.plugins || []).concat([ - new webpack.DefinePlugin({ - 'process.env': { - NODE_ENV: '"production"' - } - }), - new webpack.optimize.UglifyJsPlugin({ - sourceMap: true, - compress: { - warnings: false - } - }), - new webpack.LoaderOptionsPlugin({ - minimize: true - }) - ]) -}); -``` - -## Babel - -`preset-latest` 或 `preset-2015` 之类的东西, 谨慎添加. 慢慢必要性也不会太大. - -```js -module.exports = { - presets: [['env', { modules: false }]], - plugins: ['transform-runtime'], - comments: false -}; -``` - -## ESLint - -这里是我用的配置: - -```js -module.exports = { - root: true, - env: { - browser: true, - es6: true, - node: true - }, - extends: ['dwing'], - plugins: ['html', 'vue'], - rules: { - 'no-new': 0, - 'no-bitwise': 0, - 'import/extensions': ['error', 'always', { js: 'never', vue: 'never' }], - 'import/no-extraneous-dependencies': 0 - }, - settings: { - 'import/resolver': { - webpack: { - config: './config/base.js' - } - } - } -}; -``` - -在 vscode 下默认是无法对 `.vue` 文件进行 autofix 的. - -需要注意其中的两个插件, 一个是`eslint-plugin-html`, 一个是`eslint-plugin-vue`, 同时要修改 vscode 的配置 `eslint.validate`, 参考: - -```js -// 将设置放入此文件中以覆盖默认设置 -{ - "editor.tabSize": 2, - "[vue]": { - "editor.formatOnSave": true - }, - "eslint.autoFixOnSave": true, - "eslint.validate": [ - "javascript", - "javascriptreact", - { "language": "vue", "autoFix": true }, - { "language": "html", "autoFix": true } - ] -} -``` - -# 后端渲染 - -根据项目来权衡,是否需要进行服务器端渲染(SSR). - -本项目中采用前后端完全分离的做法, 后端将直接透传前端相关的请求. 目前市面上大多数 devServer 都是用 express 框架做的,而实际项目中用到 express 的可能性小之又小. 找了很久 koa 相关的,都无法跑通,这里我就自己搞了一个能够在 koa 上进行开发运行的方法. - -## 开发环境 - -使用 `Stream PassThrough` 将请求结果转发到前端 `webpack-dev-server` - -```js -const { PassThrough } = require('stream'); - -router.get('/', (ctx) => { - ctx.set('Content-Type', 'text/html'); - // webpack-dev-server 端口 9000 - ctx.body = request.get('http://localhost:9000/index.html').pipe(PassThrough()); -}); - -router.get('/(.*)', async (ctx) => { - const path = ctx.path.split('.').reverse(); - if (path.length > 0) { - const type = path[0]; - switch (type) { - case 'css': { - ctx.set('Content-Type', 'text/css'); - break; - } - case 'js': { - ctx.set('Content-Type', 'text/javascript'); - break; - } - case 'jpg': { - ctx.set('Content-Type', 'image/jpeg'); - break; - } - case 'png': { - ctx.set('Content-Type', 'image/png'); - break; - } - default: { - ctx.set('Content-Type', 'text/plain'); - } - } - } - ctx.body = request.get(`http://localhost:9000${ctx.path}`).pipe(PassThrough()); -}); -``` - -唯一的不足就是, `PassThough` 默认的 mime 是 `application/octet-stream` 需要手动替换头信息. - -## 产品环境 - -`koa-send` 就可以满足: - -```js -const send = require('koa-send'); - -router.get('/(.*)', async (ctx) => { - try { - await send(ctx, '/index.html', { root: path.resolve(__dirname, '../dist') }); - } catch (e) {} -}); -router.get('/(.*)', async (ctx) => { - try { - await send(ctx, ctx.path, { root: path.resolve(__dirname, '../dist') }); - } catch (e) {} -}); -``` - ---- - -项目源码: diff --git a/content/zh/experience/advanced/webapp-proxy.md b/content/zh/experience/advanced/webapp-proxy.md deleted file mode 100644 index 43ce5b2a..00000000 --- a/content/zh/experience/advanced/webapp-proxy.md +++ /dev/null @@ -1,259 +0,0 @@ ---- -title: 基于 API 快速搭建前后分离的项目 -menuTitle: API 快速搭建 -description: '' -position: 2406 -category: '经验篇-进阶' ---- - -以我们目前的开放平台为例。 - -Sandbox(沙盒)的在线文档可以在: 找到。 - -Node.js 版本 SDK: - -## SDK 使用 - -后端接口采用`@airx/sdk`来完成`AirX Open API`的反向代理. - -```js -const SDK = require('@airx/sdk'); - -const sdk = new SDK({ - SecretId: 'xxxx', - SecretKey: 'xxxx', - // 访问的域名: - Domain: 'staging.airdwing.com', - // 是否启用HTTPS: - Secure: true -}); - -(async () => { - const result = await sdk.get('/user/check', { - username: '13212341234' - }); - console.log(result); -})(); -``` - -## 前端请求参数 - -### 签名相关参数 - -签名相关参数不用通过前端传递,防止 AK/SK 的泄露,签名交给`Node.js`后端反代应用程序处理,所以以下几个签名相关参数不用传递: - -- Nonce -- SecretId -- Signature -- SignatureMethod -- Timestamp - -### 登录 Auth Token - -由于反代应用程序支持 Cookie Session, 所以前端不用存储 Auth Token,也免去了 Auth Token 被截获的风险.所以如果接口需要以下参数,不用传递: - -- auth - -### 登录设备相关参数 - -每个会话都会生成一个随机唯一的模拟登录设备 id, 如果接口需要以下参数, 不用传递: - -- guid -- device - -但需要注意的是, 你需要调用 `/guid` 接口来查询本次会话的 `guid` 并进行登录设备绑定. - -返回结果如下: - -```js -{ - status: 1, - data: { - guid: 'xxxx' - } -} -``` - -## 项目目录结构 - -- server/ 服务器后端源码目录 -- app/ 前端应用源码目录 -- dist/ 前端应用通过`webpack`等工具进行打包压缩, 将静态文件存放的目录 - -建议的 `dist` 目录结构 - -- index.html -- 404.html 和 403,500... 等其他相关错误的 html -- static/ 文件目录,或分类目录存放 css/js/图片等静态资源 - - - -## 核心代码 - -### 实现前后端分离 - -位于:`server/server.js` - -```js -app.use(async (ctx, next) => { - ctx.api = await swagger(); - const path = ctx.api.paths[ctx.path]; - // ! 仅供开发测试, 允许跨域操作很危险 - if (ENV === 'development') { - ctx.set('Access-Control-Allow-Origin', '*'); - } - if (path === undefined) { - // 前后端分离, 处理前端相关静态文件 - try { - await send(ctx, ctx.path, { root: `${__dirname}/../dist` }); - } catch (err) { - ctx.status = 404; - // 注意要添加 404.html 到 dist 目录 - // await send(ctx, '/404.html', { root: `${__dirname}/../dist` }); - } - return; - } - await next(); -}); -``` - -### 处理接口反向代理 - -位于:`server/server.js` - -```js -app.use(async (ctx) => { - // 提供 guid 查询接口 - if (ctx.path === '/guid') { - let guid = ctx.session.guid; - if (isEmpty(guid)) { - guid = uuid(); - ctx.session.guid = guid; - } - ctx.status = 200; - ctx.body = { status: 1, data: { guid } }; - return; - } - // 处理后端接口 - // 封装sdk请求 - if (ctx.path === '/upload') { - // 处理上传 - await upload(ctx); - } else { - // 处理其他接口 - await others(ctx); - } -}); -``` - -### 从远程 Swagger 取得参数信息 - -位于:`server/lib/swagger.js` - -```js -const getSwagger = async () => { - const result = await request({ - method: 'GET', - url: apiOptions.doc, - timeout: 5000 - }); - const paths = result.paths; - const app = { - host: result.host, - paths: Object.keys(paths).reduce((p, x) => { - /* eslint no-param-reassign:0 */ - const method = Object.keys(paths[x])[0]; - p[x] = paths[x][method].parameters.map((t) => t.name); - return p; - }, {}) - }; - return app; -}; - -module.exports = async () => { - let app = await redis.get('app'); - if (isEmpty(app)) { - app = await getSwagger(); - await redis.set('app', app); - } - return app; -}; -``` - -通过 `Swagger` 配置文件可以将接口列表,及各个接口需要的参数,以便于后边再接口调用的时候有针对性的处理参数。 - -### 处理普通接口请求 - -位于:`server/handler/others.js` - -```js -module.exports = async (ctx) => { - const method = ctx.request.method.toLowerCase(); - const receivedParams = method === 'get' ? ctx.query : await parse(ctx.req); - - const sdk = new SDK({ - SecretId: apiOptions.ak, - SecretKey: apiOptions.sk, - Domain: ctx.api.host, - Secure: apiOptions.scheme === 'https' - }); - - // 处理请求参数 - const params = ctx.api.paths[ctx.path]; - if (params.indexOf('auth') !== -1) { - // 处理需要 登录 的接口 - const auth = ctx.session.auth; - if (isEmpty(auth)) { - ctx.status = 200; - ctx.body = { status: 0, code: 401 }; - return; - } - const ttl = ~~ctx.session.ttl; - // 处理登录超时(1小时),提前10分钟重新获取auth - if (ttl - getTimestamp() < 600) { - const tmpParams = JSON.parse(ctx.session.params); - const login = await sdk.post('/user/login', tmpParams); - const loginResult = doLogin(ctx, login, tmpParams); - // 密码被修改等无法登录 - if (loginResult === -1) { - ctx.status = 200; - ctx.body = { status: 0, code: 401 }; - return; - } - } - - receivedParams.auth = auth; - } - - if (params.indexOf('guid') !== -1) { - // 处理需要 guid 的接口 - let guid = ctx.session.guid; - if (isEmpty(guid)) { - guid = uuid(); - ctx.session.guid = guid; - } - receivedParams.guid = guid; - } - - if (params.indexOf('device') !== -1) { - // 处理需要登录设备名称的接口 - receivedParams.device = 'AirX网页版'; - } - - if (params.indexOf('password') !== -1) { - // 处理需要 authcode加密 的接口 - receivedParams.key = randStr(6); - receivedParams.passwod = encode(receivedParams.passwod, receivedParams.key); - } - - const result = await sdk[method](ctx.path, receivedParams); - // 记录登录信息 - if (ctx.path === '/user/login') { - doLogin(ctx, result, receivedParams); - } - ctx.status = 200; - ctx.body = result; -}; -``` - -该实例代码可以在: 找到。 diff --git a/content/zh/experience/advanced/webpack-server.md b/content/zh/experience/advanced/webpack-server.md deleted file mode 100644 index 742c1266..00000000 --- a/content/zh/experience/advanced/webpack-server.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: 服务器端代码打包 -description: '' -position: 2409 -category: '经验篇-进阶' ---- - -## 环境变量 - -之前,我们在项目里会经常使用 `process.env.NODE_ENV`, 但这个变量对于 `webpack`打包是有影响的, 在 `production` 的时候是有优化的. - -所以, 我们将改用其他的环境变量来区别: - -```js -new webpack.DefinePlugin({ - 'process.env.NODE_ENV': '"production"', - 'process.env.API_ENV': `"${process.env.API_ENV || 'development'}"` -}); -``` - -像这样, `NODE_ENV` 始终为 `production`. - -而我们实际开发/产品环境, 用 `process.env.API_ENV` 变量来使用(由于该项目是一个 koa 接口服务项目, 所以这样进行命名, 可以改成任意的, 你开心就好). - - - - - -## 动态配置打包 - -### 注意 - -我们以前在 node.js 后端项目中, 动态配置加载一般是这样写: - -```js -const ENV = process.env.NODE_ENV || 'development'; -// eslint-disable-next-line import/no-dynamic-require -const options = require(`./_${ENV}`); - -module.exports = options; -``` - -为了提高阅读性, 和可能存在`ENV`的复用, 我们会单独定义一个变量. - -在 webpack 打包的项目中直接这样做的话, 会产生一个问题. 比如我现在有多个配置: - -- \_develpment.js -- \_test.js -- \_production.js -- \_staging.js - -即便我传入的当前环境为 `development`, 依然所有的配置文件会被全部打包进来(只是永远不会被执行). 那么这样的话, 就存在敏感信息泄露的风险. - -正确的姿势应该是这样的: - -### config/index.js - -```js -// eslint-disable-next-line import/no-dynamic-require -const options = require(`./_${process.env.API_ENV || 'development'}`); - -module.exports = options; -``` - -## 模块化打包 - -比如, 我在项目中有很多个模块, 处于负载均衡的需求, 或者是对于客户定制模块化产品的需求, 我们需要分模块进行打包, 避免其他模块(永远不会被执行的)被打包进 webpack bundle. - -```js -// config/_development.js -exports.enabledModules = ['user', 'demo']; -// 可能 src 目录下 还有其他模块目录, 如 'manage' 等 -``` - -在服务端加载的时候, 是这样子的: - -```js -// src/server.js -// 动态加载启用的模块 -enabledModules.forEach((mod) => { - /* eslint-disable global-require,import/no-dynamic-require */ - const routes = require(`./${mod}/route`); - routes.middleware() |> app.use; -}); -``` - -那么就需要 `ContextReplacementPlugin` 插件来支持了. - -```js -new webpack.ContextReplacementPlugin(/src/, new RegExp(`^./(${enabledModules.join('|')})/.*$`)); -``` - -### 进阶使用 - -比如,`src`目录下除了各个模块的目录, 还有一些通用方法类,钩子的目录, 如: `lib` 和 `hook`. 这两个目录是可能被其他子模块共同引用的. 在插件正则中修改: - -```js -new webpack.ContextReplacementPlugin(/src/, new RegExp(`^./(lib|hook|${enabledModules.join('|')})/.*$`)); -``` - -## 压缩代码, 并添加 source-map 支持 - -`Uglifyjs` 或 `Uglify-es` 其实对于服务器端代码打包并不友好, 可能会导致打包的失败, 用 `babel-minify-webpack-plugin` 插件来替代. - -配合 `source-map-support` 插件来支持源码的问题定位. - ---- - -示例项目源码: diff --git a/content/zh/experience/azure/iot-hub-route.md b/content/zh/experience/azure/iot-hub-route.md deleted file mode 100644 index 45dd7b7b..00000000 --- a/content/zh/experience/azure/iot-hub-route.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Azure IoT Hub 路由开发指南 -menuTitle: IoT Hub 路由 -description: '' -position: 2302 -category: '经验篇-Azure(Node.js)' ---- - -本章主要讲解: - -- 如何使用 eventhub 创建路由 -- 如何将一条设备消息同时传入两个路由进行不同的处理 - -## 概念讲解 - -- 事件中心(Event Hubs): 用于服务器端侦听并处理的 EventHub 终结点 -- 终结点(IOT Hub): 关联到 Event Hubs 中的事件中心 -- 路由(IOT Hub): 关联到 IOT Hub 中的终结点, 处理路由分发的主要配置环节 - -## 在 Azure 中创建并配置路由相关的基础服务 - -首先需要分别创建 IOT Hub 和 EventHubs. - - - -### 1. 创建 EventHubs 事件中心 - -![eventhub](https://user-images.githubusercontent.com/1890238/29015275-06999aa8-7b13-11e7-893c-2f75ca58bb14.png) - -### 2. 创建 IOT Hub 终结点 - -![endpoint](https://user-images.githubusercontent.com/1890238/29015320-334b5a00-7b13-11e7-8c12-dcc4d152e6e7.png) - -注意这里, `状态` 初始不显示, 首次消息通讯成功后再来这里看应该会变. - -系统可能会存在这样的 Bug, 怎么也收不到消息. 这里的状态就会一直不显示: - -![err](https://user-images.githubusercontent.com/1890238/29015355-4a0427c2-7b13-11e7-8a9c-24e6bc87144b.png) - -像这样的情况发生的时候, 删除路由,删除终结点,删除事件中心, 重头再来. - -### 3. 配置路由 - -![route](https://user-images.githubusercontent.com/1890238/29015397-7cb355bc-7b13-11e7-8a65-957e76defadd.png) - -仔细看上图, 两个路由的查询条件一样, 但分别放进 `test`/`test2` 两个不同的终结点. - -## 示例代码 - -### 服务器端 - -```js -// eventhub.js -const EventHubClient = require('azure-event-hubs').Client; - -const getPartitionIds = async (client) => { - const partitionIds = await client.getPartitionIds(); - return partitionIds; -}; - -const defaultErrorHandler = async (err) => { - console.error(err); -}; - -const defaultMessageHandler = (message) => { - console.log(message.body); - console.log(message.body.toString()); -}; - -const createReceiver = async ({ connStr = '', messageHandler = defaultMessageHandler } = {}, errorHandler = defaultErrorHandler) => { - const client = EventHubClient.fromConnectionString(connStr); - await client.open(); - const partitionIds = await getPartitionIds(client); - partitionIds.forEach(async (partitionId) => { - const receiver = await client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() }); - receiver.on('errorReceived', async (err) => { - if (err.transport && err.transport.name === 'AmqpProtocolError') { - console.log(`Restart #${partitionId}`); - await createReceiver({ connStr, errorHandler, messageHandler }); - } else { - await errorHandler(err); - } - }); - receiver.on('message', messageHandler); - }); -}; - -module.exports = createReceiver; -``` - -```js -// server.js -const receiver = require('./eventhub'); - -(async () => { - await receiver({ - connStr: 'test事件中心的连接', - messageHandler: (msg) => { - console.log('test'); - console.log(msg.body); - } - }); - await receiver({ - connStr: 'test2事件中心的连接', - messageHandler: (msg) => { - console.log('test2'); - console.log(msg.body); - } - }); -})(); -``` - -### 客户端模拟消息发送 - -参考官方的示例: - -注意第 44 行位置, 下面添加一行, 加入路由属性 - -```js -message.properties.add('route', 'tt'); -``` diff --git a/content/zh/experience/azure/iot-hub.md b/content/zh/experience/azure/iot-hub.md deleted file mode 100644 index f311634a..00000000 --- a/content/zh/experience/azure/iot-hub.md +++ /dev/null @@ -1,277 +0,0 @@ ---- -title: Azure IoT Hub开发指南 -menuTitle: IoT Hub -description: '' -position: 2301 -category: '经验篇-Azure(Node.js)' ---- - -!> IOT Hub 应用实际开发过程中的一些注意细节 - -资源: - -- 创建设备: -- IoT Hub(基于 Event Hubs)消息管理: -- 开发调试工具: - -## 简单发送接收示例 - -### 1. 注册设备 - -```js -const iothub = require('azure-iothub'); - -const registry = iothub.Registry.fromConnectionString('[connectionString]'); - -const device = new iothub.Device(null); -device.deviceId = '[deviceId]'; - -function printDeviceInfo(err, deviceInfo, res) { - if (deviceInfo) { - console.log(JSON.stringify(deviceInfo, null, 2)); - console.log(`Device id: ${deviceInfo.deviceId}`); - console.log(`Device key: ${deviceInfo.authentication.symmetricKey.primaryKey}`); - } -} - -// 删除设备 registry.delete(deviceId, (err, deviceInfo, res) => {}); -registry.create(device, (err, deviceInfo, res) => { - if (err) { - registry.get(device.deviceId, printDeviceInfo); - } - if (deviceInfo) { - printDeviceInfo(err, deviceInfo, res); - } -}); -``` - - - -### 2. 模拟设备发送消息 - -```js -const clientFromConnectionString = require('azure-iot-device-mqtt').clientFromConnectionString; -const Message = require('azure-iot-device').Message; - -const connectionString = 'HostName=[修改连接主机];DeviceId=[deviceID];SharedAccessKey=[连接密钥]'; - -const client = clientFromConnectionString(connectionString); - -function printResultFor(op) { - return function printResult(err, res) { - if (err) console.log(`${op} error: ${err.toString()}`); - if (res) console.log(`${op} status: ${res.constructor.name}`); - }; -} - -const connectCallback = function (err) { - if (err) { - console.log(`Could not connect: ${err}`); - } else { - console.log('Client connected'); - - // Create a message and send it to the IoT Hub every second - setInterval(() => { - const windSpeed = 10 + Math.random() * 4; - const data = JSON.stringify({ deviceId: 'myFirstNodeDevice', windSpeed }); - const message = new Message(data); - console.log(`Sending message: ${message.getData()}`); - client.sendEvent(message, printResultFor('send')); - }, 1000); - } -}; - -client.open(connectCallback); -``` - -### 3. 服务器端接收消息 - -```js -const EventHubClient = require('azure-event-hubs').Client; - -const connectionString = 'HostName=[修改连接主机];SharedAccessKeyName=iothubowner;SharedAccessKey=[修改连接密钥]'; - -const printError = function (err) { - console.log(err.message); -}; - -const printMessage = function (message) { - console.log('Message received: '); - console.log(JSON.stringify(message.body)); - Object.getOwnPropertyNames(message).forEach((x) => { - console.log(x, message[x]); - }); - console.log(''); -}; - -const client = EventHubClient.fromConnectionString(connectionString); - -client - .open() - .then(client.getPartitionIds.bind(client)) - .then((partitionIds) => - partitionIds.map((partitionId) => - client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() }).then((receiver) => { - console.log(`Created partition receiver: ${partitionId}`); - receiver.on('errorReceived', printError); - receiver.on('message', printMessage); - }) - ) - ) - .catch(printError); -``` - -注意: - -- 客户端传的`properties`,在消息体中是`message.applicationProperties` -- `startAfterTime`或`startAfterOffset`参数来决定启动时间, 可用记录上一次消息的`offset`/`enqueued-time`来保证中断重启能够继续从未处理的消息开始读取 -- `message`包含的属性如下: - -```js -['partitionKey', 'body', 'enqueuedTimeUtc', 'offset', 'properties', 'applicationProperties', 'sequenceNumber', 'annotations', 'systemProperties']; -``` - -消息体示例: - -```bash -Message received: -partitionKey undefined -body { deviceId: 'myFirstNodeDevice', windSpeed: 10.51685587945142 } -enqueuedTimeUtc 2017-06-13T01:21:02.519Z -offset 73240 -properties undefined -applicationProperties { asdf: 'asdfz' } -sequenceNumber 182 -annotations { 'x-opt-sequence-number': 182, - 'x-opt-offset': '73240', - 'x-opt-enqueued-time': 2017-06-13T01:21:02.519Z, - 'iothub-connection-device-id': 'myFirstNodeDevice', - 'iothub-connection-auth-method': '{ "scope": "device", "type": "sas", "issuer": "iothub" }', - 'iothub-connection-auth-generation-id': 'xxxxxxx', - 'iothub-enqueuedtime': 2017-06-13T01:21:02.786Z, - 'iothub-message-source': 'Telemetry' } -systemProperties undefined -``` - -## 配置路由(需要 Event Hubs) - -### 1. 创建 Event Hubs - -### 2. 从事件中心创建实体 - -![eventhubs-entities](https://user-images.githubusercontent.com/1890238/27019465-566b06d4-4efe-11e7-8a74-240c0c523ac4.png) - -### 3. 获取连接字符串 - -点击进入已创建的实体 - -![eventhubs-key](https://user-images.githubusercontent.com/1890238/27019487-89f17e8e-4efe-11e7-815c-c3d62a3213ef.png) - -不要从别处获得连接字符串,因为可能无法连接. 最终获得的连接字符串应当包含`EntityPath`字段,类似: - -``` -Endpoint=sb://xxxx.servicebus.chinacloudapi.cn/;SharedAccessKeyName=iothubroutes_xxxx;SharedAccessKey=xxxx;EntityPath=xxxx -``` - -### 4. 创建 Endpoint - -![iothub-endpoints](https://user-images.githubusercontent.com/1890238/27019555-23edcb5a-4eff-11e7-89e6-57f88d241612.png) - -将 Event Hubs 里的事件关联到 IoT Hub - -### 5. 创建路由 - -![iothub-route](https://user-images.githubusercontent.com/1890238/27019570-5238cd52-4eff-11e7-932f-78a8a97d0246.png) - -### 示例代码 - -#### 1. 修改刚才的发送示例 - -```js -const clientFromConnectionString = require('azure-iot-device-mqtt').clientFromConnectionString; -const Message = require('azure-iot-device').Message; - -const connectionString = 'HostName=[修改连接主机];DeviceId=[deviceID];SharedAccessKey=[连接密钥]'; - -const client = clientFromConnectionString(connectionString); - -function printResultFor(op) { - return function printResult(err, res) { - if (err) console.log(`${op} error: ${err.toString()}`); - if (res) console.log(`${op} status: ${res.constructor.name}`); - }; -} - -const connectCallback = function (err) { - if (err) { - console.log(`Could not connect: ${err}`); - } else { - console.log('Client connected'); - - // Create a message and send it to the IoT Hub every second - setInterval(() => { - const windSpeed = 10 + Math.random() * 4; - const data = JSON.stringify({ deviceId: 'myFirstNodeDevice', windSpeed }); - const message = new Message(data); - // 随机发送到路由或默认事件上 - if (Math.round(Math.random()) === 1) { - message.properties.add('route', 'test'); - } - console.log(`Sending message: ${message.getData()}`); - client.sendEvent(message, printResultFor('send')); - }, 1000); - } -}; - -client.open(connectCallback); -``` - -#### 2. IoT Hub 侦听启动 - -无需修改,直接启动 - -#### 3. Event Hubs 侦听启动 - -复制 IoT Hub 侦听源码,修改连接字符串: - -```js -const EventHubClient = require('azure-event-hubs').Client; - -// const connectionString = 'HostName=[修改连接主机];SharedAccessKeyName=iothubowner;SharedAccessKey=[修改连接密钥]'; -const connectionString = - 'Endpoint=[sb://修改连接主机.servicebus.chinacloudapi.cn/];SharedAccessKeyName=[修改连接策略];SharedAccessKey=[x修改连接密钥];EntityPath=[事件实体]'; - -const printError = function (err) { - console.log(err.message); -}; - -const printMessage = function (message) { - console.log('Message received: '); - console.log(JSON.stringify(message.body)); - console.log(message); - console.log(''); -}; - -const client = EventHubClient.fromConnectionString(connectionString); - -client - .open() - .then(client.getPartitionIds.bind(client)) - .then((partitionIds) => - partitionIds.map((partitionId) => - client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() }).then((receiver) => { - console.log(`Created partition receiver: ${partitionId}`); - receiver.on('errorReceived', printError); - receiver.on('message', printMessage); - }) - ) - ) - .catch(printError); -``` - -#### 测试结果 - -- 发送到默认路由的,只能被 IoT Hub 侦听应用捕获. -- 发送到刚才配置的测试路由的,只能被 Event Hubs 侦听应用捕获. - -至此,完成路由转发. diff --git a/content/zh/experience/azure/storage.md b/content/zh/experience/azure/storage.md deleted file mode 100644 index a2de78ca..00000000 --- a/content/zh/experience/azure/storage.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: Azure Blob文件上传 -menuTitle: Storage -description: '' -position: 2303 -category: '经验篇-Azure(Node.js)' ---- - -azure-storage 官方文档: - -## 建立连接 - -有 3 种方式(文档中未提及): - -### 1. 通过环境变量 - -```bash -AZURE_STORAGE_CONNECTION_STRING="valid storage connection string" node app.js -``` - -应用程序内: - -```js -const azure = require('azure-storage'); -const blobService = azure.createBlobService(); -// code here -``` - - - -### 2.连接字符串 - -```js -const azure = require('azure-storage'); -const blobService = azure.createBlobService('connectionString'); // 类似: DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****;EndpointSuffix=*****.core.chinacloudapi.cn -// code here -``` - -### 3.账号+密钥 - -```js -const azure = require('azure-storage'); -const blobService = azure.createBlobService('storageAccount', 'storageAccessKey', 'storageHost'); -// code here -``` - -## 上传示例 - -因为 POST 请求接收到的大部分是 Stream.所以采用 Sream 的方式上传. - -```js -// azure.js -const azure = require('azure-storage'); -const { getDefer } = require('@dwing/common'); - -const blobService = azure.createBlobService('accountName', 'accessKey', 'host'); - -exports.createBlockBlobFromStream = (container, filename, blob) => { - const deferred = getDefer(); - blob.on('error', (err) => { - deferred.reject(err); - }); - blob.pipe(blobService.createWriteStreamToBlockBlob(container, filename)); - blob.on('end', () => { - deferred.resolve(1); - }); - return deferred.promise; -}; -``` - -测试代码: - -```js -// demo.js -const { createBlockBlobFromStream } = require('./azure'); -const fs = require('fs'); -const path = require('path'); - -const stream = fs.createReadStream(path.join(__dirname, '/testfile')); - -(async () => { - const result = await createBlockBlobFromStream('container', 'filename', stream); - console.log(result); -})(); -``` - -在 AirX 项目中的实际使用: - - - -```js -const SDK = require('@airx/sdk'); -const fs = require('fs'); - -const sdk = new SDK({ - SecretId: 'xxxx', - SecretKey: 'xxxx' -}); - -(async () => { - const result = await sdk.upload({ - auth: 'xxxx', - type: 'orgverify', - file: fs.createReadStream('PATH/TO/xxx.jpg') // 注意这里, 本地文件可以用 path.join 拼装地址,或者直接用Stream - }); - console.log(result); -})(); -``` diff --git a/content/zh/experience/azure/web-app.md b/content/zh/experience/azure/web-app.md deleted file mode 100644 index e29b844d..00000000 --- a/content/zh/experience/azure/web-app.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: Azure Node.js WebApp -menuTitle: WebApp -description: '' -position: 2304 -category: '经验篇-Azure(Node.js)' ---- - -!> 对官方文档一些需要额外注意的细节整理 - -[在 Azure App Service 中创建 Node.js Web 应用](https://www.azure.cn/documentation/articles/web-sites-nodejs-develop-deploy-mac/) - -## 注意事项 - -### 1. 启动项 npm start - -必须以`node`命令执行,且必须以`node`命令打头,如: - -```js -"scripts": { - "start": "node PATH/app.js" -} -``` - -不能以`cli`工具执行,像这样的是无法执行的: - -```js -"scripts": { - "start": "gitbook serve" -} -``` - -还有这样: - -```js -"scripts": { - "start": "NODE_ENV=production node PATH/app.js" -} -``` - - - -### 2. 不能指定端口号 - -```js -app.listen(3000); // 抱歉,发布后无法访问 -``` - -必须引用`process.env.PORT`,像这样写: - -```js -app.listen(process.env.PORT || 3000); -// 部署后传入绑定的PORT类似: \\.\pipe\69b6d648-e61e-4da2-9de5-fb797348d3fa -``` - -## 环境变量配置 - -`NODE_ENV` 或者其他环境变量的配置位于: - -> WebApp -> 应用程序设置 -> 应用设置 - -![](https://cloud.githubusercontent.com/assets/1890238/26770714/ac0ede34-49eb-11e7-8850-9c9740dc48d2.png) - -## 指定 node/npm 版本 - -`package.json`中添加: - -```js -"engines": { - "node": ">= 8.0.0", - "npm": ">= 5.0.0" -} -``` diff --git a/content/zh/experience/design/architecture.md b/content/zh/experience/design/architecture.md deleted file mode 100644 index 12a2d43d..00000000 --- a/content/zh/experience/design/architecture.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: 系统架构设计 -description: '' -position: 2003 -category: '经验篇-设计' ---- - -## 核心思想原则 - -### 分治法 - -即分而治之。 - -将庞大的计算、存储压力向下级分摊。又可以看做是去中心化的一种实践方式。 - -数据中心只承担一些核心数据的存储工作;每个服务器都可以存储部分非通用的数据,承担部分的计算及负载压力。下级路由、智能终端设备、智能移动设备等,都可以分摊服务器的压力。 - - - -### 高内聚,低耦合 - -耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 - -**_对外_**低耦合,**_对内_**高内聚 - -有个例子很容易明白: - -> 一个程序有 50 个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他 49 个函数都需要做修改,这就是高耦合的后果。一旦你理解了它,你编写概要设计的时候设计类或者模块自然会考虑到“高内聚,低耦合”。 - -1. 耦合、内聚的评估标准是**_强度_**,耦合越弱越好,内聚越强越好; -2. 所谓**_过度_**指的是由于错误理解导致的效果相反的设计; -3. _耦合指的模块之间的关系_,最弱的耦合设计是通过一个主控模块来协调 n 个模块之间的运作。还是举一个我举过的例子:客户要求在界面上增加一个字段,你的项目要修改几个地方呢?如果你只要修改项目文档,那么你的开发构架就是最低强度的耦合,而这种设计 成熟的开发团队都已经做到了,他们使用开发工具通过项目模型驱动数据库和各层次的代码,而不是直接修改那些代码; -4. _内聚指的是模块内部的功能_,最强的内聚就是功能单一到不能拆分,也就是原子化; -5. 所以**_强内聚和弱耦合是相辅相成的,一个良好的设计是由若干个强内聚模块以弱耦合的方式组装起来的。_** - -### 前后端分离 - -参考资料: - -- -- - -注意点: 前后端分离不单指 Web 的前后端,也包括客户端(前)和服务器(后)的分离。 diff --git a/content/zh/experience/design/product.md b/content/zh/experience/design/product.md deleted file mode 100644 index 01d725f4..00000000 --- a/content/zh/experience/design/product.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: 产品设计 -description: '' -position: 2002 -category: '经验篇-设计' ---- - -## 核心思想原则 - -### 安全 > **_并发性能_** > 用户体验(UE) > 用户界面(UI) - -这里强调一下并发性能,重于用户体验。原因很简单,因为并发性能直接导致了对服务器硬件环境的要求,所以可视为并发性能即归于成本。没有项目、产品可以不计成本去完善用户体验。 - -### 最简化可实行产品(MVP)原则 - -专注一个突破点。不盲目搞大。 - -冰冻三尺非一日之寒,一口吃不成胖子。所有庞大的系统,都是由一个个小的子系统逐步演化而来。 - -明确受众用户,明确核心功能,快速迭代。 - - - -## 用户体验设计经验心得 - -### 体验重心不在于整体感觉,而在于细节处理 - -![Image](/experience/design/tip.png) - -显示密码按钮逻辑颠倒,像这种问题不仔细看可能都无法察觉。 - -弹窗中包含右上角关闭按钮,中间的取消按钮,以及屏幕点击空白处的自动关闭,共计 3 处关闭,“取消”按钮完全没有必要留下。 - -### 消费降级 ≠ 体验降级 - -- 交互中避免增加不必要的操作,简化复杂操作; -- 界面显示中,避免无关联的堆砌,数据直观减少用户思考。 - -![Image](/experience/design/chart.png) - -以此处图表为反例教材,该图表反应的应该是项目实施进度。其中,中间着重显示的 70% 可能为已完成任务的比例,移动上每个具体项目显示的为个数(不显示比例)。虽然看似内容丰富,但实则没有任何帮助统计的意义。我既不知道完成了多少个任务,也不知道有空再看看的比例是多少。 diff --git a/content/zh/experience/design/requirements.md b/content/zh/experience/design/requirements.md deleted file mode 100644 index 6e919955..00000000 --- a/content/zh/experience/design/requirements.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: 需求分析 -description: '' -position: 2001 -category: '经验篇-设计' ---- - -## 设计 - -### 思维导图 - -工具: - -- Mindjet MindManager - -### UML 建模 - -流程图、时序图、用例图等,为基本技能。 - -工具: - -- Microsoft Visio (Win) -- OmniGraffle (Mac) - -### 原型 - -工具: - -- Axure (必备) -- Pencil -- Balsamiq Mockups -- Sketch - -### 规范 - -设计内容上的优劣,需要细看、深思才能知道。但规范上的问题,第一眼,就能发现。 - -所以输出的图表、文档都要规范。这是最基本要求。 - -以流程图为例: - -- 必须有开始、结束,有且只有一个开始 -- 箭头必须画在流程线的尖部 -- 只有判断有两个分支流向,其余均为一个 - -等等其他细节也须注意。 - - - -## 需求 - -需求收集与整理,可以多画画思维导图,因为部分需求之间是存在关联关系的,要将需求的关系、层级理顺。 - -### 什么样的需求该忽略 - -没有大量数据证明切实符合用户实际需要的。 - -#### 1.拍拍脑袋得来的想法,往往是没用的 - -硬币皆有两面,要用批判的眼光去审视产品经理的点子。 - -当下这个阶段,人人都是产品经理,各种野路子如雨后春笋,导致好的产品经理凤毛麟角。 - -当产品经理拍拍脑袋提出了一个想法,该做的事情是,让他先去做一个详细的市场调研,给出报告和可行性分析。 - -举一个我见过的例子: - -很早之前我们团队接到一个任务,设计一款新的网关产品。产品经理的想法是将受众用户群体定位在青年人。这样就跟小米——“为发烧而生”不谋而合,直面迎来了一个还算比较强大的竞争对手。 - -当时我提出了一个针对老龄化的设想,主题是傻瓜化、真智能,让中老年人都能轻松上手的产品。直到 2016 年,才出了“爱国者聚路由”这样稍微有点神似的产品。 - -#### 2.用户反馈的信息,不应该直接纳入需求 - -根据二八原则,将 80%精力放在 20%最有价值产出的事情上。 - -用户的需求是需求,但不一定是大众需求。所以如果是一个只有三五十活跃用户的反馈组里,得到的反馈信息仅能作为参考。 - -举个例子: - -假设有这样一个问题:智能门锁通过手机解锁是否需要输入密码。在用户群里,有一些用户反馈说手机 App 上开锁还要打密码很麻烦,不如去掉这一步的密码校验,得到了一批人的支持。 - -但这样的需求不可取。实际的需求依然需要大量的数据去支撑。一方面,方便和安全,都需要考虑。另一方面,如果大量的用户反馈觉得这样比较麻烦,最佳实践应该是,保留 App 上的密码解锁功能,但可以设置开启或关闭,默认开启,由用户去控制,为了方便可以将其关闭,但由于这种用户自发行为导致的安全隐患,就得交由用户自行承担。 - -#### 3.扭改用户习惯的需求,一律不考虑 - -用户行为引导应该是个缓慢而循序渐进的过程。在做技术架构的时候可以稍微激进一点,采用一些新架构新技术去尝试,能提高系统性能;但是在做产品架构的时候,不可冒进。 - -举例说明: - -原有用户账号体系中,不支持手机号注册、登录。在添加这项新功能后,应该是引导用户绑定手机,允许原有方式登录,并增加新的方式登录。尊重原有用户使用用户名的习惯,逐步培养绑定手机号的安全行为,但不能强制用户将登录习惯也改为用手机号进行登录。 - -因为假设我的用户名为 `wzl` 或者 `willin` 都会比手机号(11 位)输入更方便,所以这样的引导并不能帮助用户得到什么益处。不可取。 - -### 什么样的需求该重视 - -#### 1.从运维系统中根据数据结果分析得出的结论 - -完善运维系统,采集更多需要的信息。根据信息分析得出的可靠结论,才是最重要的需求点。 - -这里就不举例展开了,一方面数据都是比较私密的,另外一方面,数据所展示出来的问题都是比较明显的。 - -#### 2.重视有洞见者的每一句话 - -什么样的人输出什么样的创意。没有偏见,客观陈述。狗嘴里吐不出象牙,所以不要指望肤浅的人给出多么好的意见。而能给出好创意的人,能够源源不断地输出好的创意。 - -设计,主要来自于思想和经验。 - -思想这个东西,虽然有后天弥补的空间,但基本都是与生俱来的,可视为先天优势。而经验,则需要知识和实践相结合,可视为后天富足。只有两者都满足,才能成为一个好的设计者。很苛刻,但这是事实。 diff --git a/content/zh/experience/design/system.md b/content/zh/experience/design/system.md deleted file mode 100644 index d1a9c85b..00000000 --- a/content/zh/experience/design/system.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: 系统架构设计实践 -description: '' -position: 2004 -category: '经验篇-设计' ---- - -一个开放平台的设计大概思路。 - -## 第一步:定位用户 - -开发者,分企业开发者和个人开发者。 - -## 第二步:系统功能设计 - -心中先有个梗概,列出列表。 - -最核心的功能模块: - -1. 提供开放接口 -2. 提供开放文档 -3. 提供 API 文档 -4. 提供 SDK -5. SDK 下载,来源各个组,如嵌入式、移动开发、服务器端,提供各种语言的 SDK 版本 -6. 除了 SDK 下载还需要提供 SDK 使用说明,整合进文档中 - -其他功能模块: - -1. 用户中心 -2. 开发者认证 -3. 产品管理 - ---- - -然后可以搭配脑图、流程图、时序图、用例图等建模工具,设计核心业务模块的流程。 - - - -### 示例 - -思维导图(脑图): - -![Image](/experience/design/mind.png) - -系统结构图: - -![Image](/experience/design/system.png) - -用例图: - -![Image](/experience/design/use-case.png) - -时序图: - -![Image](/experience/design/seq.png) - -流程图: - -![Image](/experience/design/flow.png) - -## 第三步:设计数据库表结构 - -建库建表非常关键。主要原则为,减少冗余数据、避免表字段过多、提高查询性能。 - -最好是以数字 id 为主键,避免使用自增 id(影响数据同步),外键关系不用外键,关键字段设置索引。 - -首先第一张表,应该是用户表,虽然不是核心业务,但所有核心业务都与用户相关联,也需要注册登录才能进行。 - -所以先设计用户表。用户表应该至少两张表,一张是用户基本信息表,只存用户名、密码等或最常用字段,如登录信息;另一张是认证信息,当然也可以分别为企业开发者用户、个人开发者用户建两张表,因为不同的认证方式需要的字段也是不同的。通过用户 id 字段将用户其他信息表数据进行关联。 - -示例: - -![ER图](/experience/design/er.png) - -上图为 ER 图的一个示例,Windows 下有 PowerDesigner、Visio 等工具,Mac 下用 MySQLWorkbench。 - -(可以参考已有系统的用户体系设计,但开发者平台与用户产品系统存在一些细节差异。) - -另外,前期也可以考虑加入一些日志表,如认证记录表,存一些历史的认证信息。根据项目时间预算,如果前期不考虑,后期也需要考虑加上。 - -## 第四步:搭建系统框架 - -先搭建一个大框架,配置缓存数据库,加入通用类,配置端口,并且能够运行。 - -(可以参考现有的项目以及项目章节的结构) - -搭建测试框架(如果项目进度预算允许)。在项目实现过程中的细节,关注下一章节的内容中讲解。 - -## 第五步:迭代 - -重复上面的过程,完善新功能模块设计,加入到已有系统。 diff --git a/content/zh/experience/graphql/authorization.md b/content/zh/experience/graphql/authorization.md deleted file mode 100644 index a6a47a26..00000000 --- a/content/zh/experience/graphql/authorization.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: GraphQL 鉴权 -description: '' -position: 2502 -category: '经验篇-GraphQL' ---- - -GraphQL 项目的架构: - -![架构](https://graphql.js.cool/img/diagrams/business_layer.png) - -其中鉴权部分应当属于业务逻辑层. - -## 注意事项 - -这里是一个鉴权的例子, 作者可以管理(编辑)自己的文章, 在定义模型的时候加入了权限的判断: - -```js -var postType = new GraphQLObjectType({ - name: ‘Post’, - fields: { - body: { - type: GraphQLString, - resolve: (post, args, context, { rootValue }) => { - // return the post body only if the user is the post's author - if (context.user && (context.user.id === post.authorId)) { - return post.body; - } - return null; - } - } - } -}); -``` - -但有个问题在于, 鉴权的逻辑不被保留完全同步, 用户通过其他方式调用(如通过 RESTful 接口)时依然需要重新鉴权. - -```js -//Authorization logic lives inside postRepository -var postRepository = require('postRepository'); - -var postType = new GraphQLObjectType({ - name: ‘Post’, - fields: { - body: { - type: GraphQLString, - resolve: (post, args, context, { rootValue }) => { - return postRepository.getBody(context.user, post); - } - } - } -}); -``` - -这样, 我们就可以将用户对象传递到下一层(业务逻辑层)去进行鉴权的处理. - - - -## 鉴权中间件 - -Express 中的 GraphQL 鉴权中间件示例: - -## 示例项目 - -完整示例项目待添加. diff --git a/content/zh/experience/graphql/dataloader.md b/content/zh/experience/graphql/dataloader.md deleted file mode 100644 index d22f5e8b..00000000 --- a/content/zh/experience/graphql/dataloader.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: DataLoader -description: '' -position: 2503 -category: '经验篇-GraphQL' ---- - -- 源码: -- 文档翻译: - -Dataloader 是由 Facebook 推出,能大幅降低数据库的访问频次,经常在 Graphql 场景中使用。 - -## Dataloader 机制 - -主要通过 2 个机制来降低数据库的访问频次:`批处理` 和 `缓存`。 - -### 批处理 - -![dataloader](/experience/graphql/dataloader.png) - -配合 MySQL 批量查询用户(User 表)的示例代码: - -```js -const DataLoader = require('dataloader'); -// 自行封装 -const { query, format } = require('./mysql'); - -/* -用户信息 存储在 User 表 和 UserMeta 表中, 通过 uid 字段进行关联 -*/ -const UserLoader = new DataLoader( - (uids) => { - const sql = format('SELECT t1.*,t2.* FROM USERTABLE t1 LEFT JOIN USERMETATABLE t2 ON t1.uid = t2.uid WHERE t1.uid in (?)', [uids]); - return query(sql).then((rows) => uids.map((uid) => rows.find((row) => row.uid === uid) || new Error(`Row not found: ${uid}`))); - }, - { cache: false } -); - -// Usage: -const user1 = UserLoader.load(1); -const user2 = UserLoader.load(2); -const user3 = UserLoader.load(3); -Promise.all([user1, user2, user3]).then((users) => {}); -// Or -UserLoader.loadMany([1, 2, 3]).then((users) => {}); -``` - -以上代码就仅会产生以下一条数据库查询语句: - -```bash - Executing (default): SELECT t1.*,t2.* FROM USERTABLE t1 LEFT JOIN USERMETATABLE t2 ON t1.uid = t2.uid WHERE t1.uid in (1, 2, 3); -``` - - - -### 缓存 - -Load 一次,DataLoader 就会把数据缓存在内存,下一次再 load 时,就不会再去访问后台。 - -DataLoader 缓存的是 promise,而不是具体数据。则意味着: - -```js -let user1, user2; -await user1 = UserLoader.load(1); -await user2 = UserLoader.load(1); -assert(user1 !== user2); -// true,这个容易理解 - -assert(UserLoader.load(1) === userLoader.load(1)); -// 还是true,因为是缓存promise -``` - -基础使用参考: - -## 进阶使用 - -以一个稍微复杂一点的嵌套分页查询为例(可以参考 Github API v4 进行研究学习)。 - -```graphql -{ - repository(owner: "octocat", name: "Hello-World") { - pullRequest(number: 1) { - commits(first: 10) { - totalCount - edges { - node { - commit { - oid - message - } - } - } - } - comments(first: 10) { - totalCount - edges { - cursor - node { - body - author { - login - } - } - } - } - reviews(first: 10, before: "Y3Vyc29yOnYyOpHOABRzYg==", after: "Y3Vyc29yOnYyOpHOANFzxQ==") { - totalCount - edges { - node { - state - } - } - } - } - } -} -``` - -该查询中包含多个分页(Connection)。 - -### MySQL 分页查询 - -常规查询: - -```sql -SELECT count(1) as count FROM TABLE WHERE ?; -SELECT * FROM TABLE WHERE ? LIMIT ? OFFSET ?; -``` - -需要两条查询完成一次分页,嵌套分页则根据条目(N)再进行 2\*N 次查询。 - -### CountLoader - -```js -const CountLoader = new DataLoader((args) => { - const arr = args.map(([TABLE, WHERE]) => [md5(TABLE + JSON.stringify(WHERE)), TABLE, parseArgs(WHERE)]); - return query( - arr - .map(([CODE, TABLE, WHERE]) => format(`SELECT ? as code, COUNT(1) as count FROM ??${WHERE ? ' WHERE ? ' : ''}`, [CODE, TABLE, WHERE])) - .join(' UNION ') - ).then((rows) => - arr.map(([CODE]) => { - const { count = 0 } = rows.find((row) => row.code === CODE) || {}; - return count; - }) - ); -}); - -CountLoader.loadMany([ - ['TABLE1', { uid: 1 }], - ['TABLE2', { oid: 2 }] - // ... -]); -``` - -最终会拼成: - -```sql -SELECT xxx as code, COUNT(1) as count FROM TABLE1 WHERE xxx -UNION SELECT xxx as code, COUNT(1) as count FROM TABLE2 WHERE xxx --- ... -``` - -一条 SQL 查询,然后再分别根据 code 参数进行回填。 - -### ComplexLoader - -复杂数据的 DataLoader 示例: - -```js -/** - * TicketsLoader - * Each arg: - * { time: {before, after}, // Int, Int - * where, // obj: {1:1, type:'xxx'} - * order, // 'DESC' / 'ASC' - * limit // Int - * } - */ -exports.TicketsLoader = new DataLoader( - (args) => { - const result = args.map(({ time: { before, after }, where, order, limit }) => { - let time = []; - if (before) { - time.push(format('createdAt < ?', [before])); - } - if (after) { - time.push(format('createdAt > ?', [after])); - } - if (time.length > 0) { - time = `AND ${time.join(' AND ')}`; - } else { - time = ''; - } - let sql; - if (where) { - sql = format(`SELECT * from ?? WHERE ?${time} ORDER BY createdAt ${order} LIMIT ?`, [TICKETTABLE, where, limit]); - } else { - sql = format(`SELECT * from ?? WHERE 1=1${time} ORDER BY createdAt ${order} LIMIT ?`, [TICKETTABLE, limit]); - } - return query(sql); - }); - return Promise.all(result); - }, - { cache: false } -); -``` diff --git a/content/zh/experience/graphql/mysql.md b/content/zh/experience/graphql/mysql.md deleted file mode 100644 index 208c5f38..00000000 --- a/content/zh/experience/graphql/mysql.md +++ /dev/null @@ -1,214 +0,0 @@ ---- -title: MySQL 向 GraphQL 迁移 -description: '' -position: 2501 -category: '经验篇-GraphQL' ---- - -GraphQL 是一个开源的图形数据库(基于 Node.js 实现), 中文文档: - -## `sequelize-auto` 将 MySQL 数据库转变成模型 - -``` -[node] sequelize-auto -h -d -u -x [password] -p [port] --dialect [dialect] -c [/path/to/config] -o [/path/to/models] -t [tableName] -C - -参数: - -h, --host 主机地址 [必须] - -d, --database 数据名 [必须] - -u, --user 用户名 - -x, --pass 密码 - -p, --port 端口号 - -c, --config 配置文件,参考: https://sequelize.readthedocs.org/en/latest/api/sequelize/ - -o, --output 输出目录 - -e, --dialect 数据库引擎: postgres, mysql, sqlite - -t, --tables 需要导入的表 - -T, --skip-tables 需要排除的表 - -C, --camel 使用用驼峰命名法 - -n, --no-write 不需要写入文件 - -s, --schema 数据库结构 -``` - - - -## 使用数据模型 - -这里是生成的一个示例模型: - -```js -/* jshint indent: 2 */ - -module.exports = function (sequelize, DataTypes) { - return sequelize.define( - 'd_user', - { - uid: { - type: DataTypes.INTEGER(11).UNSIGNED, - allowNull: false, - primaryKey: true - }, - username: { - type: DataTypes.STRING(16), - allowNull: false, - defaultValue: '' - }, - mobile: { - type: DataTypes.STRING(16), - allowNull: false, - defaultValue: '' - }, - email: { - type: DataTypes.STRING(32), - allowNull: false, - defaultValue: '' - }, - password: { - type: DataTypes.STRING(32), - allowNull: false, - defaultValue: '' - }, - salt: { - type: DataTypes.STRING(8), - allowNull: false, - defaultValue: '' - }, - updatedAt: { - type: DataTypes.INTEGER(10).UNSIGNED, - allowNull: false - } - }, - { - tableName: 'user' - } - ); -}; -``` - -创建数据库模型: - -```js -const Sequelize = require('sequelize'); - -const Db = new Sequelize('数据库名', '用户名', '密码', { - host: 'localhost', - dialect: 'mysql' -}); - -const User = Db.define( - 'user', - { - uid: { - type: Sequelize.INTEGER(11).UNSIGNED, - allowNull: false, - primaryKey: true - }, - username: { - type: Sequelize.STRING(16), - allowNull: false, - defaultValue: '' - }, - mobile: { - type: Sequelize.STRING(16), - allowNull: false, - defaultValue: '' - }, - email: { - type: Sequelize.STRING(32), - allowNull: false, - defaultValue: '' - }, - password: { - type: Sequelize.STRING(32), - allowNull: false, - defaultValue: '' - }, - salt: { - type: Sequelize.STRING(8), - allowNull: false, - defaultValue: '' - } - }, - { - tableName: 'user', - // 取消默认的时间戳, 否则会报 createdAt 不存在错误 - timestamps: false - } -); - -Db.sync(); - -module.exports = { - Db, - User -}; -``` - -## `graphql-sequelize` 转换 MySQL -> GraphQL 结构 - -```js -const { GraphQLObjectType, GraphQLSchema, GraphQLList, GraphQLInt, GraphQLString } = require('graphql'); -const { attributeFields, resolver } = require('graphql-sequelize'); -const { Db, User } = require('./db'); - -userType = new GraphQLObjectType({ - name: 'User', - description: 'A user', - fields: attributeFields(User) -}); - -const Query = new GraphQLObjectType({ - name: 'Query', - description: 'Root query object', - fields: () => { - return { - user: { - type: new GraphQLList(userType), - args: { - uid: { - type: GraphQLInt - }, - email: { - type: GraphQLString - } - }, - resolve(root, args) { - return Db.models.user.findAll({ where: args }); - } - } - }; - } -}); - -const Schema = new GraphQLSchema({ - query: Query -}); - -module.exports = Schema; -``` - -## 启动服务器 - -```js -const Express = require('express'); -const GraphHTTP = require('express-graphql'); -const Schema = require('./schema'); - -// Config -const APP_PORT = 3000; - -// Start -const app = Express(); - -// GraphQL -app.use( - '/graphql', - GraphHTTP({ - schema: Schema, - pretty: true, - graphiql: true - }) -); - -app.listen(APP_PORT, () => { - console.log(`App listening on port ${APP_PORT}`); -}); -``` diff --git a/content/zh/experience/operation/certbot.md b/content/zh/experience/operation/certbot.md deleted file mode 100644 index 9d1f1511..00000000 --- a/content/zh/experience/operation/certbot.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: CertBot 证书 -description: '' -position: 2207 -category: '经验篇-运维' ---- - -在阿里云 ECS 上安装的话,Python 版本是包含 2、3 两个的,所以需要升级 pip 到 9.0 之后版本。 - -如果是`Ubuntu 16.04`版本,千万不要用`Root`安装。 - -升级过程中提示: - -``` -locale.Error: unsupported locale setting -``` - -通过修改本地语言修复: - -```bash -export LC_ALL="en_US.UTF-8" -export LC_CTYPE="en_US.UTF-8" -sudo dpkg-reconfigure locales -``` - -然后一路回车结束。 - -```bash -pip install -U pip - -# 测试安装结果 -pip -V -# pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7) -``` - - - -安装`certbot-auto` - -```bash -wget https://dl.eff.org/certbot-auto -chmod +x certbot-auto -``` - -检查 Nginx 是否已经配置该网站。 - -``` -server { - listen 80; - server_name example.com; - add_header Strict-Transport-Security max-age=15768000; - return 301 https://example.com$request_uri; -} -``` - -颁发证书: - -```bash -./certbot-auto certonly --agree-tos --email mail@example.com --nginx -d example.com -``` - -添加 HTTPS 配置: - -```conf -server { - listen 443 ssl http2; # managed by Certbot - server_name example.com; - ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot - ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot - ssl_session_cache shared:le_nginx_SSL:1m; # managed by Certbot - ssl_session_timeout 1440m; # managed by Certbot - - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # managed by Certbot - ssl_prefer_server_ciphers on; # managed by Certbot - - ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-SHA ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 DHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES256-SHA256 EDH-RSA-DES-CBC3-SHA"; # managed by Certbot - - # add_header Alternate-Protocol 443:npn-spdy/3; - add_header Strict-Transport-Security "max-age=31536000;"; - #add_header X-Content-Type-Options "nosniff"; - #add_header X-Frame-Options DENY; - - access_log off; - - # 应用部分 -} -``` - -更新证书命令: - -```bash -./certbot-auto renew --dry-run -``` diff --git a/content/zh/experience/operation/cloudflare-nginx.md b/content/zh/experience/operation/cloudflare-nginx.md deleted file mode 100644 index 33ca694f..00000000 --- a/content/zh/experience/operation/cloudflare-nginx.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: CloudFlare -description: '' -position: 2208 -category: '经验篇-运维' ---- - -# CloudFlare Nginx 获取真实 ip 地址 - -## 配置 - -安装 `ngx_http_realip_module` 模块, 在 `nginx.conf` 中进行配置: - -```conf -set_real_ip_from 103.21.244.0/22; -set_real_ip_from 103.22.200.0/22; -set_real_ip_from 103.31.4.0/22; -set_real_ip_from 104.16.0.0/12; -set_real_ip_from 108.162.192.0/18; -set_real_ip_from 131.0.72.0/22; -set_real_ip_from 141.101.64.0/18; -set_real_ip_from 162.158.0.0/15; -set_real_ip_from 172.64.0.0/13; -set_real_ip_from 173.245.48.0/20; -set_real_ip_from 188.114.96.0/20; -set_real_ip_from 190.93.240.0/20; -set_real_ip_from 197.234.240.0/22; -set_real_ip_from 198.41.128.0/17; -set_real_ip_from 199.27.128.0/21; -set_real_ip_from 2400:cb00 :: / 32; -set_real_ip_from 2606:4700 :: / 32; -set_real_ip_from 2803:f800 :: / 32; -set_real_ip_from 2405:b500 :: / 32; -set_real_ip_from 2405:8100 :: / 32; -set_real_ip_from 2c0f:f248 :: / 32; -set_real_ip_from 2a06:98c0 :: / 29; - -# 使用以下任意一个 -# real_ip_header CF-Connecting-IP; -# 推荐这个 -real_ip_header X-Forwarded-For; -``` - -从这个网址获取 IP 列表的更新: - - - -## 参考资料 - -- Nginx 模块`ngx_http_realip_module`: -- CloudFlare 原始访客 ip: diff --git a/content/zh/experience/operation/later.md b/content/zh/experience/operation/later.md deleted file mode 100644 index 9b0bb4f0..00000000 --- a/content/zh/experience/operation/later.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Later 计划任务 -description: '' -position: 2203 -category: '经验篇-运维' ---- - - - -应用场景:计划任务,类似 Crontab。 - -```js -import later from 'later'; -// 每分钟执行一次 -later.setInterval(()=>{ - // Codes - -}), later.parse.recur().every(1).minute()); -// 每天的 16:55 执行 -later.setInterval(()=>{ - // Codes - -}), later.parse.cron('55 16 */1 * * ?')); -// 每小时的 1 分 执行 -later.setInterval(()=>{ - // Codes - -}), later.parse.cron('1 */1 * * * ?')); -``` - - diff --git a/content/zh/experience/operation/pm2.md b/content/zh/experience/operation/pm2.md deleted file mode 100644 index 02ecf62b..00000000 --- a/content/zh/experience/operation/pm2.md +++ /dev/null @@ -1,301 +0,0 @@ ---- -title: PM2 守护进程 -description: '' -position: 2202 -category: '经验篇-运维' ---- - - - -当前使用场景:产品环境守护进程。 - -## 常用命令 - -### 启动项目 - -```bash -pm2 start xxx.js #直接启动入口文件 - -pm2 start xxx.json #通过配置启动 -``` - -配置文件参考: - -```json -[ - { - "name": "app", - "script": "babel.js", - "log_date_format": "YYYY-MM-DD HH:mm:ss Z", - "cwd": "/home/project", - "error_file": "/home/project/logs/app.err.log", - "out_file": "/home/project/logs/app.out.log", - "max_memory_restart": "800M", - "instances": 0, - "exec_mode": "cluster", - "merge_logs": true, - "env": { - "NODE_ENV": "production" - } - }, - { - "script": "./examples/child.js", - "error_file": "errLog.log", - "out_file": "outLog.log", - "pid_file": "child", - "instances": "4", - "min_uptime": "10", - "max_restarts": "4" - }, - { - "script": "examples/env.js", - "error_file": "errEcho.log", - "out_file": "outEcho.log", - "name": "ok", - "pid_file": "echo.pid", - "max": "1", - "exec_mode": "cluster_mode", - "port": "9001", - "env_variable": "TOTO", - "TEST_VARIABLE": "YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSIR" - } -] -``` - -### 重启项目 - -```bash -pm2 restart #PID# #重启一个进程 - -pm2 restart app-name #重启一个应用 - -pm2 restart all #重启所有项目 -``` - -### 停止 - -```bash -pm2 stop #PID# - -pm2 stop app-name -``` - -### 终止 - -```bash -pm2 delete app-name #删除一个进程 - -pm2 kill #终止所有进程 -``` - -### 开机自启 - -```bash -pm2 startup -``` - -参考官方文档获取详细使用说明。 - - - -## 自动重启 - -设置内存使用过高上限,可以通过配置文件这一项: - -```js -{ - "max_memory_restart": "800M" -} -``` - -`PM2`是一个很好的工具,提供了`max-memory-restart`内存溢出重启的功能。 - -但美中不足的是,没有 CPU 限制重启的功能。 - -同时,也无法进行远程手动重启。但好在,PM2 提供了 JSON 格式列表输出,让我们可以自己去写一些守护进程,或者整合到已有的运维管理系统中。 - -```bash -pm2 jlist -``` - -结果会是这样的 json: - -```json -[ - { - "pid": 28701, - "name": "xxxx", - "pm2_env": { - "name": "xxxx", - "max_memory_restart": 838860800, - "instances": 0, - "cwd": "/xxxx/project", - "merge_logs": true, - "vizion": true, - "pmx": true, - "automation": true, - "autorestart": true, - "treekill": true, - "env": { - "PM2_JSON_PROCESSING": "true", - "LSCOLORS": "Gxfxcxdxbxegedabagacad", - "LESS": "-R", - "PAGER": "less", - "SSH_TTY": "/dev/pts/1", - "SSH_CLIENT": "218.94.29.190 53115 22", - "SHELL": "/bin/bash", - "TERM": "xterm-256color", - "XDG_SESSION_ID": "814", - "NODE_ENV": "production", - "max_memory_restart": 838860800, - "instances": 0, - "merge_logs": true, - "vizion": true, - "pmx": true, - "automation": true, - "autorestart": true, - "treekill": true, - "log_date_format": "YYYY-MM-DD HH:mm:ss Z", - "exec_mode": "cluster_mode", - "node_args": [], - "exec_interpreter": "node", - "pm_out_log_path": "/xxxxx/logs/fish.out.log", - "pm_err_log_path": "/xxxxx/logs/fish.err.log" - }, - "log_date_format": "YYYY-MM-DD HH:mm:ss Z", - "exec_mode": "cluster_mode", - "node_args": [], - "pm_exec_path": "/xxxx/babel.js", - "pm_cwd": "/xxxxx/project", - "exec_interpreter": "node", - "pm_out_log_path": "/xxxxxx/xxx.out.log", - "pm_err_log_path": "/xxxxxx/xxx.err.log", - "NODE_APP_INSTANCE": 0, - "vizion_running": false, - "PM2_JSON_PROCESSING": "true", - "LESSCLOSE": "/usr/bin/lesspipe %s %s", - "XDG_RUNTIME_DIR": "/run/user/1000", - "LESSOPEN": "| /usr/bin/lesspipe %s", - "LC_CTYPE": "zh_CN.UTF-8", - "SSH_TTY": "/dev/pts/1", - "SHELL": "/bin/bash", - "NODE_ENV": "production", - "fish": "{}", - "status": "online", - "pm_uptime": 1472561001434, - "axm_actions": [], - "axm_monitor": { - "Loop delay": { - "value": "0.92ms", - "agg_type": "avg", - "alert": {} - } - }, - "axm_options": { - "http": false, - "http_latency": 200, - "http_code": 500, - "ignore_routes": [], - "profiling": true, - "errors": true, - "alert_enabled": true, - "custom_probes": true, - "network": false, - "ports": false, - "module_conf": {}, - "module_name": "fish", - "module_version": "1.1.3", - "pmx_version": "0.6.2", - "error": true - }, - "axm_dynamic": {}, - "created_at": 1472561000966, - "pm_id": 3, - "restart_time": 1, - "unstable_restarts": 0, - "_pm2_version": "1.1.3", - "versioning": { - "type": "git", - "update_time": "2016-09-02T07:25:14.113Z", - "comment": "v3.6.12 - fix-importer", - "unstaged": false, - "branch": "HEAD", - "remotes": ["origin"], - "remote": "origin", - "branch_exists_on_remote": true, - "ahead": false, - "next_rev": null - }, - "node_version": "6.3.0", - "exit_code": 0 - }, - "pm_id": 3, - "monit": { - "memory": 90591232, - "cpu": 0 - } - } -] -``` - -其中每一列数据都有 `rows[i].monit.cpu`,值范围 0~100。可以用`later`写定时脚本监控并重启。 - -示例代码: - -```js -import { exec } from 'child_process'; -import numeral from 'numeral'; - -exec('pm2 jlist', (err, stdout, stderr) => { - if (stderr) { - console.log(stderr); - } - const result = stdout.split('\n'); - - // 如果不存在 PM2 进程,将会打初始化日志 - while (result[0].indexOf('[PM2]') === 0) { - result.shift(); - } - let items = []; - try { - items = JSON.parse(result[0]); - } catch (e) { - /* eslint no-empty:0 */ - } - // console.log(items); - - // 演示 - const item = items[0]; - - const uptimeTmp = numeral((new Date() - item.pm2_env.pm_uptime) / 1000) - .format('00:00:00') - .split(':') - .map(Number); - const uptime = `${parseInt(uptimeTmp[0] / 24, 10)}天${uptimeTmp[0] % 24}时${uptimeTmp[1]}分${uptimeTmp[2]}秒` - .replace('0天', '') - .replace('0时', '') - .replace('0分', '') - .replace('0秒', ''); - - console.log(item.pid); - // 41965 - console.log(item.name); - // app-name - console.log(item.pm_id); - // 0 - console.log(`${item.monit.cpu}%`); - // 91% - console.log(numeral(item.monit.memory).format('0.0b')); - // 126.8MB - console.log(uptime); - // 6秒 - console.log(item.pm2_env.restart_time); - // 0 - if (item.monit.cpu > 90) { - exec(`pm2 restart ${item.pm_id}`, (err2, stdout2, stderr2) => { - console.log(stdout2); - console.log(stderr2); - }); - } -}); -``` diff --git a/content/zh/experience/operation/restarter.md b/content/zh/experience/operation/restarter.md deleted file mode 100644 index 8ef94459..00000000 --- a/content/zh/experience/operation/restarter.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: 重启服务 -description: '' -position: 2205 -category: '经验篇-运维' ---- - -# 重启所有服务 - -![Image](/experience/operation/restarter1.png) - -虽然 CRP 中工作流可以一个点流出至多个点,但只有第一个子任务会执行。 - -所以我将自动重启任务改为了串行执行。 - -## 配置手动启动 - -![Image](/experience/operation/restarter2.png) - -如上图所示,将第一个代码检出任务的【自动触发】勾选去掉。 - -后续的每个工作流可以是每一台单独服务器或是每几台相同环境的负载均衡机器。 - -## 重启 Shell 脚本 - -``` -pm2 kill -rm -f /home/xxx-user/xxx-project1/logs/*.log -rm -f /home/xxx-user/xxx-project2/logs/*.log -pm2 start /home/xxx-user/xxx-project1/app.json -pm2 start /home/xxx-user/xxx-project2/app.json -``` - - diff --git a/content/zh/experience/operation/rollback.md b/content/zh/experience/operation/rollback.md deleted file mode 100644 index aa11a8ec..00000000 --- a/content/zh/experience/operation/rollback.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 版本回退 -description: '' -position: 2206 -category: '经验篇-运维' ---- - -![Image](/experience/operation/rollback.png) - -如果版本部署失败,可以回滚至之前任意成功部署版本。 - - diff --git a/content/zh/experience/operation/server.md b/content/zh/experience/operation/server.md deleted file mode 100644 index 80551d28..00000000 --- a/content/zh/experience/operation/server.md +++ /dev/null @@ -1,387 +0,0 @@ ---- -title: 服务器配置 -description: '' -position: 2201 -category: '经验篇-运维' ---- - -## 常用工具 - -### 性能监控 - -开放接口文档 - -- NewRelic: -- 阿里云: - - - -## 创建用户 - -```bash -adduser xxx -# 输入密码 -``` - -**_注_**:还有一个`useradd`命令,不会创建用户目录。 - -```bash -sudo vi /etc/sudoers -``` - -在 - -``` -root ALL=(ALL:ALL) ALL -``` - -后插入一行 - -``` -xxx(用户名) ALL=(ALL:ALL) ALL -``` - -## 切换到用户安装环境 - -```bash -su username -``` - -### 安装 zsh - -```bash -sudo apt-get update -sudo apt-get install zsh curl git -sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" -``` - -### 配置 ssh 免密码登录 - -```bash -mkdir ~/.ssh -chmod 700 ~/.ssh -cd ~/.ssh -touch authorized_keys -chmod 644 authorized_keys -vi authorized_keys -``` - -插入你的`ssh`公钥。 - -```bash -# 不存在创建(注意是在本地,不是远程服务器) -ssh-keygen -# 一直按回车,结束 -# 存在直接查看 -cat ~/.ssh/id_rsa.pub -``` - -### 安装 node - -(示例,从官网获取最新版本源码编译安装) - -```bash -cd ~ #注意安装目录,最好在用户目录下,其他系统目录可能会有权限问题 -wget -c https://nodejs.org/dist/v6.4.0/node-v6.4.0.tar.gz -tar zxvf node-v6.4.0.tar.gz -cd node-v6.4.0/ -./configure -make -sudo make install -# 安装成功测试 -node -v -npm -v -``` - -源码编译安装 Redis、OpenSSL 等步骤基本相同。具体可以参考官方文档。 - -### Nginx 安装配置 - -Nginx 1.9.5 之后的版本支持了`HTTP/2`,同时,也取消了对`SPDY`的支持。 - -以`HTTP/2`模块支持安装为例。 - -```bash -wget -c http://nginx.org/download/nginx-1.11.3.tar.gz -tar zxvf nginx-1.11.3.tar.gz -cd nginx-1.11.3/ -./configure --with-pcre --with-http_ssl_module --with-http_v2_module -``` - -#### 异常处理 - -1.没装 PCRE - -``` -./configure: error: the HTTP rewrite module requires the PCRE library. -You can either disable the module by using --without-http_rewrite_module -option, or install the PCRE library into the system, or build the PCRE library -statically from the source with nginx by using --with-pcre= option. -``` - - - -查找并下载最新版本 PCRE 源码,并解压 - -```bash -wget -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz -tar zxvf pcre-8.38.tar.gz -cd pcre-8.38/ -pwd -# /home/user/nginx-1.11.3/pcre-8.38 -``` - -修改`configure`命令为: - -```bash -./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-http_ssl_module --with-http_v2_module -``` - -2.没装 OpenSSL - -``` -./configure: error: SSL modules require the OpenSSL library. -You can either do not enable the modules, or install the OpenSSL library -into the system, or build the OpenSSL library statically from the source -with nginx by using --with-openssl= option. -``` - - - -查找并下载最新版本 OpenSSL 源码,并解压 - -```bash -wget -c https://www.openssl.org/source/openssl-1.0.2h.tar.gz -tar zxvf openssl-1.0.2h.tar.gz -cd openssl-1.0.2h -pwd -# /home/user/nginx-1.11.3/openssl-1.0.2h -``` - -**_注_**: `openssl-1.1.0-pre6` 版本经测试无法安装。 - -```bash -./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-openssl=/home/user/nginx-1.11.3/openssl-1.0.2h --with-http_ssl_module --with-http_v2_module -``` - -3. 没装 zlib - -``` -./configure: error: the HTTP gzip module requires the zlib library. -You can either disable the module by using --without-http_gzip_module -option, or install the zlib library into the system, or build the zlib library -statically from the source with nginx by using --with-zlib= option. -``` - - - -查找并下载最新版本 Zlib 源码,并解压 - -```bash -wget -c http://zlib.net/zlib-1.2.8.tar.gz -tar zxvf zlib-1.2.8.tar.gz -cd zlib-1.2.8 -pwd -# /home/user/nginx-1.11.3/zlib-1.2.8 -``` - -```bash -./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-openssl=/home/user/nginx-1.11.3/openssl-1.0.2h --with-zlib=/home/user/nginx-1.11.3/zlib-1.2.8 --with-http_ssl_module --with-http_v2_module -``` - -#### 安装 - -```bash -make -sudo make install -``` - -#### apt-get 方式安装 nginx - -```bash -cd /etc/apt/ -sudo vi nginx_signing.key -``` - -把如下内容粘贴到里边 - -``` ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v2.0.22 (GNU/Linux) - -mQENBE5OMmIBCAD+FPYKGriGGf7NqwKfWC83cBV01gabgVWQmZbMcFzeW+hMsgxH -W6iimD0RsfZ9oEbfJCPG0CRSZ7ppq5pKamYs2+EJ8Q2ysOFHHwpGrA2C8zyNAs4I -QxnZZIbETgcSwFtDun0XiqPwPZgyuXVm9PAbLZRbfBzm8wR/3SWygqZBBLdQk5TE -fDR+Eny/M1RVR4xClECONF9UBB2ejFdI1LD45APbP2hsN/piFByU1t7yK2gpFyRt -97WzGHn9MV5/TL7AmRPM4pcr3JacmtCnxXeCZ8nLqedoSuHFuhwyDnlAbu8I16O5 -XRrfzhrHRJFM1JnIiGmzZi6zBvH0ItfyX6ttABEBAAG0KW5naW54IHNpZ25pbmcg -a2V5IDxzaWduaW5nLWtleUBuZ2lueC5jb20+iQE+BBMBAgAoAhsDBgsJCAcDAgYV -CAIJCgsEFgIDAQIeAQIXgAUCV2K1+AUJGB4fQQAKCRCr9b2Ce9m/YloaB/9XGrol -kocm7l/tsVjaBQCteXKuwsm4XhCuAQ6YAwA1L1UheGOG/aa2xJvrXE8X32tgcTjr -KoYoXWcdxaFjlXGTt6jV85qRguUzvMOxxSEM2Dn115etN9piPl0Zz+4rkx8+2vJG -F+eMlruPXg/zd88NvyLq5gGHEsFRBMVufYmHtNfcp4okC1klWiRIRSdp4QY1wdrN -1O+/oCTl8Bzy6hcHjLIq3aoumcLxMjtBoclc/5OTioLDwSDfVx7rWyfRhcBzVbwD -oe/PD08AoAA6fxXvWjSxy+dGhEaXoTHjkCbz/l6NxrK3JFyauDgU4K4MytsZ1HDi -MgMW8hZXxszoICTTiQEcBBABAgAGBQJOTkelAAoJEKZP1bF62zmo79oH/1XDb29S -YtWp+MTJTPFEwlWRiyRuDXy3wBd/BpwBRIWfWzMs1gnCjNjk0EVBVGa2grvy9Jtx -JKMd6l/PWXVucSt+U/+GO8rBkw14SdhqxaS2l14v6gyMeUrSbY3XfToGfwHC4sa/ -Thn8X4jFaQ2XN5dAIzJGU1s5JA0tjEzUwCnmrKmyMlXZaoQVrmORGjCuH0I0aAFk -RS0UtnB9HPpxhGVbs24xXZQnZDNbUQeulFxS4uP3OLDBAeCHl+v4t/uotIad8v6J -SO93vc1evIje6lguE81HHmJn9noxPItvOvSMb2yPsE8mH4cJHRTFNSEhPW6ghmlf -Wa9ZwiVX5igxcvaIRgQQEQIABgUCTk5b0gAKCRDs8OkLLBcgg1G+AKCnacLb/+W6 -cflirUIExgZdUJqoogCeNPVwXiHEIVqithAM1pdY/gcaQZmIRgQQEQIABgUCTk5f -YQAKCRCpN2E5pSTFPnNWAJ9gUozyiS+9jf2rJvqmJSeWuCgVRwCcCUFhXRCpQO2Y -Va3l3WuB+rgKjsQ= -=EWWI ------END PGP PUBLIC KEY BLOCK----- -``` - -然后`:wq`保存 - -```bash -sudo apt-key add nginx_signing.key -sudo vi sources.list -``` - -在最后一行加入下面两行的内容: - -``` -deb http://nginx.org/packages/ubuntu/ trusty nginx -deb-src http://nginx.org/packages/ubuntu/ trusty nginx -``` - -再更新,并安装: - -```bash -apt-get update -apt-get install nginx -``` - -如果解压报错,执行: - -```bash -# 替换 deb 文件路径 -sudo dpkg -i --force-overwrite /var/cache/apt/archives/nginx_1.12.1-1~trusty_amd64.deb -sudo apt-get -f install -``` - -#### 配置 Nginx - -参考修改安装目录下的默认配置 `conf/nginx.conf`: - -``` -#user nobody; -worker_processes auto; -worker_rlimit_nofile 100000; - -#pid logs/nginx.pid; - -events { - worker_connections 10240; - multi_accept on; - use epoll; -} - -http { - include mime.types; - default_type application/octet-stream; - - sendfile on; - keepalive_timeout 65; - - # 从项目载入nginx配置 - # include /home/user/project/conf/nginx.conf; -} -``` - -HTTP/2 项目配置: - -``` -server { - listen 80; - server_name example.com; - add_header Strict-Transport-Security max-age=15768000; - return 301 https://example.com$request_uri; -} - -server { - listen 443 ssl http2; - server_name example.com; - - # ssl_dhparam /home/user/project/config/dhparam.pem; - ssl_certificate /home/user/project/config/ssl.crt; - ssl_certificate_key /home/user/project/config/ssl.key; - - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!CAMELLIA; - ssl_prefer_server_ciphers on; - ssl_session_cache shared:SSL:10m; - ssl_session_timeout 10m; - add_header Strict-Transport-Security "max-age=31536000;"; - #add_header X-Content-Type-Options "nosniff"; - #add_header X-Frame-Options DENY; - - access_log off; - error_log /home/user/logs/example.com.error.log crit; - - location / { - if ($http_user_agent = Mozilla/4.0){ - return 503; - } - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $host; - proxy_set_header X-NginX-Proxy true; - proxy_pass http://127.0.0.1:8888/; - proxy_redirect off; - } -} -``` - -## 配置开机自启动 - -文件位置: `/etc/rc.local` - -示例: - -``` -#!/bin/sh -e -# -# rc.local -# -# This script is executed at the end of each multiuser runlevel. -# Make sure that the script will "exit 0" on success or any other -# value on error. -# -# In order to enable or disable this script just change the execution -# bits. -# -# By default this script does nothing. - -/usr/bin/nginx & -sleep 1 -sudo -u willin /project/path redis & -exit 0 -``` - -Node.js 项目,使用`PM2`工具: - -```bash -pm2 startup -``` - -根据界面提示,如: - -``` -[PM2] You have to run this command as root. Execute the following command: - sudo su -c "env PATH=$PATH:/usr/local/bin pm2 startup linux -u username --hp /home/username" -``` - -执行相应代码。 - -如果已经添加过开机自启动,更新自启项目: - -```bash -pm2 dump -pm2 save -``` diff --git a/content/zh/experience/operation/workflow.md b/content/zh/experience/operation/workflow.md deleted file mode 100644 index a490ec52..00000000 --- a/content/zh/experience/operation/workflow.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: CI 持续交付 -description: '' -position: 2204 -category: '经验篇-运维' ---- - -# 持续交付工作流 - -阿里云持续交付平台: - -## 1.触发器任务 - -![Image](/experience/operation/workflow1.png) - -点击红色箭头所指圆圈位置设置触发器任务。 - -一般情况下,需要部署到产品环境是侦听`Master`分支,集成测试可以为其他开发分支。 - -本文示例以一套完整的自动化测试部署流程为例,选择了`Master`分支。 - -## 2.代码检出 - -![Image](/experience/operation/workflow2.png) - -这里的信息都是自动填入的,无需做更改。 - -## 3.集成测试 - -如果是简单的测试脚本,如单元测试,不需要数据库的。可以直接使用阿里云的编译测试功能,如下图所示: - -![Image](/experience/operation/workflow3-1.png) - -如果有专门的测试服务,可以用如下图所示方式进行测试: - -![Image](/experience/operation/workflow3-2.png) - -提示:CRP 提供的测试环境是 Ubuntu,未安装数据库,但据说可以自己安装,目前还没有尝试过。 - - - -### 注意点 - -#### 自动完成 - -左侧活动信息中,【自动完成】选项,如果勾选,则测试通过就会自动进入下一步(如部署产品环境),否则会停在这里,需要手动触发,如下图所示: - -![Image](/experience/operation/workflow3-3.png) - -#### 表单项 - -##### 目标机器 - -填入测试服务器 ip。 - -##### 部署路径 - -可以是用户目录,如 `/home/user/` - -或是项目目录,如 `/home/user/project` - -无太大影响,因为【部署命令】中可以使用 `cd` 命令。 - -一般这里我填入的是用户目录。 - -##### 部署命令 - -流程: - -0. 根据需要,启动、重启数据库/缓存服务(一般可以不用放在自动测试流程里) -1. 进入项目目录 -2. 更新代码,新建当前版本分支,以备回滚操作 -3. 更新依赖项 -4. 启动测试脚本 - -Shell 命令 - -```bash -cd /home/xxx-user/xxx-project/ -git checkout . -git fetch -git checkout $CODE_VERSION -npm -d install -npm update -npm test -# 产品环境加入: -# pm2 reload xxx-server-name -``` - -##### 登录用户 - -SSH 登入服务的用户名称 - -提示: 系统需要您的目标机器添加部署公钥方可执行部署任务。请将公钥拷贝到服务器部署用户目录的$HOME/.ssh/authorized_keys 文件中。 - -## 4.自动部署 - -### 新建流程 - -模板默认流程只有两个,需要新建的时候根据下图: - -![Image](/experience/operation/workflow4-1.png) - -箭头所指小圆圈部分单击拖拽新建一个工作流,并将结束定向到新的工作流上。 - -![Image](/experience/operation/workflow4-2.png) - -### 注意点 - -1. 【自动触发】、【自动完成】勾选上,如果需要,还可以打开【异常通知】 -2. 【目标机器】如有多台负载均衡横向扩展的相同环境机器以逗号分隔 diff --git a/content/zh/experience/project/develop.md b/content/zh/experience/project/develop.md deleted file mode 100644 index c0b6c94f..00000000 --- a/content/zh/experience/project/develop.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: 开发指南 -description: '' -position: 2104 -category: '经验篇-项目' ---- - -## 产品研发流程 - -> 需求 -> 设计 -> 开发 -> 测试 -> 验收 - -开发环节中,需要包含中间的三个过程,设计、开发、测试。 - -## 设计 > 测试 > 开发 (重要程度) - -不经过思考的代码是站不住脚的。 - -任何功能模块在编写代码之前,最重要的是理解业务流程,将其用流程图、时序图或其他方式表达出来,参考设计图和相关记录文档文字进行开发。做到先设计,后编码。 - -![Image](https://www.ibm.com/developerworks/cn/linux/l-tdd/images/X.jpg) - -基本过程: - -1. 明确当前要完成的功能,可以记录成一个 TODO 列表。 -2. 快速完成针对此功能的测试用例编写。 -3. 测试代码编译不通过。 -4. 编写对应的功能代码。 -5. 测试通过。 -6. 对代码进行重构,并保证测试通过。 -7. 循环完成所有功能的开发。 - -后面的几个章节将通过实践讲解,如何搭建一个用户账号体系的完整过程。 - - diff --git a/content/zh/experience/project/divide.md b/content/zh/experience/project/divide.md deleted file mode 100644 index b28d5d24..00000000 --- a/content/zh/experience/project/divide.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 分治原则 -description: '' -position: 2102 -category: '经验篇-项目' ---- - -往往在架构设计的时候, 只有一到两个数据中心, 数据中心将会处理大量的数据和请求, 所以会承担很大的性能压力. - -那么, 能在区域服务器上进行的处理和运算, 没有必要扔到数据中心去进行; 能在网关上进行的处理和运算, 没有必要扔到服务器上去进行; 能在客户端上进行的处理和运算, 没有必要扔到网关上去运行. - -举个简单的例子, 一台负载均衡器下的服务器配置可能是双核心, 4GB 内存. 这一台服务器, 能够承载的并发是 10 万级, 而目前的智能终端(比如智能手机), 可能都是 4 核 8 核, 6GB 内存之类的, 实际上已经有很强大的运算能力了. 足够承担起很大一部分的数据预处理和初筛的工作. - -所以, 可以将服务器的压力逐层进行下放, 让下面连接的服务器, 网关和终端各自承担一部分运算处理工作, 充分利用各个存储运算单元. - - diff --git a/content/zh/experience/project/mvp.md b/content/zh/experience/project/mvp.md deleted file mode 100644 index 4fb1a867..00000000 --- a/content/zh/experience/project/mvp.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: MVP原则 -subtitle: 人无远虑必有近忧。能在设计过程中解决掉的问题,绝对不要拖到实现过程中迭代。 -description: '' -position: 2101 -category: '经验篇-项目' ---- - -即`最简化可实行产品`原则, 以`Webpack`示例: - -## 既有项目引入新的组件/库 - -假设现有项目用到了 `react`, `react-router` , `antd` 等库, 并且 `controller`, `router`, `model`, `view` 已基本成型. - -此时如果要引入 `mobx`, 最佳实践步骤为: - -1. 新建一个空项目, 将既有库 `react`, `antd` 等安装, 配置一个最简单的 `hello world` 路由 -2. 安装 `mobx`, 引入并测试通过 -3. 再在原有项目上进行功能扩充 - -## 既有项目打包优化 - -假设现有项目用到了 `react`, `react-router` , `antd`, `mobx` 等库, 并且 `controller`, `router`, `model`, `view` 已基本成型. webpack 打包过大, 应用性能较差. - -最佳实践步骤: - -1. 新建一个空项目, 新建一个空的 webpack 配置 -2. 安装 `react` (或 `antd`, 或 `mobx`等) 写一个简单示例引入项目 -3. 针对单一库进行 `webpack` 打包优化, 一般情况下, 除了 loader rules / vendor 需要每个库单独优化, 其他配置都能保证通用 -4. 一项优化完成后重复 2,3 步骤, 直到所有库优化完成 -5. 对原有项目的 webpack 配置进行替换, 不动项目源码 -6. 进一步优化, 比如 `react-router-loader` 之类的引入, 开始针对项目源码进行优化 - - diff --git a/content/zh/experience/project/structure.md b/content/zh/experience/project/structure.md deleted file mode 100644 index c5d892f0..00000000 --- a/content/zh/experience/project/structure.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: 项目结构 -description: '' -position: 2103 -category: '经验篇-项目' ---- - -目录分配尽可能简洁、清晰。 - -## 服务器端:MVC 模式 - -项目目录结构: - -```bash -. -├── bin -│   └── # 可执行文件 -├── config -│   └── # 配置文件 -├── lib -│   └── # 通用类 -├── locales -│   └── # 语言文件 -├── package.json -├── routes -│   └── v3 (子项目) -│   ├── handlers -│   │   └── # Controller -│   ├── models -│   │   └── # Model -│   └── views (接口可无,另推荐前后端分离) -│      └── # View -└── test -``` - -## 客户端:MVVM 模式 - -```bash -. -├── app -│   ├── app.js -│   └── index.html -├── main.js -└── src - ├── app.js - ├── components - │   └── # View Model - ├── index.less - ├── model - │   └── # Model - ├── routes - │   └── # View - ├── webpack.config.js - └── webpack.config.prod.js -``` - -## 测试:BDD - -![BDD](/experience/project/test.png) - -上图为 BDD 测试目录,非测试用例文件(或目录)以`_`开头。 - - diff --git a/content/zh/experience/project/user/bdd.md b/content/zh/experience/project/user/bdd.md deleted file mode 100644 index d2021b98..00000000 --- a/content/zh/experience/project/user/bdd.md +++ /dev/null @@ -1,185 +0,0 @@ ---- -title: 行为驱动开发实践 -description: '' -position: 2114 -category: '经验篇-项目' ---- - -本实践项目源码: - -## 配置数据库 - -开启 MySQL 和 Redis 服务。 - -创建数据库 `bdd`。根据`数据库设计`章节创建`user`、`usermeta`两张表。 - -## 初始化项目 - -```bash -git init -npm init -``` - -### 安装 ESLint 和 Babel 环境 - -```bash -cnpm i --save-dev eslint babel-eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-react -cnpm i --save babel-register babel-runtime babel-plugin-transform-runtime babel-preset-es2015 babel-preset-es2015-loose babel-preset-stage-1 -``` - -Tree: - -``` -├── .babelrc -├── .eslintignore -├── .eslintrc.json -├── .git -├── .gitignore -├── README.md -├── node_modules -└── package.json - -2 directories, 6 files -``` - -参考: - -创建配置文件。 - -### 配置 ava、nyc - -``` -npm install ava nyc --save-dev -./node_modules/.bin/ava --init -``` - -Package.json 修改: - -```js -"scripts": { - "test": "NODE_ENV=test ./node_modules/.bin/nyc --reporter=text --reporter=html ./node_modules/.bin/ava -v --fail-fast" -}, -"nyc": { - "lines": 95, - "functions": 90, - "branches": 90, - "check-coverage": true, - "report-dir": "./.nyc_output", - "exclude": [ - "node_modules", - "test", - "test{,-*}.js", - "**/*.test.js", - "**/__tests__/**" - ] -}, -"ava": { - "files": [ - "test/*.js", - "test/**/*.js", - "!**/_*/*.js", - "!**/_*.js" - ], - "require": [ - "babel-register" - ], - "babel": "inherit" -} -``` - -参考项目 init 代码: - - - -## 用户登陆接口实现 - -### 设计 - -Route: `/user/login` - -Payload: - -```js -{ - username: joi.alternatives().try( - joi.string().email().max(32), - joi.number().integer().min(10000000000).max(19999999999), - joi.string().min(3).max(16) - ).required().description('手机号,邮箱,或用户名'), - password: joi.string().min(6).max(255).required().description('密码,密文'), - guid: joi.string().required().default('').description('设备唯一识别码') -} -``` - -Result: - -登陆成功: - -```js -{ - status: 1, - data: { - token: 'Access Token', - expires: 3600 // Access Token有效期 - } -} -``` - -### 通用错误 - -```js -{ - status: 0, - err_code: 500, - error_msg: 'Server Error' -} -``` - -### 编码 - -首先编写测试用例, `test/user/login.js`。注意测试的顺序: - -1. 200 登录成功 -2. 400 参数错误 -3. 401 用户名或密码错误,连续三次 -4. 403 超出限制,正确用户密码登录 - -并且需要注意: - -1. 测试前需要添加测试数据(测试用户),且信息不能与其他测试用例冲突(并行执行测试) -2. 测试后要删除测试数据,不要使用清空数据库之类的操作,以免对其他测试用例产生影响 -3. 测试前也需要删除测试数据(以免前一次测试失败数据未删除而产生数据污染) - -检查测试用例是否覆盖完整,以及测试用例是否写错。 - -这时候直接开始跑测试用例的话会报错。 - -测试用例参考: - -根据测试用例,开始编写功能模块代码。 - -另外,有一种情况是测试无法覆盖的,就是登录半小时的限制,我们也没有必要让测试用例一直运行等待半个小时再测。可以直接检查 Redis 里的缓存是否正常,以及 TTL 超时是否在合理范围内。 - -示例: - -```js -test('Login trial redis ttl', async (t) => { - const value = await client.get('trial:guid-xxx'); - // 循环错误3次,加上已经限制还再继续尝试的1次 - t.is(value, 4); - const ttl = await client.ttl('trial:guid-xxx'); - // 限制超时应当小于半小时 - t.true(ttl <= 1800); -}); -``` - -剩下的编码部分就没什么可讲的了。 注意逻辑判断,测试代码覆盖率,没必要的判断不要加。 - -注意点: - -- 数据库连接,使用连接池,并在所有查询完成后释放; -- 数据库查询禁止 `select field1, (select xxx) as field2` 嵌套查询; -- 慢 SQL,如多张表`JOIN`的查询,根据业务逻辑,考虑加 Redis 缓存; -- 代码覆盖率要求`95%`以上,分支覆盖`90%`以上,只有异常捕获的代码和测试环境下的分支可以 ignore; -- 不要用 `[].forEach()` 方法做轮询,直接用`for`; -- 算法、逻辑细节。 diff --git a/content/zh/experience/project/user/cache.md b/content/zh/experience/project/user/cache.md deleted file mode 100644 index 46a61e5b..00000000 --- a/content/zh/experience/project/user/cache.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: 缓存设计 -description: '' -position: 2113 -category: '经验篇-项目' ---- - -缓存结构设计示例。 - -## 说明 - -常规结构: - -``` -Type:Key:SubKey -``` - -用`:`区分,在管理工具上会自动变成文件夹可收缩。 - -## 注册频率限制 - -Key: - -``` -reg:#手机唯一id或注册ip# -``` - -Value: - -``` -成功注册的用户名或手机号 -``` - -(记录可以有迹可循,如果不需要查询,直接记录固定值,如`1`即可) - -TTL: 1800(s) - -说明: - -> 注册成功后创建该`key`;判断,如果取到非`null`值,禁止注册。 - -## 登录尝试限制 - -Key: - -``` -trial:#手机唯一id或登录ip# -``` - -Value: - -``` -错误尝试次数 -``` - -TTL: 1800(s) - -说明: - -> 初次尝试新建该`key`,值为 1;判断,如果值大于 3,禁止登录。 - -## 复杂缓存结构示例 - -接口性能监控,如图: - -![Image](/experience/project/hmap.png) - -结构: - -Key: - -``` -api:#记录日期# -``` - -Value: 数组(通过 Redis `HSet`和`HGet`命令进行存储和读取) - -```js -[ - key:'#total(总计)/来源(如android-xxx/ios-xxx/device-xxx/web-xxx)/路径(如app1/v2/path/action)#' - value: { // JSON.stringify(#对象#) - count: '请求次数', - success: '成功次数', - avg: '平均响应时间', - max: '最大响应时间', - min: '最小响应时间' - } -] -``` - - diff --git a/content/zh/experience/project/user/db.md b/content/zh/experience/project/user/db.md deleted file mode 100644 index c3adbda5..00000000 --- a/content/zh/experience/project/user/db.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: 数据库表结构设计 -description: '' -position: 2112 -category: '经验篇-项目' ---- - -ER 图,略。 - - - -## 用户基本信息表 - -示例: - -```sql -CREATE TABLE `user` ( - `uid` int(11) unsigned NOT NULL COMMENT '用户ID', - `username` char(16) NOT NULL DEFAULT '' COMMENT '用户名', - `password` char(32) NOT NULL DEFAULT '' COMMENT '密码', - `salt` char(8) NOT NULL DEFAULT '' COMMENT '加盐加密', - `mobile` char(16) NOT NULL DEFAULT '' COMMENT '手机号', - `createdat` int(10) unsigned NOT NULL COMMENT '注册时间', - `updatedat` int(10) unsigned NOT NULL COMMENT '更新时间', - PRIMARY KEY (`uid`), - UNIQUE KEY `username` (`username`), - UNIQUE KEY `mobile` (`mobile`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -``` - -说明: - -1. `uid` 主键没有设置自增 id,可以随机分配,但需要在不同数据库上分号段注册,以及需要判断是否已注册 -2. `password` 密码不能直接`MD5`或`SHA1`加密存储,需要加盐加密 -3. `createdat`表示注册时间,`updatedat`表示密码修改、手机绑定等更新时间 -4. 用户名和手机号均为唯一字段 -5. 养成加注释的习惯 - -## 用户附加信息表 - -将非基本信息,如开发者资料、用户详细资料、认证、等级等存入用户附加信息表(也可建多个附加信息表,如用户认证表、用户配置表等)。 - -示例: - -```sql -CREATE TABLE `usermeta` ( - `uid` int(11) unsigned NOT NULL COMMENT '用户ID', - `truename` char(16) NOT NULL DEFAULT '' COMMENT '真实姓名', - `gender` enum('male','famale') NOT NULL DEFAULT 'male' COMMENT '性别', - `verified` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '实名认证', - PRIMARY KEY (`uid`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -``` - -说明: - -1. 如果需要按姓名或性别查找,将 `truename`或`gender` 字段加索引 -2. 查找一个用户是否已经完成实名认证,可以用 `SELECT t2.verified FROM user t1 LEFT JOIN usermeta t2 ON t1.uid=t2.uid WHERE t1.username = ? LIMIT 1`方式查询 - -## 其他表 - -部分信息不需要存入数据库,如日志,可以存在 log 文件中;登录信息,可以用 Redis 等缓存存储。综合考虑性能、成本及服务器配置决定。 - -再讲解一种,针对`开发者`的表设计。 - -举例,开发者一般有两种类型,企业开发者、个人开发者。 - -那么,可以在`usermeta`表里加一个开发者类型字段,`dev_type`: - -```sql -`dev_type` enum('personal','enterprise') NOT NULL DEFAULT 'personal' COMMENT '开发者类型' -``` - -另外建两张表,为 `developer_personal` 和 `developer_enterprise` 分别存放个人开发者和企业开发者的相关信息字段。 - -可以在系统的业务逻辑里加入一些限制,如个人开发者可以升级为企业开发者,企业开发者不能再改为个人开发者之类的。 - -**_Tips_**:JavaScript 中命名法则最好使用`驼峰法`,如`userActions`。而 MySQL 中不区分大小写,所以可以采用下划线命名法,如`user_actions`,在`SELECT`查询时使用`AS aliasName`设置别名即可。 diff --git a/content/zh/experience/project/user/module.md b/content/zh/experience/project/user/module.md deleted file mode 100644 index cdc8e477..00000000 --- a/content/zh/experience/project/user/module.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: 功能模块设计 -description: '' -position: 2111 -category: '经验篇-项目' ---- - -实现 `注册、登录、注销、密码找回` 的需求。 - -用户可以通过手机号进行登录和密码找回。 - -## 系统结构图 - -示例: - -![Image](/experience/project/sys.png) - -## 功能模块 - -### 注册 - -流程图,示例: - -![Image](/experience/project/flow.png) - -涉及参数: - -- 用户名 -- 密码 -- 手机号 -- 短信验证码 - -约束条件: - -- 短信验证码发送频率限制 90s -- 注册频率限制每 30 分钟只能注册 1 次 - -(示例,根据实际需求和业务进行约束) - -### 登录 - -涉及参数: - -- 用户名或手机号 -- 密码 - -约束条件: - -- 30 分钟内 连续出错 3 次 限制登录 - -### 找回密码 - -涉及参数: - -- 手机号 -- 短信验证码 -- 新密码 - - diff --git a/content/zh/experience/project/user/particulars.md b/content/zh/experience/project/user/particulars.md deleted file mode 100644 index 3a1077ca..00000000 --- a/content/zh/experience/project/user/particulars.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: 代码细节处理 -description: '' -position: 2115 -category: '经验篇-项目' ---- - -## 请求超时无返回 - -原因: - -### 1.如果 CPU 没有飙升,可能有异常未捕获 - -可能情况 1,如: sql `SELECT xxxx LIMIT 1` 的查询,直接用了 result[0]。 但也可能并没查到结果。 - -可能情况 2,如: JSON.parse(xxxData),或者在用第三方库的时候注意一下,如果方法不是返回`Promise`对象,很可能异常的时候是`Throw`出一个错误,需要做`try/catch`捕获。 - -可能情况 3,如: Callback 方法,如 `client.query((result, err)=> { })`,中,需要加 `if(err)` 的判断。 - -### 2.CPU 飙升:大多数情况是死循环 - -如: - -```js -for (let i = 0; i < xxx1.length; i++) { - for (let j = 0; i < xxx2.length; j++) { - // xxx - } -} -``` - -第二个循环条件中 `j` 用成了 `i` 导致死循环产生。 - -死循环大多发生于对数据遍历的处理。产生死循环最大的可能原因是**_循环的条件_**。 - -如果在循环体内用到以下一些方法,也需要特别注意: - -- 对数据数组的改动,如:pop/shift/slice -- 循环体的退出,如:break/continue - -可以配合`PM2`和定时任务脚本对进程 CPU 占用进行监控,自动重启服务。 - -## 内存泄露 - -基本情况排查参考: - -比较常见的: - -```js -exports.Func = async () => { - // 避免方法内require - const redisClient = require('@dwing/redis'); - - // 没必要放在方法里,可以放到外边,多个方法共用 - const redis = redisClient({ - // config - }); - // xxxx -}; -``` - -## MySQL 编码细节 - -```js -const { pool } = require('@dwing/mysql'); -const { isEmpty } = require('@dwing/common'); - -(async () => { - // 包裹在async中 - const client = await pool({ - // mysql有await,redis没有 - // config - }); - const result = await client.query('SELECT 1'); - if (isEmpty(result) && !Array.isArray(result)) { - // 查询出错,不能用 result[] - } - if (isEmpty(result)) { - // 查询结果为空,不能用 result[] - } - return result[0]; -})(); -``` - -除了`SELECT`的结果是数组,其他的都是对象,并且包含`result.affectedRows` - -```js -const result = await client.query('UPDATE xxx SET xxx WHERE xxx'); -if (isEmpty(result)) { - // 查询出错, 不能用 result.affectedRows -} -return result.affectedRows; -``` - - - -## Redis 编码细节 - -```js -const redisClient = require('wulian-redis'); -const redis = redisClient({ - // config -}); - -(async () => { - // 包裹在async中 - const result = await redis.get('xxxKey'); - if (result === null) { - // xxxKey不存在,返回值为 null - } -})(); -``` - -如果要存取`JSON`格式数据: - -```js -await redis.set('xxxKey', JSON.stringify(xxxJSONVal)); - -let result = {}; -try { - // 读取要异常捕获,不然篡改值可能导致程序崩 - result = JSON.parse(await redis.get('xxxKey')); -} catch (e) {} -``` - -如果要设置超时: - -```js -await redis.setex('xxxKey', 3600, JSON.stringify(xxxJSONVal)); -``` - -## 其他资料 - -性能调优与故障排查: diff --git a/content/zh/index.md b/content/zh/index.md deleted file mode 100644 index 66bda61b..00000000 --- a/content/zh/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: 《不可替代的团队领袖培养计划》 -description: '' -menuTitle: '简介' -position: 1 -category: '' ---- - -# 前言 - -> 对于工作上应该做什么事,如果你没有自己的想法,而是完全听主管的,很危险。多数的主管不会在乎你的成长,也不会把公司的利益摆第一位,他们最在乎的是自己的工作绩效,而他们的工作绩效是要靠你们去达成的。完全听他们的任务布置去做,没有自己的主张,东一榔头,西一棒槌,几年下来就变打杂的了。 -> ——蔡学镛 - -本书由浅及深主要包括如下几个方面: - -## 知识 - -介绍 OS X 上个人常用的效率、开发、设计工具及使用技巧。从基础常识讲起,推荐一些工具、资源,以及自动化测试、持续集成的一些概念入门。技术栈主要为: - -- 前端: Vanilla JS / React / Vue 等 -- 后端: Node.js 为主, 包括: GraphQL / Koa / HAPI / Express 等 -- 数据库: MySQL / Redis / MongoDB 等 - -## 经验 - -从产品架构设计到项目实践,再到部署运维的各方面的技术、管理、流程小细节。 - -大部分涉及到的项目经验来自于实际项目中踩的坑, 部分提供示例的项目源码, 而更多的希望你们在这些过程中去理解遇到问题时的分析与解决思路. - -## 思想 - -未来的世界不属于富人,更不属于穷人,只会属于有思想的人。 - -总结个人在工作中积累的思想原则,和看重的一些能力及培养方法。 - ---- - -2016.8.3 晚写下了本书的第一行话,当时想的名字为《可替代的团队领袖培养计划》,其寓意是希望这些知识经验在团队内部分享,能够培养出更优秀的人才,每个人都能够替代我做得更好。如果能够因此有所建树,则将会成为不可替代的团队领袖。 - -源码: - -欢迎进行反馈交流。同时非常期待您在 Github 上 Follow 我 ([@willin](https://github.com/willin)). - -iOS 用户可以使用 `Safari` 将本书添加到主屏幕: - -![homescreen](https://user-images.githubusercontent.com/1890238/27512999-4c20f87e-591b-11e7-8682-a5fb52635d00.jpg) - -© Willin Wang - ---- - -你离技术经理,只差这本书: - -如果还想看视频类的,可以到我的斗鱼直播间来一波正义的订阅: - -## CHANGELOG - -- 2020.09.17: 更新到 Nuxt 框架 -- 2018.02.28: 开设 GraphQL 专栏 -- 2017.06.26: 优化阅读体验,下一次回来的时候会自动跳转到上一次的位置继续阅读。欢迎 iOS 用户将本书添加到主屏幕 -- 2017.06.20: 将本书的网站从 `GitBook` 转移到了 `Docsify` -- 2016.08.03: 该项目创建 - -p.s. - -最近经常收到未备注昵称或网址的捐赠,请留下你的代号,以便于鸣谢。谢谢~ - - diff --git a/content/zh/mind/capability/growth.md b/content/zh/mind/capability/growth.md deleted file mode 100644 index 46e5a1c0..00000000 --- a/content/zh/mind/capability/growth.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: 新人成长 -description: '' -position: 3001 -category: '思想篇-能力' ---- - -关注能力的成长,待遇的提升。 - - - -## 工作的前两年 - -如果你不能拼爹,或者不想拼爹,最好的方法是拼实力。 - -> 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 - -所以,你必须要从基层做起。当然,所谓的基层,并不是端茶倒水,但多一些体验,总是无害的。 - -前两年的时间,应当主要打好基础的累积,认清职业现状和社会经济发展趋势,适应工作后的生活,对心灵浮躁的洗涤。 - -这一阶段最大的敌人是自身的态度,切忌不可眼高手低,牢记一句话——“心比天高,命比纸薄。”脚踏实地,一步一个脚印,为未来做好铺垫。 - -### 工作的选择 - -对于应届生、刚毕业两年内的职场新人,我个人并不推荐到小型创业公司去发展。 - -#### 大团队的优势 - -##### 1.人多,有经验的人多,已有的基础累积多 - -在大一点的团队,至少首先能够确定的,就是有师傅领进门,当然,修行那还都是靠个人的。 - -##### 2.体制完善,流程规范 - -很多时候不用太过于操心该怎么操作,权力和职责的事情,都是有一套既定的流程,到哪一环节该怎么进行,遵守规范即可。 - -一般而言,对应的团队福利也会较为完善。 - -#### 大团队的劣势 - -##### 1.分工过于细 - -有着明确的分工,工作就有了该你干的和没必要你干的区分,属于你职责范围的那一块并不大,做得尽善尽美也算是轻松。不需要你干预的部分,如果自己不带着自学,那么这一块的知识经验就会欠缺。 - -##### 2.薪资、职位的晋升空间不大 - -不少公司的职位晋升都是有年限要求的。薪资的调整一般也是差异化不太大的。 - -但有一句话说得好,有志不在年高,无志空活百岁;但也总能空降、外聘一些奇怪的高层下来。看似很矛盾,你心里需要明白,没有完善的制度,只有追求完美的人。 - -前两年的时间,更多需要考虑的是成长的空间,而不是眼前的利益,放长线才能钓大鱼。 - -##### 3.效率低下 - -并不是所有上规模团队的通病,但却是多数。大多数公司发展到一定阶段后,会被流程、制度羁绊,无意义的走流程时间会耽误很多工夫。不用怀疑,林子大了什么鸟都会有,也总会有些拖油瓶在团队里混日子,团队规模大了之后,提前养老可以说是很轻松能实现的事情,只要不是太作死,混还是比较容易的。 - -初入职场,少受一些不好的风气影响,对未来会有莫大的益处。 - -#### 小团队的优势 - -##### 事无巨细,亲力亲为 - -实践出真知,小公司有足够多的机会锻炼你的实践能力。是挑战亦是机遇。 - -#### 小团队的劣势 - -##### 杂而不精 - -对于大多数的小型创业公司来讲,恨不能一人抵十人用,所以总是要什么都懂什么都做,但却没有特别深入钻研的点,也没有人带,很难有所成长。如果是自学能力特别强,有明确的职业规划目标,也可以勇敢试一试。这个社会更需要的是成为**_一专多能复合型人才_**。 - -### 跳槽 - -工作的前两年,最好不要轻易跳槽。在这个阶段的跳槽,主要有两方面的弊端: - -#### 1.对于个人成长 - -跳槽的目的无非两点,更好的发展空间,或更高的待遇。 - -跳槽到适应的周期太长,而年轻则应该是全速向前的阶段。到了新的岗位,一切又得重头再来,熟悉新的业务,新的技术,融入团队。 - -#### 2.薪资待遇 - -很少有在前两年跳槽的时候就能有很大涨幅的(50%+)。所以这时候在跳槽上花心思是一件很费脑又收益不大的事情。 - -无论在职业的哪一个阶段,如果跳槽没有较大的薪资涨幅,跳槽都是需要谨慎考虑的。除非联合创始人身份加入,降薪跳槽的事情千万不要有,毕竟拿多少钱做多少事,没有利益不太可能会有源源不断的动力输出。 - -## 三到五年 - -这个阶段,已有一技之长,又有广泛涉猎,应当寻求突破了。 - -### 关于创业 - -创业之前,你需要考虑清楚,你创业的动机,如果只是为了当领导,或者只是为了不被管束,那么最好提前打消这样的念头。 - -### 关于金钱观 - -#### 不要羡慕别人赚钱 - -别人赚再多的钱,跟你没关系。你需要反省的是,为什么自己赚不到钱。 - -你或许会有这样的疑问: - -为什么别人工作 8 小时,而你要 12 个小时?为什么别人拿那么高的工资,而你却只有那么点?为什么别人创业随随便便搞点动作就有大把大把的钱,而你却欠下一屁股债? - -不是领导眼瞎,不是公司制度不完善,不是你时运不济,不是别人都在背后搞小动作,不是钱创业资金不够多。 - -不要找任何借口。否则只可能雪上加霜。为什么你不值钱?心态很重要,正视金钱,轻视金钱,它只是一种附属品。提高自身的素质,纠正心态,扩充技能,赚钱并不是件难事。千万不要汲汲于赚钱的事情上,把手上的工作做好了,把效率提高了,把质量提高了,收入怎么可能降低呢? - -#### 绝不以赚钱至上 - -赚钱只是结果之一,不是目的,更不是过程。 - -你工作,不能是为了赚钱,而是为了你的理想,你的追求而奉献你的能力。 - -你创业,也不能为了赚钱,而要为了服务世界,改变世界。 - -> 有心栽花花不开,无心栽柳柳成荫。 - -当你对于事业有了更高的认知,金钱只是一种附属品,它必然属于你。 - -#### 取之有道 - -之前看过一个小故事,说有两家新开的餐馆,每天的顾客都比较多,一家会推荐顾客多点一点,点贵一点;另一家总是推荐顾客少点一些,够吃就行了。虽然短期来看,前一家钱赚的多一些,但后一家积累了顾客的信任。所以慢慢的,第一家的顾客会减少,第二家的生意会蒸蒸日上。 - -君子爱财,取之有道。有一条最基本的原则是互利共赢。做产品、做服务,帮用户省钱,用户反而会更愿意为你花钱。只想着怎么变着花样搞些噱头从用户身上榨更多的利益,这样赚钱的方法是不可持续的。 - -### 制定翻倍计划 - -虽然有的人基础好,起步高,但这些并不是一成不变的。接下来的这几年的努力,最足以拉开人生的差距。 - -> 王健林说: -> -> > 定个小目标,先挣一个亿。 - -这样的目标可能还是过于宏大了,但每一年,薪资以 1.5 倍速增长,并非遥不可及。 - -假设你从应届生毕业时月薪为 8k,两年工作下来 14k。从第三年起,到第五年,每年翻一番,就是: - -- 21k -- 32k -- 48k (年薪 58 万) - -似乎也没有多少,对于大多数人来说这样的小目标不算太难实现的。 - -假设这三年如果只有 30%的平均涨幅,那么就是: - -- 18k -- 24k -- 30k (年薪 36 万) - -14k 相同的起薪,20%的差距,就有 22 万之多。所以这一阶段的发展需要多付出些精力,不可荒废。 - ---- - -差不多,五年的光景,足以让你略有小成。 diff --git a/content/zh/mind/capability/solving.md b/content/zh/mind/capability/solving.md deleted file mode 100644 index b93fba9d..00000000 --- a/content/zh/mind/capability/solving.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: 问题处理能力 -description: '' -position: 3003 -category: '思想篇-能力' ---- - -包括问题解决和问题规避两大方面。 - -## 问题解决能力 - -> 举个例子:在公交站有清楚明白的站牌、而且有其他等车的人可以帮你解答的情况下,却非要拦住一辆 2 路汽车,问司机这个站过不过 8 路。 - -我是完全没法理解这种人脑子长了是有什么用处的。独立思考、独立解决,不依赖他人。要培养自己独立解决问题的能力,而不是培养别人解决问题的能力。别人帮你是情分,不帮你是本分。所以解决问题首要的原则应该是:**_靠自己,少烦人_**。 - -### 问题定位 - -发现问题第一步应该是**_思考问题产生的原因_**,可以通过日志记录、错误信息着手。多动手,少动口,不能瞪一眼没看到问题所在就立马张嘴问别人,这不仅会使自己的能力丧失,也会浪费其他人的时间。 - -在开发过程中,最常见的问题就是应用崩溃。往往这类问题,很容易找到源头。 - -举个例子,以下是命令行报错信息: - -``` -module.js:474 - throw err; - ^ - -Error: XXX '/Users/xxx/xxx.js' - at Function.Module._resolveFilename (module.js:472:15) - at Function.Module._load (module.js:420:25) - at Module.runMain (module.js:607:10) - at run (bootstrap_node.js:420:7) - at startup (bootstrap_node.js:139:9) - at bootstrap_node.js:535:3 -``` - -这是最浅显的错误信息,出错的文件位置、出错的行列号、出错的原因全部都一览无余,找出对应部分问题即可。 - -另外还有一些,如: - -``` -Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379 - at Object.exports._errnoException (util.js:1022:11) - at exports._exceptionWithHostPort (util.js:1045:20) - at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14) - code: 'ECONNREFUSED', - errno: 'ECONNREFUSED', - syscall: 'connect', - address: '127.0.0.1', - port: 6379 -``` - -只知道错误信息,不知道具体出错位置的,也可以根据错误信息很快定位到问题。 - -其他一些问题,如语法问题、死循环、逻辑错误,在调试过程中很难排查,则需要耐下心来单步跳入检查。 - -### 解决问题 - -大多数能遇见的问题都不是什么难题。即便觉得是难题也无非是经验的不足。所以,要善于利用搜索引擎,多记录,多整理,多总结。 - -有一些顽固问题可能会牵一发而动全身,则需要考虑成本最小化,不能捡了芝麻丢了西瓜。 - -另外,切忌拆东墙补西墙。要么根治,要么不治。 - -## 问题规避能力 - -### 1.避免犯相同的错误 - -> 很多年轻人工作起来似乎从来不多加思考,不分析,也不想象,只会跟着别人的指示去做事,凭着自己的感觉去工作。结果,上次做过的事情,这次还是不会做。就像那些路盲一样,一个地方去过很多次,永远也不记得如何走。 - -你犯的错误,大多数都在反复,学会思考总结,避免总是在犯相同的错误。 - -### 2.举一反三 - -再进一步,在思考总结的基础之上,学会举一反三,能够有效规避相似的问题。 - -会的多了自然错的就少了,技多不压身。 - -### 3.科学严谨 - -严谨是不犯错的前提。 - -如: - -- 做事有条理、有规划(可以用一些 GTD 工具,如 TODO List、奇妙清单、Omni Plan 等) -- 养成良好的编码注释习惯 -- 测试驱动开发(编写自动化测试用例) -- 培养大局观和洞察力 - - diff --git a/content/zh/mind/capability/study.md b/content/zh/mind/capability/study.md deleted file mode 100644 index 8aab31ab..00000000 --- a/content/zh/mind/capability/study.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: 学习能力 -description: '' -position: 3002 -category: '思想篇-能力' ---- - -## 脚踏实地,循序渐进 - -比如你想要做 Web 开发,那么可能就需要明确阶段性的目标,如先从前端或是后端的某个点着手,一点点拓展到其他的技术栈。 - -而一上手就要做高大上,就要采用“MEAN”(MongoDB+Express+Angular.js+Nginx)技术栈之类的,是不现实的。 - -在这几年的招聘过程中,个人感觉现在的前端圈子非常浮躁,很多毕业没两年的年轻人都会打上这样的标签:“精通 jQuery”、“精通 React”、“熟练使用 xxx 进行 HTML5 移动开发”之类的,笔试或者提问一些 CSS 基础、JS 基础、简单算法都答不上来。会这些上层应用框架再多,也只是做一些代码的搬运工作,不太需要智商投入的事情,何来的底气要那么高的待遇? - -> 无知要比知识更容易产生自信。—— 查尔斯·达尔文(达克效应) - -对于新人来讲,基础很重要,不仅要只其然,还要知其所以然。 - -比如,使用 jQuery 可以快速上手前端开发,只需要看过几个示例,对照着文档写代码就行了,非常方便。但是 jQuery 有自身性能和兼容性的局限,所以如果不懂原生 js 的话,只能机械重复去做一些简单的上层应用,很难再有突破。 - -比如,想要采用一种新的框架,如 Angular.js,那么也是需要了解一些 ES 6 特性、TypeScript 之类的前置知识基础,才能够更快地上手。 - -## 改善学习习惯,提高学习效率 - -每个人都有自己吸收知识的方式,有的同学喜欢看行业相关的新闻、博客,有的同学喜欢看各种视频、讲座,也有喜欢看书的。 - -无论是音频还是视频,所能传递的知识,都没有书本多。看书、看相关的文字资料,是吸收知识最快最有效的方式,虽然也是最无聊、最枯燥的方式。 - -虽然经常会听到“人丑就要多读书”、“人穷就要多读书”的黑梗,读书的必要性还是很大的。 - -> 一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪。 - -知识在大脑中的存留率是不高的,很容易就会忘记,所以经常复习会加深记忆。 - -最好能养成记录的习惯,学习笔记、心得、踩过的坑都可以记录下来,以防日后想用的时候又忘记了,还得重新看一遍。 - -## 学以致用 - -学以致用也是一种学习的能力。 - -如果学到的知识不能转变成价值的传递,那么学了又有什么意义? - -## 勤能补拙是良训,一分辛苦一分才 - -对于没有天赋,基础也很薄弱,但对这一领域又非常有兴趣的同学,你们要加倍努力。世上无难事,只怕有心人,不要轻言放弃。 - - diff --git a/content/zh/mind/team/concept.md b/content/zh/mind/team/concept.md deleted file mode 100644 index 3574f565..00000000 --- a/content/zh/mind/team/concept.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: 人才理念 -description: '' -position: 3505 -category: '思想篇-团队建设' ---- - -主要针对创业团队的总结归纳。 - -## 福利待遇 - -> 马云说:员工的离职原因,只有两点最真实: -> -> > 1、钱,没给到位。 -> > -> > 2、心,委屈了。 -> -> 这些归根到底就一条:干得不爽。 -> -> 员工临走还费尽心思找靠谱的理由,就是为给你留面子,不想说穿你的管理有多烂、他对你已失望透顶。 仔细想想,真是人性本善。作为管理者,定要乐于反省。 - -生活本应乐在其中,工作、理想、赚钱都只是生活中的一个个小环节而已,所以不应目的性太强,将团队成员当成赚钱的机器。 - -未必天天累死累活的连自己的生活都丢了才能成功,成功有很多方式,即便不能很成功也没必要跟自己过不去。价值的创造往往来自于灵感的迸发,而不是机械重复的砌垒。 - -### 福利 - -基础福利保障,如: - -- 节假日保障,带薪年假 -- 加班补贴,支付**_额外_**加班费及提供餐补、交通补贴等 -- 节日、生日礼包 - -劳动法规定的只是最低保障,需要严格遵守,并且应高于其规定的内容。除此之外,还可以融入一些有企业文化特色的福利,如: - -- 人体工程学座椅 -- 4k 显示器,macbook pro -- 机械键盘 -- 定期团队建设,培训分享等 - -不能让团队成员逢年过节秀福利的时候总是在同学朋友面前要低下头来。做良心企业,给足人文关怀。 - -### 待遇 - -高薪养廉,没什么毛病。 - -一方面起薪到位,让人一来就有干劲。另一方面,加薪到位,企业不能总是看员工通过加薪来提高待遇而不作为。重人才,惜人才,舍得让利于团队。 - -对于 2 年内工作经验的,每年调整两次薪资,幅度在 10%左右,较为合适,两年下来涨幅总计约 50%,即入职薪水 8k,两年后达到 12k。 - -对于 2-5 年的,每年一次薪资调整,根据能力从 15%-50%,并给予其他奖励,并实行末位淘汰制,优胜劣汰。 - -5 年以上的,每年一次薪资调整,不固定,根据业绩效益给予其他奖励或薪资调整,失误失职降薪、淘汰。 - -以上为团队常规状态的调整。跳出规矩定规矩,薪资调整不设死界限。 - -不少企业在每年调薪的时候都有两项限制——人员名额限制、调薪幅度限制。下面我讲几个案例。 - -#### 团队内部转方向 - -姑娘 A,以前在公司里做静态页面(HTML),干了一年半,转到做 JS,工作量激增,而且能力也被认可。但鉴于公司的薪酬体系限制,年后离职了。原因很简单,由于之前工作相较轻松,她的起薪较低,只有 6k 左右。如果跳槽,当前的就业形势 12-15k 左右是完全没有问题,而在公司继续待下去,即便短期内有两次涨薪(按 20%比例算),只能达到 8.5k 左右的水平。 - -#### 专业方向有建树 - -同事 B,在公司里一直兢兢业业,各方面表现虽然不是最为突出的,但也属于前列,而且特别踏实,工作交给他都十分放心。在公司两年多,工资虽然上涨了 40%(也是 6k 左右到了 8.5k),但依然落后于其他同学朋友,不甘离职。 - -这些例子抛出了下面的主题,人性和血性。 - -## 人性·血性 - -### 血性 - -何谓热血青年? - -有人这么回答: - -> 有激情 有梦想 爱追逐 不轻言放弃 敢作敢当 的年轻人 - -星爷有一句台词:“做人如果没梦想,跟咸鱼有什么分别?”很多人不是没有梦想,只是败给了现实,激发不出激情。 - -团队里需要有干劲的人,但是人的干劲来自于哪里? - -根据马斯洛需求层次理论: - -![Image](/mind/team/maslows.jpg) - -这是第五层次:自我实现的需要。 - -> 自我实现需求(Self-actualization),是最高层次的需求,包括针对于真善美至高人生境界获得的需求,因此前面四项需求都能满足,最高层次的需求方能相继产生,是一种衍生性需求,如:自我实现,发挥潜能等。 - -### 人性 - -很多时候,员工给企业创造的价值远远不止工资的十倍百倍。但却经常遇见这样的情况: - -> 你和老板谈工资,老板和你谈感情;你和老板谈感情,老板和你谈责任。。。 - -这样的老板,就是在利用人性的弱点来剥削员工的剩余价值。人性化的企业,公司的利益就是员工的利益;而不是员工的利益都成为公司的利益。 - -又想马儿不吃草,又想马儿快快跑,这是不切实际的。善待团队,才能激发更大的创造力。 - -> 富之、贵之、敬之、誉之,然后国之良士亦将可得而众也。 -> ——墨子 - - diff --git a/content/zh/mind/team/define-good-employee.md b/content/zh/mind/team/define-good-employee.md deleted file mode 100644 index a9842dcd..00000000 --- a/content/zh/mind/team/define-good-employee.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: 好员工的定义 -description: '' -position: 3501 -category: '思想篇-团队建设' ---- - -首先需要明确,对于公司而言,所想要的员工是这样子的:拿半个人的薪水,做十个人的事情。虽然这么讲可能有那么一点夸大其词,但想想也应该知道,凭什么公司给你支付很高的薪水?答案`只有一个`,那就是你能够有很高的价值产出。 - -即便当你成为领导,甚至成为老板,也需要认清什么样的员工才是好员工,这样你的团队才能可持续的发展。 - -什么样才能算得上是一个好员工呢?一千个读者就有一千个哈姆雷特,虽然没有一个很明确的标准,但从我个人的理解来讲,应该是这样子的: - -## 团队意识 - -这是最重要的一点。一个人的能力再强,也不可能颠覆全世界,[天启](http://baike.baidu.com/subview/11659698/12016649.htm)的失败就是一个典型的例子,双拳不敌四手。 - -> 一根筷子轻轻被折断 -> -> 十双筷子牢牢抱成团 -> -> 一个巴掌拍也拍不响 -> -> 万人鼓掌声呀声震天 -> -> ——《众人划桨开大船》 - -### 帮助团队其他成员共同进步 - -这就要求不能有个人英雄主义。喜欢打篮球的人应该都会头疼特别独的队友,即便这个人水平真的很高。我评价一个员工的好坏,不在于他个人的能力,而是他在团队中对其他成员的正面影响能有多少。 - -帮助别人进步的同时,自己也会进步。 - -### 充当一颗螺丝钉 - -不要相信是金子总会发光的这种傻话,有能力,你就得承担责任。U Can U Up, No Can No BB.只会说,不能做,工作上挑三拣四的,不先开除你这样的开除谁?还想升职加薪,迎娶白富美?做梦吧。 - -总有累活难活大多数人都不愿意接的活,但活总要有人干吧。你上,自然会得到重用,哪怕现在的这个任务只是当一颗螺丝钉。吃得苦中苦,方为人上人。 - -### 分担他人的工作 - -试着去分担团队其他人的负担,而不是给别人增加负担。多去为团队其他人解决问题,而不是为别人制造问题。 - -尤其是在初创团队里,每个人都会有很多任务,你能力强,就带领别人,去攻克解决难题;你能力弱,就虚心学习,听取别人的意见,并分析融入自己的思考。 - -## 学习能力 - -学习能力远大于学历,也大于能力。有学习能力的人,能够在短时间能提升自己的能力。 - -有一句古话说: - -> 有志不在年高,无志空长百岁。 - -### 自学能力 - -经验丰富,是一种优势。但岁数大,是一种劣势。所以年轻人,多学点东西吧,这样你会更有竞争力。 - -倚老卖老的人很多,但不会有谁真的会把自己看家本领无私奉献给你。学习是一个主动的过程,而不是被动的接受。换位思考一下,为什么别人要教你?你赚了钱又不可能都给他,反而有可能会取代他做的工作,虽然残酷但这才是现实。所以,不要指望别人带你,或者有导师能够指引你,除非你有钱交大把的学费,给足了对方甜头。不然,你只能靠自己。 - -天下没有免费的午餐,也没有可以不花钱就学到的知识。如果有,不学也罢,学了也累赘。 - -### 钻研精神 - -事业是要为之奋斗终生的,如果你对所从事的职业不感兴趣,应当趁早转型。如果你热爱你的工作,那么你应该很努力。想一想,那些比你优秀、比你赚钱多、比你年轻的人,你还有什么资格不努力? - -你不仅要不断地学习专业技能,还需要广泛涉猎各个领域。多知道一点,总是无害的。多努力一点,可能也就会变得更优秀一点。 - -### 谦逊 - -谦逊是大多数好学的人都共有的一点明显特征,所以我也将其勉强归入学习能力之中。只要能学到本事,放下那一文不值的尊严吧。 - -## 一专多能 - -小学生都有一句口号叫:“德智体美劳全面发展”,职场人更需要这样。所以我也送你一句口号:“一专多能,高薪不难。” - -何为一专多能?擅长某一领域,并对其他领域广泛涉猎并有自己的见解。 - -一专多能的人,具备如下一些特征: - -### 工作不可替代 - -因为在某一领域精通,所以你所做的工作是别人不能轻易接手的,你所能解决的问题,不是别人都能解决的。如果你所做的工作,别人取代不了,那么你的重要性自然可想而知。 - -不过需要注意一下,应当做优秀到不可取代,而不是 Low 到无可替代。如果你是一个码农,你写的代码里一行注释都没有,变量方法命名连自己都看不懂,写的逻辑和算法渣得像坨屎,确实也没人能接手你的活,但完全可以推翻重做一套吖。不可取代,是无论什么样的方法,都不能做得比你更好。这样,你也能有成就感,不是吗? - -### 团队活化剂 - -不仅能够高效、高质量完成自己的工作,还能在工作之余给团队其他人启发,帮助其他人开阔思维、改善思路、提高效率、提升品质。 - -### 思想不可替代 - -有广泛的知识积累做依托,你在看待问题的时候会从不同的角度进行分析和换位思考,会比常人看得更加透彻和清晰。所以渐渐地,你将往团队的精神领袖位置靠拢。思想比技术更有价值,因为技术可以复制,而思想不能。 - -就算别人能够模仿你说话的动作、语气和神情,但看问题刁钻的眼光和解决问题的能力都是别人所不能模仿的。 - - diff --git a/content/zh/mind/team/define-good-engineer.md b/content/zh/mind/team/define-good-engineer.md deleted file mode 100644 index 67fab975..00000000 --- a/content/zh/mind/team/define-good-engineer.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: 优秀工程师(程序员)的定义 -menuTitle: 优秀工程师的定义 -description: '' -position: 3502 -category: '思想篇-团队建设' ---- - -很多人对于自己所处的身份并没有十分明确的认识. 技术人最初的身份可能只能算是一个工程师, 或者通俗的叫法为程序员. - -## 价值衡量 - -如何评判一个工程师是否合格, 并不在于他实现了多少功能, 贡献了多么多的代码. - -就像我们在上学的时候也都在提倡德智体全面发展一样. 一个程序员, 本职的工作不仅仅是写代码. 随着科技的发展, 代码的价值会越来越低, 就像搬砖一样, 代码堆彻得多, 无非跟背得砖更多无差, 这种量的增长, 并不能带来更大的价值产出. 是的, 虽然我也一直不愿意面对这样的事实, 但现实是残酷的, 代码是廉价的. - -那么该如何评判是否是一名优秀的工程师(程序员)呢? 其实需要通过多个维度去衡量. - -## 1.思想 - -要让其他人(无论是团队内的领导,同事,下属, 团队外的投资人,客户,用户)都能够轻易理解你的想法. - -当然,很多时候我们并不会有很多机会直接与那么多人直接的面对面去沟通交流, 让对方了解你做的这个事情目的是什么, 意义是什么. 这就需要你通过其他的方法来让他们知道. - -价值评判物: **设计**. - -不懂设计, 就写不出好代码. - -!> P.S. 这里的设计, 指的不是用 PS, AI 之类的工具去做平面, UI 的设计. 而是功能, 代码的设计. 在最初的时候, 可以参考借鉴既有的, 成熟的设计模式进行设计. - -一份优秀设计的参考标准: - -- 规范的文档和图(模型) -- 简单, 清晰且全面的流程, 规避无意义的状态扭转 -- Less, More - - 用更少的描述, 让人更容易理解 - - 用更少的说明, 表达更多的想法 - -## 2.效率 - -这是很多人在拼命追求和改善的, 但在实际的工作中, 我个人的感觉, 效率的确非常重要, 但往往任务不能按时交付并不是某个成员的效率低了. - -价值评判物: **单位时间工作产出** 及 **阶段性工作产出汇总**. - -很多人会只拿单位时间内的工作产出来衡量效率. 但这样是完全没有道理的, 有的人确实能力很强, 分了任务很快就能完成. 但完成了之后剩下的时间里, 既没有想着这么去优化, 也没有想怎么样自我提升, 就把时间又浪费掉了. 这样的"**高效**", 真的高效吗? 就像我们从小听的故事, 龟兔赛跑, 兔子睡了一觉, 就被乌龟超了过去. - -效率高的参考标准: - -- 同样的一个功能模块开发, 别人需要用 2 个小时完成, 而你只用了 1 个小时, 你的效率高一些. (`效率`与`质量`往往是需要关联起来衡量的,所以单独拿出来比较并没有任何的参考意义) -- 时间管理 - - 懂得如何将自己的任务分优先级, 规划得有条理, 并且能按时高质量交付 - - 在团队协作中不浪费他人的时间及资源, 甚至能够帮助其他人提高效率 -- Less, More - - 更少的时间, 实现更多的功能 (注意, 并非贡献更多的代码) - -## 3.质量 - -我个人感觉, 质量是最能评判一个优秀工程师的指标了. 因为`设计思想`, `代码`, `算法` 等等, 最终实现的成果, 都需要用质量来评判. - -价值评判物: **?** (真的是很难说什么东西能够直接体现出工作产出质量的) - -参考评判物: (按权重降序排列) - -1. 文档(设计) -2. 测试报告 -3. 性能分析报告 -4. 代码(主要衡量: 业务逻辑, 算法) - -质量评判参考标准: - -- 各类文档完善程度 -- TDD/BDD 测试覆盖率 (95%以上) -- 性能分析报告 (Apdex 性能 0.9 分以上, Bug 率 1%以下) -- 代码注释率 (10% 以上) -- 代码重复率 (10% 以下) -- Less, More - - 更少的代码, 实现更多的功能 - - 更少的代码块, 更高的执行效率 - - 更少的测试用例, 覆盖更多的可能性 - - 更少的成本浪费, 更多的价值产出 - - diff --git a/content/zh/mind/team/hire.md b/content/zh/mind/team/hire.md deleted file mode 100644 index 22f40829..00000000 --- a/content/zh/mind/team/hire.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: 招聘原则 -description: '' -position: 3503 -category: '思想篇-团队建设' ---- - -有极为优秀的特殊情况个例允许忽视本原则部分条目,但绝大多数情况下具有遵守意义。 - -> 三不招,三不留。 - -## 非相关专业不招 - -如金融做前端开发,外语做设计,旅游做后台,体育做产品。技术相关岗位要求有深厚的基础功底,不能浮于表面。会调调 API,做做上层应用,很难有更深的突破。 - -一类特殊情况为,从小兴趣所在,虽然非相关专业,但有多年自学基础。 - -## 心态浮躁不招 - -初入职场,最大的忌讳就是浮躁。 - -1. 简历经历工作不满一年,项目经验丰富或担任多个项目负责人、团队负责人的,没有面试必要; -2. 工作年限不满三年,能列出一大堆技术、框架,各项技术都是熟练掌握、精通的,没有面试必要; - -如果项目属实的话,应当给予线上在运行网址、截图演示、甚至 Github 等源码链接。 - -面试中从细节观察,如时间概念,迟到、赶时间的不优先考虑。 - -每个人都有成为大牛的潜力,但需要经受时间的考验,知识固然重要,但还有更重要的是思想、和经验。经验,通过时间慢慢的累积,提炼提升思想境界。 - -## 眼界狭窄不招 - -眼界有多开阔,世界就有多宽广。 - -工作不单纯只有工作。人无远虑,必有近忧。 - -1. 对自己未来的发展没有明确的规划,看不到职业未来的方向,没有录用必要; -2. 对自己所做的没有进一步优化的方案,看不到事业升华的可能,没有用用必要; - -智者的共同特点是:一方面,因为看清了物质快乐的有限,最少的物质就能使他们满足;另一方面,因为渴望无限的精神快乐,再多的物质也不能使他们满足。 - -## 固步自封不留 - -闭门造车,出门合辙,在当今的社会已经不再适用。 - -长期没有进步,在这个日新月异的时代里,等同于退步。毕竟这个行业早就没有什么还可以一招鲜吃遍天的技能了。 - -要善于学习,善于分享,促进团队共同进步,保持执着与激情。 - -## 推诿敷衍不留 - -尤其在创业公司中,事情多,涉及面广。一个人能顶多个人,是最理想的状态。所以要敢于担当,敢于试错。只关注某一块,就会产生瓶颈,自身难突破,工作难创造更大价值。 - -踢皮球是最忌讳的,解决问题的能力很重要。要解决或帮助公司解决公司中潜在的问题,而不是遇到问题只能指望别人。 - -## 人格缺陷不留 - -### 1.悲观 - -墨菲定律,越担心发生的事情就越容易发生。情绪容易传递,团队里尽可能都是乐观正能量的氛围。 - -失败是成功之母,只有越挫越勇,才能有所突破。 - -### 2.猜疑 - -相互猜忌会引起勾心斗角。团队间应当坦诚相待,奔着共同的目标进步。 - -### 3.羞怯 - -缺乏自信的表现,过于胆小被动,过于谨小慎微,或者过于关注自己,都不利于团队的良性发展。 - -## 注意事项 - -### 别让一颗老鼠屎, 坏了一锅粥 - -宁愿能力低一些, 但一直都在持续不断的输出价值, 不能好高骛远, 成为团队里的搅屎棍. 脚踏实地, 踏踏实实做实事是每个员工应尽的义务和责任. - -团队应该向着一个共同的目标去努力, 每个人都应该对未来有着明确的方向. 否则, 上班就像是混日子. 大家都拿着差不了太多的薪水, 凭什么有的人可以毫不努力, 却要享受着跟别人一样的工作待遇? 虽然可能只是这么一两个人的资源浪费, 但这却是对团队其他成员极其不负责任. 只要团队成员中有那么一两个人感到迷茫, 开始无所事事, 这种负能量就会很快渗透到整个团队中. - -团队发展应当有一个良性的趋势. - - diff --git a/content/zh/mind/team/meeting.md b/content/zh/mind/team/meeting.md deleted file mode 100644 index c91e62de..00000000 --- a/content/zh/mind/team/meeting.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: 会议原则 -description: '' -position: 3504 -category: '思想篇-团队建设' ---- - -## 要求 - -### 1.每周会议时间总计不超过 3 小时 - -少说废话多做事,3 个小时的会议精神绝对足够一周都充实工作了。大量的时间都用来开会了,那什么时间来工作呢? - -### 2.每次会议时间控制在 30 分钟以内,最多不超过 45 分钟 - -会前做好会议时间预估,可以在会议室放置闹钟定时器,严格执行。 - -### 3.其他与会细则 - -- 禁止在会议过程中预习。在会议之前完成会议的准备工作,包括会议主题、主要讨论的问题罗列、问题思路整理等 -- 精简会议主题,只讨论核心问题和涉及面较广的问题;其他问题可以私下组织小范围会议或讨论,输出文档等形式通知 -- 精简会议人员,无关人员不参与,若相关人员可以在会前讨论和会后通知 -- 禁止在会议过程中接听电话,手机禁音 -- 最多只允许使用两台电脑,一台用于做会议纪要,一台用于投影展示 -- 禁止交头接耳开小会,会议只关注大家都关注的问题,私下讨论安排会后其他时间 - -## 建议 - -### 避免无意义会议 - -如大多数小团队的周例会,是没有什么实质性内容的,这样的会议应尽可能避免,可以改为分享、培训。 - -### 设置 No Meeting Day(无会日) - -杭州设置周三为无会日(指每周三不召开市委常委会议、市政府常务会议、市长办公会议,不安排以市委、市政府或市委办公厅、市政府办公厅及部门名义举行的全市性会议或活动,市委常委、副市长不召开研究部署工作的各类专题会议)。 - -个人建议设置为周四,当然周三也是可以的。如无重要程度达到紧急的事情,不召开会议。 - -这样做的好处: - -- 培养条理和提前规划习惯 -- 培养独立思考能力,不能总是遇事就开会,芝麻大的事情都要开个会 -- 提供一整天的时间可以专注于未完成的工作,提高工作效率 - - diff --git a/content/zh/mind/thinking/buckets.md b/content/zh/mind/thinking/buckets.md deleted file mode 100644 index c6bb45df..00000000 --- a/content/zh/mind/thinking/buckets.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: 木桶效应 -description: '' -position: 3304 -category: '思想篇-思维模式' ---- - -> 一只水桶能装多少水取决于它最短的那块木板。 - -瓶颈来源分为两种:自身缺陷、外部缺陷。 - -## 克服自身缺陷 - -阻碍一个人发展的主要因素,往往并不在于能力,而是缺陷。 - -能力强,工作效率高,工作产出质量高,确实是一种优势。但如果自身的缺点过于明显,则会成为拖后腿的主要原因。 - -不能只将关注点放在职业技能的提升上,还需要关注自己的性格、习惯、沟通协作、目标方向等方面,不足之处有则改之,无则加勉。就像学校里提倡的全面发展一样,在工作能力之外的方方面面,避免“偏科”现象产生。 - -## 洞察外部缺陷 - -> No matter how great he is ,he can't change the world on his own. -> 无论是多伟大的天才,都无法仅凭一己之力改变世界。 - -对于大多数产品和项目,都无法仅凭一己之力扭转未来,需要的是团队的配合。 - -团队对于个人的影响是很大的,短板对于团队的影响也是很大的。就好比把一勺酒倒进一桶污水中,你得到的是一桶污水;把一勺污水导入一桶酒中,你得到的还是一桶污水。 - -即便意志力再坚强,能够出淤泥而不染,也还是会被扯后腿。 - ---- - -> 一个人的价值,在于他贡献了什么,而不在于他能得到什么。 - -及时发现,及时修正。无论是自身问题放大,还是外部问题扩散,一旦产生恶性循环,就很难补救了。 - -穷则独善其身,达则兼济天下。如果不能够修复那块最短的木板,要么将其换掉,要么全身而退。 - -## 个人成长 - -阻碍个人成长的, 往往不是优势瓶颈, 而是短板. 即便在一个领域内非常精通, 研究非常深入. 如果不能灵活的学以致用, 也是没什么用处的. - -正视自己的缺点, 不断克服短板, 提高综合竞争能力, 才能更好地在职场中立足, 在社会中立足, 有所建树. - - diff --git a/content/zh/mind/thinking/dialectical.md b/content/zh/mind/thinking/dialectical.md deleted file mode 100644 index 581762fa..00000000 --- a/content/zh/mind/thinking/dialectical.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: 辩证思维 -description: '' -position: 3302 -category: '思想篇-思维模式' ---- - -要学会换位思考、辩证思考,保持客观、冷静,才能游刃有余。凡事皆有两面,切忌钻牛角尖,不可过于极端。 - -举几个常见的梗: - -> Atom 只是编辑器,不是 IDE。 - -> Sublime Text 只是编辑器,不是 IDE。 - -> jQuery 只是一个库,不是框架。 - -究竟咬文嚼字玩文字游戏有多大意义? - -即便是一款代码编辑器,有能力集成各种插件,与 IDE 真的有那么多明显的界限吗? -一个库一个框架不都是一个引入的事情吗? - -都只是工具而已。何必钻那么多牛角尖,搞技术就沉下心搞技术。 - -> PHP 是这个世界上最好的语言。 - -> Javascript 是这个世界上最好的语言。 - -> xxx 是这个世界上最好的语言。 - -每种语言都有自身的优势和不足,没有什么语言能够适用于任何场景。 - -编程不是靠语言就能决定性能的,什么 Ruby on Rails 性能低,什么 Node.js 性能高,只是片面之词,每个人写`Hello World!`都能有很多不同的版本,更何况是复杂的系统应用呢?自然有算法效率的高下,逻辑的繁简等各种因素去决定性能和稳定性。 - -语言(技术)只是一种工具,帮助我们将一个个想法创意转译成产品。没有特别烂的语言,只有把语言用得特别烂的人。也没有特别完美的语言,但也有将语言运用到淋漓尽致的人。 - -> 天之道,损有余而补不足。人之道则不然,损不足以奉有余。 - -马太效应:穷的人越来越穷,富的人越来越富。其本质区别,来源于内心。 - - diff --git a/content/zh/mind/thinking/ocd.md b/content/zh/mind/thinking/ocd.md deleted file mode 100644 index 1f797bea..00000000 --- a/content/zh/mind/thinking/ocd.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: 克服强迫症 -description: '' -position: 3303 -category: '思想篇-思维模式' ---- - -我曾经是有着比较严重的强迫症的。慢慢地发现,强迫症 ≠ 完美主义,它给我带来的,更多不是便利,而是麻烦。 - -## 强迫症的表现 - -仅列出一些在我身上出现过的症状: - -- 手机上的未读通知一定要全部消灭掉 -- 经常出门之后怀疑门没锁好 -- 调音量一定要调到自己顺眼的数字 -- 删除文件后,一定要清空回收站 -- App 图标一定要按照特定规律排列 -- 挤牙膏一定得从根部开始 - -总结来说,就是经常刻意地去做某些事。 - -## 自我治疗 - -追求完美是好事,过分追求就是吹毛求疵,效率前期提高后期必然会下降。 - -### 理论——“无为” - -无为不是无所作为,不是无所事事,而是不做无效的工作。 - -道家的第一原则是“道法自然”。顺应自然,不要过于刻意,“去甚,去奢,去泰”。人要以自然的态度对待自然,对待他人,对待自我。所以会有“自然——释然——当然——怡然”。 - -### 实践 - -从手机开始,每当遇到垃圾短信,广告推送,克制自己不去点。大约用了一周时间,再看到手机上未读的红点,我就已经没有什么特别的感觉了。 - -![ocd](https://cloud.githubusercontent.com/assets/1890238/22811899/a321f4ce-ef7c-11e6-93a2-f3a169fd6d37.png) - -同时进行的还有挤牙膏,很随性的,有时候从中间,有时候从头部,有时候从根部,按到哪就挤哪。 - -### 测试 - -![ocd](https://cloud.githubusercontent.com/assets/1890238/22812219/73b0cf1a-ef7e-11e6-9af7-5b3a0b2b048d.jpg) - - - -经过一段时间的自我调节,测试结果达到 A,无强迫倾向。 - - diff --git a/content/zh/mind/thinking/shit.md b/content/zh/mind/thinking/shit.md deleted file mode 100644 index 4bb06f62..00000000 --- a/content/zh/mind/thinking/shit.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: 忽略细节,就是屎 -description: '' -position: 3301 -category: '思想篇-思维模式' ---- - -比如登录表单,输入密码后按回车键一点反应都没有,必须点击登录按钮才能登录。 - -## 开发忽略细节,代码一坨屎;设计忽略细节,产品一坨屎。 - -举个稍微复杂点的例子,`消息列表`这个功能模块。 - -假设有两个需求: - -1. 允许用户下拉操作刷新(手动) -2. 每隔 15s 后台请求刷新(自动) - -如果处理不当,会出现漏消息、消息重复等情况。 - -所有开发环节出现的屎,都能追溯到设计环节。从设计环节就需要考虑好如何规避这些问题的发生。 - -实践: - -### 0. 消息表说明 - -在数据库设计章节提到了避免使用自增 id。 - -所以就不能将消息 id 作为参数传递去查询,而采用时间戳的方式。 - -### 1. 参数带入时间戳 - -时间戳的选取: - -1. 本次请求发起的时间 -> 下次请求可能会重复本次请求处理期间的消息 -2. 本次请求结束的时间 -> 下次请求可能会丢失本次请求处理期间的消息 -3. 最后一条消息记录的时间 -> 完美衔接,最佳选择 - -### 2. 阻止请求 - -如用户狂点导致的频繁刷新,或者用户手动刷新和自动刷新同时进行,都会导致获得到重复消息数据。 - -先进先出。前一条请求处理完成前,阻止下一条请求。 - -### 3. 时间戳的有效性 - -1. 如果返回的结果有数据,时间戳应当被更新替换掉 -2. 如果返回的结果没有数据,下次请求依然使用该时间戳 - -## 看似简单,其实不易。 - - diff --git a/copyright/index.html b/copyright/index.html new file mode 100644 index 00000000..83363b08 --- /dev/null +++ b/copyright/index.html @@ -0,0 +1,240 @@ + + + + 版权 - 团队领袖计划 + + +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/coding-as-building/index.html b/experience/advanced/coding-as-building/index.html new file mode 100644 index 00000000..5a6595ad --- /dev/null +++ b/experience/advanced/coding-as-building/index.html @@ -0,0 +1,427 @@ + + + + 像盖房子一样写代码 - 团队领袖计划 + + +

    + 像盖房子一样写代码 +

    当我写一个功能模块方法时,我在想些什么

    +
    // 无论什么方法,都是这样一个结构
    +const fn = () => {};
    +
    +

    比如,我要写一个接口,查询组织下的设备列表 /api/device/list

    +

    地基

    +
    const deviceList = (params) => {
    +  // 传入一些参数
    +  return []; // 返回一个列表
    +};
    +
    +

    我需要哪些参数:

    +
      +
    • 用户基本信息(主要是用户 id,用户的组织 id)
    • +
    • 用户对应的组织基本信息(主要是组织 id,组织管理员 id,层级关系,以及权限逻辑)
    • +
    +

    输出结果很简单,为一个数组。

    +

    浇筑

    +

    第一步分析,存在成功和错误(错误类型先不考虑)两种类型的结果。

    +
    // 成功
    +// 错误
    +const deviceList = async (ctx) => {
    +  // 错误
    +  if (someError) {
    +    // 返回错误结果
    +  }
    +  // 成功
    +  return getDevicesByOid(oid);
    +};
    +
    +

    这是一个大概的设想,没有必要将代码写出来。然后润化该思路,写出第一段框架。

    + +

    主体结构

    +

    首先,传入的参数为组织 oid,用户的信息可以通过 session(或其他方式)从内部获得。

    +

    可能的一种思路

    +
    // 成功
    +// 错误
    +// 错误1:用户未加入组织
    +// 错误2:传入参数组织不存在
    +// 错误3:用户无组织权限
    +
    +// 传入参数: 要查询的组织 oid
    +// 能够通过 session 取到的信息: user
    +const deviceList = async (ctx) => {
    +  // 用户信息 ctx.user
    +  // 判断用户是否有组织
    +  if (ctx.user.oid === 0) {
    +    // 错误1:用户未加入组织
    +  }
    +
    +  // 如果不传该参数,查询当前用户组织的设备
    +  const { oid = ctx.user.oid } = ctx.request.body;
    +  if (oid === ctx.user.oid) {
    +    // 成功
    +    return getDevicesByOid(oid);
    +  }
    +
    +  // 根据oid查询组织信息
    +  // 错误2:传入参数组织不存在
    +  // 判断是否有权限
    +  const checkRights = await checkUserOrgRights(ctx.user.uid, oid);
    +  if (!checkRights) {
    +    // 错误3:用户无组织权限
    +  }
    +  // 成功
    +  return getDevicesByOid(oid);
    +};
    +
    +

    推荐的实现方式

    +
    // 成功
    +// 错误
    +// 错误1:用户未加入组织
    +// 错误2:传入参数组织不存在
    +// 错误3:用户无组织权限
    +
    +// 传入参数: 要查询的组织 oid
    +// 能够通过 session 取到的信息: user
    +const deviceList = async (ctx) => {
    +  // 用户信息 ctx.user
    +  // 判断用户是否有组织
    +  if (ctx.user.oid === 0) {
    +    // 错误1:用户未加入组织
    +  }
    +
    +  // 如果不传该参数,查询当前用户组织的设备
    +  const { oid = ctx.user.oid } = ctx.request.body;
    +  if (oid !== ctx.user.oid) {
    +    // 为什么这里不用等于判断:如果等于的话,则当时就需要返回出去,这样的话该方法会有两个成功的 return
    +    // 根据oid查询组织信息
    +    // 错误2:传入参数组织不存在
    +    // 判断是否有权限
    +    const checkRights = await checkUserOrgRights(ctx.user.uid, oid);
    +    if (!checkRights) {
    +      // 错误3:用户无组织权限
    +    }
    +  }
    +  // 成功
    +  return getDevicesByOid(oid);
    +};
    +
    +

    封顶

    +

    完成其他的业务代码。

    +

    当我写一段测试的时候,我在想些什么

    +

    按照上面推荐方式完成代码后,需要进行代码的测试。

    +

    首先需要明确业务的流程,理清测试的思路。

    +
      +
    • 成功
    • +
    • 错误 +
        +
      • 错误 1:用户未加入组织
      • +
      • 错误 2:传入参数组织不存在
      • +
      • 错误 3:用户无组织权限
      • +
      +
    • +
    +

    主要有两种设计思路:

    +

    设计思路

    +

    思路一

    +
      +
    1. 完成测试用例,覆盖成功的所有情况
    2. +
    3. 完成测试用例,覆盖错误 1 的所有情况
    4. +
    5. 完成测试用例,覆盖错误 2 的所有情况
    6. +
    7. 完成测试用例,覆盖错误 3 的所有情况
    8. +
    +

    这是传统的单元测试衍生而来的 BDD 测试方式。

    +

    这里测试用例的个数应该为8次:

    +
      +
    • 成功: +
        +
      • 1.当前组织的用户有传入组织 oid
      • +
      • 2.当前组织的用户未传入组织 oid
      • +
      • 3-5.上级组织,上上级组织,根级组织的管理员用户传入组织 oid
      • +
      +
    • +
    • 6.失败 1:用户未加入组织
    • +
    • 7.失败 2:传入参数组织不存在
    • +
    • 8.失败 3:用户无组织权限
    • +
    +

    其中,测试 3-5 可以优化为一次测试(即根据所有管理员 uid 的数组比较是否包含当前用户 uid),最终优化后的结果应当为6次。

    +

    但由于该思路中不明确用户,所以用户行为无法准确表达,在创建测试数据的时候较为困难,不仔细思考分析,无法优化需要创建多少条测试数据。

    +

    思路二

    +

    而实际上 BDD 测试为用户行为测试,可以以几类用户的情形分别进行测试。

    +
      +
    1. 模拟一个用户的数据,覆盖成功和可能错误(有可能无法涵盖到所有错误)的所有情况
    2. +
    3. 根据未覆盖的部分,再模拟另一个用户的数据,覆盖成功和可能错误(有可能无法涵盖到所有错误)的所有情况
    4. +
    +

    以此循环,直至覆盖所有。

    +
      +
    • 用户 1(非组织管理员,查询自己的组织) +
        +
      • 1.成功(未传入组织 oid)(组织 1)
      • +
      • 2.成功(传入组织 oid)
      • +
      • 3.失败 2:传入参数组织不存在
      • +
      • 4.失败 3:用户无组织权限(组织 2)
      • +
      +
    • +
    • 用户 2(上级某组织管理员)(组织 3) +
        +
      • 5.成功
      • +
      +
    • +
    • 用户 3(未加入组织用户) +
        +
      • 6.失败 1:用户未加入组织
      • +
      +
    • +
    +

    非常简洁明了的关系,需要 3 个测试用户,3 个组织(上下级关系进行数据复用,一个无权限的组织),即可涵盖所有范围。

    +

    最终优化版设计:

    +
      +
    • 用户 1(某组织管理员,有下级组织) +
        +
      • 1.成功(未传入组织 oid,查询自己的组织)
      • +
      • 2.成功(传入当前的组织 oid(组织 1))
      • +
      • 3.成功(传入下级的组织 oid(组织 2))
      • +
      • 4.失败 2:传入参数组织不存在
      • +
      • 5.失败 3:用户无组织权限
      • +
      +
    • +
    • 用户 2(未加入组织用户) +
        +
      • 6.失败 1:用户未加入组织(组织 3)
      • +
      +
    • +
    +

    两个用户,三个组织。完成所有覆盖。

    +

    当我以测试驱动开发的时候,我在想些什么

    +

    可以从上述测试思路二中进行反推。

    +

    实际上思路可能是在写代码或者写测试的过程中不断的改进和完善的。

    +
      +
    • 如果已经写好了测试正在写代码,可以及时回过头来调整测试;
    • +
    • 如果功能写好了又再重新测试,可以在测试优化后再去看逻辑代码是否还有优化的空间。
    • +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/desktop-app/index.html b/experience/advanced/desktop-app/index.html new file mode 100644 index 00000000..3ebd73fd --- /dev/null +++ b/experience/advanced/desktop-app/index.html @@ -0,0 +1,816 @@ + + + + Electron 桌面应用 - 团队领袖计划 + + +

    + Electron 桌面应用 +

    本章节以 Mac OS X 下 Hosts 文件管理 App 为例。

    +

    技术栈包含:

    +
      +
    • Electron (仅 OS X 平台)
    • +
    • Webpack 2
    • +
    • Vue 2
    • +
    • Vuex
    • +
    • Vue-Router
    • +
    • Vue-Material (UI 组件)
    • +
    • Babel
    • +
    • ESLint
    • +
    • Yarn(包管理)
    • +
    +

    初始化项目

    +
      +
    • 安装所需的各种 NPM 包。
    • +
    • 引入 ESLint、Babel 配置文件。
    • +
    +

    配置 Vue2 + Webpack2

    +

    需要注意Webpack 2.x.x 版本与 1.x.x 版本发生了不少改动。

    +

    可以参考迁移文档: https://webpack.js.org/guides/migrating/ 进行学习。

    +

    坑 1: extract-text-webpack-plugin

    +

    该插件 NPM 最新版本为 1.0.1,不支持 Webpack2,所以需要通过安装 RC3 版本来获得对应支持。

    +
    yarn add --dev extract-text-webpack-plugin@2.0.0-rc3
    +或
    +npm i --save-dev extract-text-webpack-plugin@2.0.0-rc3
    +
    +

    坑 2:babel-plugin-transform-runtime 与 extract-text-webpack-plugin 插件有冲突

    +

    会导致 extract-text 插件报错崩溃。

    +

    解决方法,修改 .babelrc

    +
    {
    +  "presets": ["latest"],
    +  "plugins": [
    +    [
    +      "transform-runtime",
    +      {
    +        "helpers": false,
    +        "polyfill": false,
    +        "regenerator": true
    +      }
    +    ]
    +  ],
    +  "compact": true
    +}
    +
    +

    其中 设置compact属性还能阻止 500kb 限制的警告。

    +

    坑 3:postcss-loader 与 extract-text-webpack-plugin 插件有冲突

    +

    目前无解,去掉了postcss-loader的使用。

    +

    下一阶段尝试。

    +

    坑 4:在 Vue 中使用 Electron

    +

    首先,需要在 webpack config 中设置:

    +
    target: 'electron'
    +
    +

    向 Electron 注册插件:

    +
    import Vue from 'vue';
    +import electron from 'electron';
    +
    +Vue.use({
    +  install: (vue) => {
    +    vue.prototype.$electron = electron;
    +  }
    +});
    +
    +

    前端向 IPC 发送消息:

    +
    this.$electron.ipcRenderer.send('resizePreferencesWindow', { width: 400, height: 300 });
    +
    + +

    Electron 配置

    +

    设置 App 开机自启

    +

    使用插件:https://github.com/Teamwork/node-auto-launch

    +
    import AutoLaunch from 'auto-launch';
    +
    +const hostsAutoLauncher = new AutoLaunch({
    +  name: 'Hosts.js',
    +  path: '/Applications/Hosts.js.app'
    +});
    +
    +exports.isEnabled = async () => {
    +  const result = await hostsAutoLauncher.isEnabled();
    +  return result;
    +};
    +
    +exports.enable = () => {
    +  hostsAutoLauncher.enable();
    +};
    +
    +exports.disable = () => {
    +  hostsAutoLauncher.disable();
    +};
    +
    +

    添加 Electron Vue DevTools

    +

    可以直接通过插件实现,地址:https://github.com/MarshallOfSound/electron-devtools-installer

    +

    devtools.js:

    +
    import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer';
    +
    +module.exports = installExtension(VUEJS_DEVTOOLS);
    +
    +

    窗口加载:

    +
    if (process.env.NODE_ENV === 'development') {
    +  // 开发模式加载 devtools
    +  const devtools = require('../lib/devtools');
    +  devtools.then(() => {
    +    // 注意调用方式
    +    this.preferencesWindow.loadURL('http://localhost:3000/build/app.html');
    +  });
    +} else {
    +  this.preferencesWindow.loadURL(`file://${path.join(__dirname, '../../build/app.html')}`);
    +}
    +
    +

    设计核心模块

    +

    i18n

    +

    国际化支持,没有什么难度,根据语言参数找到对应的翻译文件,配置默认语言(英文):

    +
    import { readdirSync } from 'fs';
    +
    +const locales = readdirSync(__dirname);
    +
    +/*
    + try `zh-CN` first
    + then `zh`
    + or otherwise `default`
    + */
    +module.exports = (lang = 'default') => {
    +  let locale = locales.filter((x) => x.indexOf(lang) !== -1)[0];
    +  /* eslint import/no-dynamic-require:0,global-require:0 */
    +  if (locale !== undefined) {
    +    const file = require(`./${locale}`);
    +    return file;
    +  }
    +  const langPrefix = lang.split('-')[0];
    +  locale = locales.filter((x) => x.indexOf(langPrefix) !== -1)[0];
    +  if (locale !== undefined) {
    +    const file = require(`./${locale}`);
    +    return file;
    +  }
    +  const file = require('./default');
    +  return file;
    +};
    +
    +

    目录结构

    +
    .
    +├── default.js
    +├── index.js
    +└── zh-CN.js
    +
    +

    如有其它语言,添加对应语言文件即可。

    +

    Hosts.js 分级列表

    +

    Hosts.js 项目源码: https://github.com/js-cool/Hosts.js

    +

    特点:

    +
      +
    • 支持顶级项目
    • +
    • 支持二级目录项目
    • +
    • 目录不含有启动状态,目录下的子项目有
    • +
    • 支持排序
    • +
    +
    [
    +  {
    +    name: 'Default',
    +    order: 2,
    +    id: 'default',
    +    type: 'item',
    +    enabled: true
    +  },
    +  {
    +    namename: 'Folder',
    +    order: 1,
    +    id: 'xxx1',
    +    type: 'folder',
    +    children: [
    +      {
    +        name: 'Sub Item 2',
    +        order: 2,
    +        id: 'xxxs2',
    +        type: 'item',
    +        enabled: false
    +      },
    +      {
    +        name: 'Sub Item 1',
    +        order: 1,
    +        id: 'xxxs1',
    +        type: 'item',
    +        enabled: true
    +      },
    +      {
    +        name: 'Sub Item 4',
    +        order: 4,
    +        id: 'xxxs4',
    +        type: 'item',
    +        enabled: true
    +      },
    +      {
    +        name: 'Sub Item 3',
    +        order: 3,
    +        id: 'xxxs3',
    +        type: 'item',
    +        enabled: true
    +      }
    +    ]
    +  }
    +];
    +
    +

    排序算法

    +
      +
    1. 对顶级项目进行排序
    2. +
    3. 对子菜单项目进行排序
    4. +
    +
    const reorderItems = (arr) =>
    +  arr
    +    .sort((x, y) => (x.order - y.order > 0 ? 1 : -1))
    +    .map((i, iIndex) => {
    +      i.order = iIndex + 1;
    +      if (i.type === 'folder') {
    +        i.children = i.children
    +          .sort((x, y) => (x.order - y.order > 0 ? 1 : -1))
    +          .map((j, jIndex) => {
    +            j.order = jIndex + 1;
    +            return j;
    +          });
    +      }
    +      return i;
    +    });
    +
    +

    删除元素算法

    +
      +
    1. 默认项禁止删除
    2. +
    3. 编程过程中的异常捕获,实际操作中不会发生
    4. +
    5. 子菜单超过两个项目禁止删除
    6. +
    +
    const deleteItem = (arr, id, pid = '') => {
    +  if (id === 'default') return false;
    +  let index;
    +  if (pid === '') {
    +    index = arr.findIndex((x) => x.id === id);
    +    // 异常捕获
    +    if (index === -1) return false;
    +    // 子菜单超过两个项目禁止删除
    +    if (typeof arr[index].children === 'object' && arr[index].children.length > 1) return false;
    +    arr.splice(index, 1);
    +    return reorderItems(arr);
    +  }
    +  index = arr.findIndex((x) => x.id === pid);
    +  // 异常捕获
    +  if (index === -1) return false;
    +  arr[index].children = deleteItem(arr[index].children, id);
    +  return reorderItems(arr);
    +};
    +
    +

    添加元素算法

    +
      +
    1. 不能建立二级目录
    2. +
    3. 编程过程中的异常捕获,实际操作中不会发生
    4. +
    +
    const uuid = require('uuid');
    +const insertItem = (arr, name, pid = '', type = 'item') => {
    +  if (type === 'folder' && pid !== '') return false;
    +  const item = {
    +    name,
    +    type,
    +    order: -1,
    +    id: uuid.v4()
    +  };
    +  if (type === 'item') {
    +    item.enabled = false;
    +  } else {
    +    item.children = [];
    +  }
    +  if (pid === '') {
    +    item.order = arr.length;
    +    arr.push(item);
    +  } else {
    +    const index = arr.findIndex((x) => x.id === pid);
    +    // 异常捕获
    +    if (index === -1) return false;
    +    item.order = arr[index].length;
    +    arr[index].children.push(item);
    +  }
    +  return reorderItems(arr);
    +};
    +
    +

    位置调整算法

    +
      +
    1. Default 不能移动
    2. +
    3. 编程过程中的异常捕获,实际操作中不会发生
    4. +
    +

    上移

    +
    const moveUpItem = (arrOrigin, id, pid = '') => {
    +  if (id === 'default') return arrOrigin;
    +  const arr = reorderItems(arrOrigin);
    +  let index;
    +  if (pid === '') {
    +    index = arr.findIndex((x) => x.id === id);
    +    if (index === -1) return false;
    +    if (index - 1 === -1) return arr;
    +    arr[index].order -= 1;
    +    arr[index - 1].order += 1;
    +    return arr;
    +  }
    +  index = arr.findIndex((x) => x.id === pid);
    +  // 异常捕获
    +  if (index === -1) return false;
    +  arr[index].children = moveUpItem(arr[index].children, id);
    +  return reorderItems(arr);
    +};
    +
    +

    下移

    +
    const moveDownItem = (arrOrigin, id, pid = '') => {
    +  if (id === 'default') return arrOrigin;
    +  const arr = reorderItems(arrOrigin);
    +  let index;
    +  if (pid === '') {
    +    index = arr.findIndex((x) => x.id === id);
    +    if (index === -1) return false;
    +    if (index + 1 === arr.length) return arr;
    +    arr[index].order += 1;
    +    arr[index + 1].order -= 1;
    +    return arr;
    +  }
    +  index = arr.findIndex((x) => x.id === pid);
    +  // 异常捕获
    +  if (index === -1) return false;
    +  arr[index].children = moveUpItem(arr[index].children, id);
    +  return reorderItems(arr);
    +};
    +
    +

    新增了重命名和切换启用状态的两个方法,不再展开。

    +

    优化

    +
      +
    • 以 class 形式封装
    • +
    • 抛出简单的外部接口
    • +
    +
    /* eslint class-methods-use-this: [2, { "exceptMethods": ["_deleteItem","_moveUpItem","_moveDownItem"] }] */
    +
    +import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'fs';
    +import uuid from 'uuid';
    +import locales from '../locales';
    +
    +module.exports = class Category {
    +  constructor(lang) {
    +    this.locale = locales(lang);
    +    this.DIR_PATH = `${process.env.HOME}/.hosts.js`;
    +    this.FILE_PATH = `${this.DIR_PATH}/.category.js`;
    +    this.init();
    +  }
    +
    +  init() {
    +    const defaultData = [
    +      {
    +        name: this.locale.default,
    +        order: 1,
    +        id: 'default',
    +        type: 'item',
    +        enabled: true
    +      }
    +    ];
    +    if (!existsSync(this.DIR_PATH)) {
    +      mkdirSync(this.DIR_PATH);
    +    }
    +    if (!existsSync(this.FILE_PATH)) {
    +      this.data = defaultData;
    +    } else {
    +      const data = readFileSync(this.FILE_PATH, 'utf-8');
    +      try {
    +        this.data = JSON.parse(data);
    +      } catch (e) {
    +        this.data = defaultData;
    +      }
    +    }
    +  }
    +
    +  reorder() {
    +    this.data = this.data
    +      .sort((x, y) => (x.order - y.order > 0 ? 1 : -1))
    +      .map((i, iIndex) => {
    +        i.order = iIndex + 1;
    +        if (i.type === 'folder') {
    +          i.children = i.children
    +            .sort((x, y) => (x.order - y.order > 0 ? 1 : -1))
    +            .map((j, jIndex) => {
    +              j.order = jIndex + 1;
    +              return j;
    +            });
    +        }
    +
    +        return i;
    +      });
    +    return true;
    +  }
    +
    +  _deleteItem(arr, id) {
    +    const index = arr.findIndex((x) => x.id === id);
    +    // 异常捕获
    +    if (index === -1) return false;
    +    // 子菜单超过两个项目禁止删除
    +    if (typeof arr[index].children === 'object' && arr[index].children.length > 1) return false;
    +    arr.splice(index, 1);
    +    return arr;
    +  }
    +
    +  _moveUpItem(arr, id) {
    +    const index = arr.findIndex((x) => x.id === id);
    +    if (index === -1) return false;
    +    if (index - 1 === -1) return false;
    +    arr[index].order -= 1;
    +    arr[index - 1].order += 1;
    +    return arr;
    +  }
    +
    +  _moveDownItem(arr, id) {
    +    const index = arr.findIndex((x) => x.id === id);
    +    if (index === -1) return false;
    +    if (index + 1 === arr.length) return false;
    +    arr[index].order += 1;
    +    arr[index + 1].order -= 1;
    +    return arr;
    +  }
    +
    +  delete(id, pid = '') {
    +    if (pid === '') {
    +      const data = this._deleteItem(this.data, id);
    +      if (data === false) return false;
    +      this.data = data;
    +    } else {
    +      const index = this.data.findIndex((x) => x.id === pid);
    +      // 异常捕获
    +      if (index === -1) return false;
    +      const data = this._deleteItem(this.data[index].children, id);
    +      if (data === false) return false;
    +      this.data[index].children = data;
    +    }
    +    return this.reorder();
    +  }
    +
    +  insert(name, pid = '', type = 'item') {
    +    if (['item', 'folder'].indexOf(type) === -1) return false;
    +    if (type === 'folder' && pid !== '') return false;
    +    const item = {
    +      name,
    +      type,
    +      id: uuid.v4()
    +    };
    +    if (type === 'item') {
    +      item.enabled = false;
    +    } else {
    +      item.children = [];
    +    }
    +    if (pid === '') {
    +      item.order = this.data.length + 1;
    +      this.data.push(item);
    +    } else {
    +      const index = this.data.findIndex((x) => x.id === pid);
    +      // 异常捕获
    +      if (index === -1) return false;
    +      item.order = this.data[index].children.length + 1;
    +      this.data[index].children.push(item);
    +    }
    +    return this.reorder();
    +  }
    +
    +  moveUp(id, pid = '') {
    +    if (id === 'default') return false;
    +    let index;
    +    if (pid === '') {
    +      index = this.data.findIndex((x) => x.id === id);
    +      if (index === 1 || index === -1) return false;
    +      const data = this._moveUpItem(this.data, id);
    +      if (data === false) return false;
    +      this.data = data;
    +      return this.reorder();
    +    }
    +    index = this.data.findIndex((x) => x.id === pid);
    +    // 异常捕获
    +    if (index === -1) return false;
    +    const data = this._moveUpItem(this.data[index].children, id);
    +    if (data === false) return false;
    +    this.data[index].children = data;
    +    return this.reorder();
    +  }
    +
    +  moveDown(id, pid = '') {
    +    if (id === 'default') return false;
    +    if (pid === '') {
    +      const data = this._moveDownItem(this.data, id);
    +      if (data === false) return false;
    +      this.data = data;
    +      return this.reorder();
    +    }
    +    const index = this.data.findIndex((x) => x.id === pid);
    +    // 异常捕获
    +    if (index === -1) return false;
    +    const data = this._moveDownItem(this.data[index].children, id);
    +    if (data === false) return false;
    +    this.data[index].children = data;
    +    return this.reorder();
    +  }
    +
    +  rename(name, id, pid = '') {
    +    if (pid === '') {
    +      const index = this.data.findIndex((x) => x.id === id);
    +      // 异常捕获
    +      if (index === -1) return false;
    +      this.data[index].name = name;
    +    } else {
    +      const index = this.data.findIndex((x) => x.id === pid);
    +      // 异常捕获
    +      if (index === -1) return false;
    +      const indexChildren = this.data[index].children.findIndex((x) => x.id === id);
    +      // 异常捕获
    +      if (indexChildren === -1) return false;
    +      this.data[index].children[indexChildren].name = name;
    +    }
    +    return this.reorder();
    +  }
    +
    +  toggle(id, pid = '') {
    +    if (id === 'default') return false;
    +    if (pid === '') {
    +      const index = this.data.findIndex((x) => x.id === id);
    +      // 异常捕获
    +      if (index === -1 || !Reflect.has(this.data[index], 'enabled')) return false;
    +      this.data[index].enabled = !this.data[index].enabled;
    +    } else {
    +      const index = this.data.findIndex((x) => x.id === pid);
    +      // 异常捕获
    +      if (index === -1) return false;
    +      const indexChildren = this.data[index].children.findIndex((x) => x.id === id);
    +      // 异常捕获
    +      if (indexChildren === -1) return false;
    +      this.data[index].children[indexChildren].enabled = !this.data[index].children[indexChildren].enabled;
    +    }
    +    return true;
    +  }
    +
    +  reload() {
    +    return this.data;
    +  }
    +
    +  save() {
    +    writeFileSync(this.FILE_PATH, JSON.stringify(this.data, null, 2));
    +    return true;
    +  }
    +};
    +
    +

    该文件源码如有更新,在: https://github.com/js-cool/Hosts.js/blob/master/src/lib/category.js 上查看。

    +

    Demo

    +
    import Category from './category';
    +
    +const categories = new Category();
    +
    +// 增加目录:
    +categories.insert('目录名称', '', 'folder');
    +
    +// 增加项目:
    +categories.insert('项目名称');
    +categories.insert('项目名称', '目录 id');
    +
    +// 删除项目:
    +categories.delete('根目录项目 id');
    +categories.delete('项目 id', '目录 id');
    +
    +// 向上移动
    +categories.moveUp('根目录项目 id');
    +categories.moveUp('项目 id', '目录 id');
    +
    +// 向下移动
    +categories.moveDown('根目录项目 id');
    +categories.moveDown('项目 id', '目录 id');
    +
    +// 重命名
    +categories.rename('项目名称', '根目录项目 id');
    +categories.rename('项目名称', '项目 id', '目录 id');
    +
    +// 切换启用状态
    +categories.toggle('根目录项目 id');
    +categories.toggle('项目 id', '目录 id');
    +
    +// 保存更改到配置文件
    +categories.save();
    +
    +// 获取最新的列表数据
    +const data = categories.reload();
    +
    +console.log(JSON.stringify(data, null, 2));
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/meta/index.html b/experience/advanced/meta/index.html new file mode 100644 index 00000000..397464a6 --- /dev/null +++ b/experience/advanced/meta/index.html @@ -0,0 +1,410 @@ + + + + 元编程构造简单优雅解决方案 - 团队领袖计划 + + +

    + 元编程构造简单优雅解决方案 +

    ECMAScript 6 中引入了相关 API —— Proxy

    +

    参考文档: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy

    +

    搭配Reflect使用例子:

    +
    var loggedObj = new Proxy(obj, {
    +  set: function (target, name, value, receiver) {
    +    var success = Reflect.set(target, name, value, receiver);
    +    if (success) {
    +      console.log('property ' + name + ' on ' + target + ' set to ' + value);
    +    }
    +    return success;
    +  },
    +  get(target, name) {
    +    console.log('get', target, name);
    +    return Reflect.get(target, name);
    +  },
    +  deleteProperty(target, name) {
    +    console.log('delete' + name);
    +    return Reflect.deleteProperty(target, name);
    +  },
    +  has(target, name) {
    +    console.log('has' + name);
    +    return Reflect.has(target, name);
    +  }
    +});
    +
    +

    下面用例个示例来讲解何为优雅的元编程解决方案。

    + +

    API 接口 SDK 封装

    +

    本章节以 腾讯云/QCloud 为例。

    +

    云服务器 CVM

    +

    文档说明:https://www.qcloud.com/document/api/213/6978

    +

    请求形式:

    +
    https://cvm.api.qcloud.com/v2/index.php?
    +Action=DescribeInstances
    +&SecretId=xxxxxxx
    +&Region=gz
    +&Timestamp=1465055529
    +&Nonce=59485
    +&Signature=mysignature
    +&instanceIds.0=ins-0hm4gvho
    +&instanceIds.1=ins-8oby8q00
    +&offset=0
    +&limit=20
    +&status=2
    +&zoneId=100003
    +
    +

    传统解决方案

    +

    常规的解决方案大体如下:

    +
    class Cvm(){
    +  constructor(config){
    +    // 将配置信息传入进行初始化
    +    this.hosts = 'https://cvm.api.qcloud.com/v2/index.php';
    +  }
    +  describeInstances(options){
    +    // 查看实例列表为例
    +    return request(this.hosts,{
    +      action: 'describeInstances',
    +      param1: options.param1
    +      // 其他参数拼装
    +    }).then(result=>{
    +      return JSON.parse(result);
    +    });
    +  }
    +  method2(options){
    +    // 查看实例列表为例
    +    return request(this.hosts,{
    +      action: 'method2',
    +      param1: options.param1
    +      // 其他参数拼装
    +    }).then(result=>{
    +      return JSON.parse(result);
    +    });
    +  }
    +}
    +
    +

    如果再有其他服务,再定义 class,再封装方法。

    +

    这类处理有一个特点就是,共性很多,都是发送 HTTP 请求,获取请求结果。差异化在于:

    +
      +
    1. 域名,QCloud 的规律为 https://{服务名}.api.qcloud.com/v2/index.php
    2. +
    3. 方法名,即不同的 Action
    4. +
    5. 请求类型和参数
    6. +
    +

    简单优雅解决方案

    +
    // 引入 HTTP 请求相关封装库
    +import request from './request';
    +
    +// 列举 API 别名,包括 QCloud CVM、CDN、CDB 等所有服务
    +const SDKS = [
    +  'bm',
    +  'cdn',
    +  'cdb',
    +  'cvm',
    +  'cbs',
    +  'csec',
    +  'dayu',
    +  'lb',
    +  'monitor',
    +  'scaling',
    +  'sqlserver',
    +  'redis',
    +  'cmem',
    +  'trade',
    +  'tdsql',
    +  'vpc',
    +  'wenzhi',
    +  'yunsou'
    +];
    +
    +// 默认参数
    +const DEFAULTS = {
    +  SecretId: '',
    +  // Signature: '',
    +  Region: 'gz',
    +  Nonce: parseInt(Math.random() * 999999, 10),
    +  Timestamp: parseInt(new Date() / 1000, 10)
    +};
    +
    +const lazyLoad = (service) => (options) => {
    +  // 设置各服务的 api host
    +  const settings = {
    +    api: `https://${service}.api.qcloud.com/v2/index.php`,
    +    // 预留
    +    actions: {}
    +  };
    +  // 重要事情说三遍:
    +  // 核心代码开始
    +  // 核心代码开始
    +  // 核心代码开始
    +  return new Proxy(
    +    {},
    +    {
    +      // 创建代理
    +      // 定义 get 方法
    +      // 例子:
    +      // const obj = new Obj();
    +      // obj.prop 获取属性,用的 get 方法
    +      // obj.prop() 获取方法,用的依然是 get 方法
    +      get: (target, property) => (opts) => {
    +        // 非重要,将 Action 改为首字母大写,如 'ListRegions'
    +        const action = property.replace(property.charAt(0), property.charAt(0).toUpperCase());
    +
    +        // 拼装请求参数
    +        let params = Object.assign({}, DEFAULTS, options);
    +        params = Object.assign({ Action: property }, params, opts);
    +        // 预留了 GET/POST 自定义
    +        params.method = settings.actions[action] || 'post';
    +
    +        // 发送请求,获取请求结果返回
    +        // 由于不同接口均是 HTTP/S 方式请求,只需将对应方法封装完成,即可实现复用
    +        return request(settings.api, params);
    +      }
    +    }
    +  );
    +};
    +
    +// LazyLoad 懒加载优化性能,但对于元编程来讲收益并不太大
    +SDKS.forEach((item) => {
    +  exports[item.toUpperCase()] = lazyLoad(item);
    +});
    +
    +

    使用示例:

    +
    import { TRADE } from 'wqcloud';
    +const trade = TRADE(options);
    +
    +// ES7 Async/Await 方式
    +(async () => {
    +  const userInfo = await trade.DescribeUserInfo(params);
    +  console.log(userInfo);
    +})();
    +
    +// ES5 Promise 方式
    +trade.DescribeUserInfo(params).then((userInfo) => {
    +  console.log(userInfo);
    +});
    +
    +

    完整项目源码: https://github.com/willin/wqcloud

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/mixed-project/index.html b/experience/advanced/mixed-project/index.html new file mode 100644 index 00000000..99bf90ed --- /dev/null +++ b/experience/advanced/mixed-project/index.html @@ -0,0 +1,408 @@ + + + + 混合Web应用实践 - 团队领袖计划 + + +

    + 混合Web应用实践 +

    本项目实例代码: https://github.com/js-cool/up.js.cool

    +

    设计

    +

    项目诉求

    +

    输出:

    +
      +
    • 图表按时间展示在线状况及效率
    • +
    • 接口、图片输出当前在线状态
    • +
    +

    输入:

    +
      +
    • WRescueTime 插件获取在线行为数据
    • +
    + +

    存储设计

    +

    数据库采用MySQL,缓存采用Redis

    +

    表结构

    +
    CREATE TABLE `data` (
    +  `user` char(16) NOT NULL DEFAULT '' COMMENT '用户',
    +  `active` int(3) unsigned NOT NULL COMMENT '活跃时间(秒)',
    +  `efficiency` decimal(5,2) NOT NULL COMMENT '效率(%)',
    +  `date` int(10) unsigned NOT NULL COMMENT '数据时间(转时间戳)',
    +  KEY `whereorder` (`user`,`date`),
    +  KEY `date` (`date`)
    +) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    +
    +

    缓存结构

    +
    up:data:username
    +up:latest:username
    +
    +

    编码

    +

    初始化项目

    +
    yarn init
    +yarn add --dev eslint eslint-config-airbnb eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-import
    +
    +

    配置ESLint

    +

    开发环境配置

    +

    config/index.js

    +
    const ENV = process.env.NODE_ENV || 'dev';
    +
    +const users = require(`./users.${ENV}`);
    +const { redis, mysql, cdn } = require(`./server.${ENV}`);
    +
    +module.exports = {
    +  cdn,
    +  users,
    +  redis,
    +  mysql
    +};
    +
    +

    优化

    +

    可以用lazyload方式动态加载:

    +
    const ENV = process.env.NODE_ENV || 'dev';
    +module.exports = (config) => (() => require(`./${config}.${ENV}`))();
    +
    +

    考虑到本项目已经在实施过程中,变更改动较大,未修改。

    +

    Model

    +

    crontab/crab.js片段

    +

    业务中插入操作尽可能精简,参数最好统一,像这样的方式调用:

    +
    data.rows.forEach(async (item) => {
    +  if (operator) {
    +    // 插入数据
    +    await dataAdd(user, item);
    +  } else if (item[0] === last[0]) {
    +    operator = true;
    +    if (item[1] !== last[1]) {
    +      // 更新最后一条数据
    +      await dataUpdate(user, item);
    +    }
    +  }
    +});
    +
    +

    对应 Model 实现代码

    +

    model/data.js 片段:

    +
    const { pool, format } = require('@dwing/mysql');
    +const { mysql: mysqlOptions } = require('../config');
    +const { isEmpty } = require('../lib');
    +
    +const DB = mysqlOptions.database;
    +const TABLENAME = `${DB}.data`;
    +
    +exports.dataAdd = async (user, [date, active, , , efficiency]) => {
    +  const mysql = await pool(mysqlOptions);
    +  const sql = format('INSERT INTO ?? (user,active,efficiency,date) VALUES (?,?,?,?)', [
    +    TABLENAME,
    +    user,
    +    active,
    +    efficiency,
    +    parseInt(new Date(date) / 1000, 10)
    +  ]);
    +  const result = await mysql.query(sql);
    +  mysql.release();
    +  return isEmpty(result) ? -1 : result.affectedRows;
    +};
    +
    +exports.dataUpdate = async (user, [date, active, , , efficiency]) => {
    +  const mysql = await pool(mysqlOptions);
    +  const sql = format('UPDATE ?? SET active = ?, efficiency = ? WHERE user = ? AND date = ?', [
    +    TABLENAME,
    +    active,
    +    efficiency,
    +    user,
    +    parseInt(new Date(date) / 1000, 10)
    +  ]);
    +  const result = await mysql.query(sql);
    +  mysql.release();
    +  return isEmpty(result) ? -1 : result.affectedRows;
    +};
    +
    +

    这里主要用的是结构赋值新特性。

    +

    计划任务

    +

    采用 Later.js,类似于 Crontab

    +
    const later = require('later');
    +const { users } = require('../config');
    +const { random } = require('../lib');
    +const { lastClear, historyClear } = require('../model/data');
    +const crab = require('./crab');
    +const updateCertbot = require('./certbot');
    +
    +users.forEach(async (x) => {
    +  // 每分钟抓取用户数据
    +  await crab(x);
    +  later.setInterval(async () => {
    +    await crab(x);
    +  }, later.parse.recur().every(random(50, 70)).second());
    +});
    +
    +// 每天 0:00 清除计时器
    +later.setInterval(lastClear, later.parse.cron('0 0 */1 * * ?'));
    +
    +// 每天 1:00 清除30天前历史数据
    +later.setInterval(historyClear, later.parse.cron('0 1 */1 * * ?'));
    +
    +// 每周一 2:00 更新 certbot 证书
    +later.setInterval(updateCertbot, later.parse.cron('0 2 * * 1 ?'));
    +
    +

    待填的坑

    +

    数据采集

    +

    从上文计划任务中即可看出,每个用户都会随机产生一条任务,由于用户是写在配置文件中的固定的,所以一旦想要改为动态的(比如开放注册),这套体系就不能支持了。

    +

    所以需要一个更好的手段进行数据采集。

    +
    +

    欢迎提 ISSUE 发表自己的看法和建议。

    +
    +

    服务器渲染

    +

    项目里写了一个简单的 HTML 模板引擎,可以替换一些简单参数:

    +
    const path = require('path');
    +const { readFileSync } = require('fs');
    +const { cdn } = require('../../config');
    +
    +module.exports = (view, params = {}) => {
    +  let html = readFileSync(path.join(__dirname, `${view}.html`), 'utf8').replace(/{{cdn}}/g, cdn);
    +  Object.keys(params).forEach((key) => {
    +    html = html.replace(new RegExp(`{{${key}}}`, 'g'), params[key]);
    +  });
    +  return html;
    +};
    +
    +

    其中用到了 readFileSync,该操作可能会在 I/O 密集发生阻塞。并且每个请求均会产生 IO 操作,可以从很多方面进行进一步优化。

    +

    部分优化建议:

    +
      +
    1. 可以进行内存缓存(仅适用该项目,因为只有一个页面,根据实际项目情况考虑)
    2. +
    3. 可以通过反向代理直接访问静态 HTML 文件,参数通过异步请求带入
    4. +
    +

    路由配置

    +

    koa-router 还是 koa-route? 这是个好问题。

    +

    该项目中使用的是koa-route,原因是当时并不知道有好多种路由中间件,这个是从官方仓库中发现的。

    +

    比较了一下源码,个人感觉 koa-router 更优美,使用起来也更方便。感兴趣的同学可以尝试一下: https://github.com/alexmingoia/koa-router

    +

    测试

    +

    练手项目,测试阶段暂时忽略。有时间了再来补上。

    +

    部署

    +
    pm2 start up.config.js
    +
    +

    注意 PM2 版本使用大于 2.4,Node 版本大于 7.6.0。

    +

    P.S.

    +

    SSL 证书由 CertBot 生成。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/translate/index.html b/experience/advanced/translate/index.html new file mode 100644 index 00000000..26d12b91 --- /dev/null +++ b/experience/advanced/translate/index.html @@ -0,0 +1,297 @@ + + + + 开源项目翻译正确姿势 - 团队领袖计划 + + +

    + 开源项目翻译正确姿势 +

    日常开发中,我们经常会在 Github 上发现一些好用的新框架, 如何对这些项目文档进行翻译, 其实这个问题困扰了我很久. 这里,我总结了一些不同情况下所谓的最佳实践, 供大家参考:

    +

    独立文档项目

    +

    举例: https://github.com/graphql/graphql.github.io

    +

    GraphQL 文档的网站, 是一个独立的项目, source 分支是源码目录, master 分支(可以理解为 gh-pages 分支)是静态站点.

    +

    1. 初始化翻译项目

    +

    直接Fork该项目, 示例: https://github.com/willin/graphql.js.cool

    +

    Fork 之后可以给该项目改名, 如我换到了 graphql.js.cool 域名, 并以该域名进行命名.

    +

    然后, 将项目Clone至本地.

    +
    git clone git@github.com:willin/graphql.js.cool.git
    +cd graphql.js.cool
    +# 默认源码的分支是source, 可以新建一个分支用于翻译
    +git checkout -b cn
    +git push -u origin cn
    +
    +

    至此, 可以开始翻译工作了.

    + +

    2. 从源站更新内容

    +
    # 一次性添加
    +git remote add remote git@github.com:graphql/graphql.github.io.git
    +# 每次更新源站最新代码
    +git pull remote source
    +
    +

    .git/config文件参考:

    +
    [core]
    +    repositoryformatversion = 0
    +    filemode = true
    +    bare = false
    +    logallrefupdates = true
    +    ignorecase = true
    +    precomposeunicode = true
    +[remote "origin"]
    +    url = git@github.com:willin/graphql.js.cool.git
    +    fetch = +refs/heads/*:refs/remotes/origin/*
    +[branch "cn"]
    +    remote = origin
    +    merge = refs/heads/cn
    +[travis]
    +    slug = willin/graphql.js.cool
    +[remote "remote"]
    +    url = git@github.com:graphql/graphql.github.io.git
    +    fetch = +refs/heads/*:refs/remotes/remote/*
    +
    +

    文档包含在项目中

    +

    可能是一个一个单独的分支, 或者只是某个分支的一个目录.

    +

    vue-router项目为例, 文档位于dev分支的docs目录: https://github.com/vuejs/vue-router/tree/dev/docs

    +

    1. 初始化翻译项目

    +
    git init
    +git remote add origin xxx # 你的项目路径
    +git remote add remote git@github.com:vuejs/vue-router.git
    +# 拉取源站代码
    +git pull remote dev
    +
    +

    2. 从源站更新内容

    +
    # 每次更新源站最新代码
    +git pull remote dev
    +
    +

    注意事项

    +
      +
    • CNAME等配置文件需要替换
    • +
    • pull后可能会有冲突. 解决后再提交代码.
    • +
    +

    p.s.

    +

    优秀的中文翻译项目及推荐的未翻译项目汇总: Awesome-CN

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/vue-components/index.html b/experience/advanced/vue-components/index.html new file mode 100644 index 00000000..84aaaff2 --- /dev/null +++ b/experience/advanced/vue-components/index.html @@ -0,0 +1,273 @@ + + + + 手把手教你发布一个Vue组件 - 团队领袖计划 + + +

    + 手把手教你发布一个Vue组件 +

    0. 初始化项目

    +

    项目位于: https://github.com/willin/vchart

    +
    yarn init -y
    +
    +
    {
    +  "name": "vchart",
    +  "version": "0.0.0",
    +  "main": "index.js",
    +  "repository": "git@github.com:willin/vchart.git",
    +  "author": "Willin Wang <willin@willin.org>",
    +  "license": "MIT"
    +}
    +
    +

    初始化 NPM 包

    +
    npm publish
    +
    +

    NPM 包位于: https://www.npmjs.com/package/vchart

    +

    1. 配置 eslint, babel, webpack

    +

    注意: eslint-plugin-vue 目前仅支持到 eslint@4.3.0 版本

    +

    代码提交: https://github.com/willin/vchart/commit/69b3e923ef565b975585872fb0438b304cbdb7d4

    +

    2. 配置 dev 开发环境

    +

    用简单的http-server 运行并调试.

    +
    "scripts": {
    +  "start": "npm run prepare && http-server -c0 .",
    +  "prepare": "webpack --progress --hide-modules"
    +}
    +
    +

    代码提交: https://github.com/willin/vchart/commit/0b875fcea03e2afed9955887e0b79097d2111adb

    + +

    3. 完成组件功能并测试

    +

    4. 完善文档, 并提供演示

    +

    演示地址: https://vchart.js.cool

    +

    3/4 两步合并提交的代码: https://github.com/willin/vchart/commit/58b46ece2f19f7f5e07009dc46a71da3855c5bbf

    +

    参考资源

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/vue-webapp/index.html b/experience/advanced/vue-webapp/index.html new file mode 100644 index 00000000..607de845 --- /dev/null +++ b/experience/advanced/vue-webapp/index.html @@ -0,0 +1,454 @@ + + + + Vue + Koa 前后端分离实践 - 团队领袖计划 + + +

    + Vue + Koa 前后端分离实践 +

    配置

    +

    Webpack

    +

    vue-cli及诸多脚手架生成的项目里, 配置项非常繁琐, 结构也非常混乱, 实际上 webpack 常规配置就需要两个, 分别给开发环境和产品环境使用.

    +

    而且像 webpack-merge 这样的插件, 可以通过简单的 Object.assign[].concat 完成.

    +

    示例:

    +

    base.js 基础设置:

    +
    const path = require('path');
    +const HtmlWebpackPlugin = require('html-webpack-plugin');
    +const ExtractTextPlugin = require('extract-text-webpack-plugin');
    +
    +module.exports = {
    +  entry: path.resolve(__dirname, '../src/main.js'),
    +  output: {
    +    path: path.resolve(__dirname, '../dist'),
    +    publicPath: '/',
    +    filename: '[name].[hash].js',
    +    chunkFilename: '[id].[hash].js'
    +  },
    +  module: {
    +    rules: [
    +      {
    +        test: /\.vue$/,
    +        loader: 'vue-loader',
    +        options: {
    +          extractCSS: true
    +        }
    +      },
    +      {
    +        test: /\.js$/,
    +        loader: 'babel-loader',
    +        exclude: /node_modules/
    +      },
    +      {
    +        test: /\.(png|jpg|gif|svg)$/,
    +        loader: 'file-loader',
    +        options: {
    +          name: '[name].[ext]?[hash]'
    +        }
    +      }
    +    ]
    +  },
    +  resolve: {
    +    extensions: ['.js', '.json', '.vue'],
    +    alias: {
    +      vue$: 'vue/dist/vue.esm.js'
    +    }
    +  },
    +  performance: {
    +    hints: false
    +  },
    +  plugins: [
    +    new ExtractTextPlugin('style.css'),
    +    new HtmlWebpackPlugin({
    +      filename: path.resolve(__dirname, '../dist/index.html'),
    +      template: path.resolve(__dirname, '../index.html'),
    +      inject: true,
    +      minify: {
    +        removeComments: true,
    +        collapseWhitespace: true,
    +        removeAttributeQuotes: true
    +        // more options:
    +        // https://github.com/kangax/html-minifier#options-quick-reference
    +      },
    +      // necessary to consistently work with multiple chunks via CommonsChunkPlugin
    +      chunksSortMode: 'dependency'
    +    })
    +  ]
    +};
    +
    +

    dev 配置:

    +
    const base = require('./base');
    +
    +module.exports = Object.assign({}, base, {
    +  devtool: '#eval-source-map',
    +  devServer: {
    +    historyApiFallback: true,
    +    noInfo: true
    +  }
    +});
    +
    + +

    prod 配置:

    +
    const webpack = require('webpack');
    +const base = require('./base');
    +
    +module.exports = Object.assign({}, base, {
    +  devtool: '#source-map',
    +  devServer: {
    +    historyApiFallback: true,
    +    noInfo: true
    +  },
    +  plugins: (base.plugins || []).concat([
    +    new webpack.DefinePlugin({
    +      'process.env': {
    +        NODE_ENV: '"production"'
    +      }
    +    }),
    +    new webpack.optimize.UglifyJsPlugin({
    +      sourceMap: true,
    +      compress: {
    +        warnings: false
    +      }
    +    }),
    +    new webpack.LoaderOptionsPlugin({
    +      minimize: true
    +    })
    +  ])
    +});
    +
    +

    Babel

    +

    preset-latestpreset-2015 之类的东西, 谨慎添加. 慢慢必要性也不会太大.

    +
    module.exports = {
    +  presets: [['env', { modules: false }]],
    +  plugins: ['transform-runtime'],
    +  comments: false
    +};
    +
    +

    ESLint

    +

    这里是我用的配置:

    +
    module.exports = {
    +  root: true,
    +  env: {
    +    browser: true,
    +    es6: true,
    +    node: true
    +  },
    +  extends: ['dwing'],
    +  plugins: ['html', 'vue'],
    +  rules: {
    +    'no-new': 0,
    +    'no-bitwise': 0,
    +    'import/extensions': ['error', 'always', { js: 'never', vue: 'never' }],
    +    'import/no-extraneous-dependencies': 0
    +  },
    +  settings: {
    +    'import/resolver': {
    +      webpack: {
    +        config: './config/base.js'
    +      }
    +    }
    +  }
    +};
    +
    +

    在 vscode 下默认是无法对 .vue 文件进行 autofix 的.

    +

    需要注意其中的两个插件, 一个是eslint-plugin-html, 一个是eslint-plugin-vue, 同时要修改 vscode 的配置 eslint.validate, 参考:

    +
    // 将设置放入此文件中以覆盖默认设置
    +{
    +  "editor.tabSize": 2,
    +  "[vue]": {
    +    "editor.formatOnSave": true
    +  },
    +  "eslint.autoFixOnSave": true,
    +  "eslint.validate": [
    +    "javascript",
    +    "javascriptreact",
    +     { "language": "vue", "autoFix": true },
    +     { "language": "html", "autoFix": true }
    +  ]
    +}
    +
    +

    后端渲染

    +

    根据项目来权衡,是否需要进行服务器端渲染(SSR).

    +

    本项目中采用前后端完全分离的做法, 后端将直接透传前端相关的请求. 目前市面上大多数 devServer 都是用 express 框架做的,而实际项目中用到 express 的可能性小之又小. 找了很久 koa 相关的,都无法跑通,这里我就自己搞了一个能够在 koa 上进行开发运行的方法.

    +

    开发环境

    +

    使用 Stream PassThrough 将请求结果转发到前端 webpack-dev-server

    +
    const { PassThrough } = require('stream');
    +
    +router.get('/', (ctx) => {
    +  ctx.set('Content-Type', 'text/html');
    +  // webpack-dev-server 端口 9000
    +  ctx.body = request.get('http://localhost:9000/index.html').pipe(PassThrough());
    +});
    +
    +router.get('/(.*)', async (ctx) => {
    +  const path = ctx.path.split('.').reverse();
    +  if (path.length > 0) {
    +    const type = path[0];
    +    switch (type) {
    +      case 'css': {
    +        ctx.set('Content-Type', 'text/css');
    +        break;
    +      }
    +      case 'js': {
    +        ctx.set('Content-Type', 'text/javascript');
    +        break;
    +      }
    +      case 'jpg': {
    +        ctx.set('Content-Type', 'image/jpeg');
    +        break;
    +      }
    +      case 'png': {
    +        ctx.set('Content-Type', 'image/png');
    +        break;
    +      }
    +      default: {
    +        ctx.set('Content-Type', 'text/plain');
    +      }
    +    }
    +  }
    +  ctx.body = request.get(`http://localhost:9000${ctx.path}`).pipe(PassThrough());
    +});
    +
    +

    唯一的不足就是, PassThough 默认的 mime 是 application/octet-stream 需要手动替换头信息.

    +

    产品环境

    +

    koa-send 就可以满足:

    +
    const send = require('koa-send');
    +
    +router.get('/(.*)', async (ctx) => {
    +  try {
    +    await send(ctx, '/index.html', { root: path.resolve(__dirname, '../dist') });
    +  } catch (e) {}
    +});
    +router.get('/(.*)', async (ctx) => {
    +  try {
    +    await send(ctx, ctx.path, { root: path.resolve(__dirname, '../dist') });
    +  } catch (e) {}
    +});
    +
    +
    +

    项目源码: https://github.com/willin/koa-api-logger-ui

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/webapp-proxy/index.html b/experience/advanced/webapp-proxy/index.html new file mode 100644 index 00000000..4b4f5356 --- /dev/null +++ b/experience/advanced/webapp-proxy/index.html @@ -0,0 +1,451 @@ + + + + 基于 API 快速搭建前后分离的项目 - 团队领袖计划 + + +

    + 基于 API 快速搭建前后分离的项目 +

    以我们目前的开放平台为例。

    +

    Sandbox(沙盒)的在线文档可以在: https://stagingdoc.airdwing.com/ 找到。

    +

    Node.js 版本 SDK:https://github.com/AirDwing/node-airx-sdk

    +

    SDK 使用

    +

    后端接口采用@airx/sdk来完成AirX Open API的反向代理.

    +
    const SDK = require('@airx/sdk');
    +
    +const sdk = new SDK({
    +  SecretId: 'xxxx',
    +  SecretKey: 'xxxx',
    +  // 访问的域名:
    +  Domain: 'staging.airdwing.com',
    +  // 是否启用HTTPS:
    +  Secure: true
    +});
    +
    +(async () => {
    +  const result = await sdk.get('/user/check', {
    +    username: '13212341234'
    +  });
    +  console.log(result);
    +})();
    +
    +

    前端请求参数

    +

    签名相关参数

    +

    签名相关参数不用通过前端传递,防止 AK/SK 的泄露,签名交给Node.js后端反代应用程序处理,所以以下几个签名相关参数不用传递:

    +
      +
    • Nonce
    • +
    • SecretId
    • +
    • Signature
    • +
    • SignatureMethod
    • +
    • Timestamp
    • +
    +

    登录 Auth Token

    +

    由于反代应用程序支持 Cookie Session, 所以前端不用存储 Auth Token,也免去了 Auth Token 被截获的风险.所以如果接口需要以下参数,不用传递:

    +
      +
    • auth
    • +
    +

    登录设备相关参数

    +

    每个会话都会生成一个随机唯一的模拟登录设备 id, 如果接口需要以下参数, 不用传递:

    +
      +
    • guid
    • +
    • device
    • +
    +

    但需要注意的是, 你需要调用 /guid 接口来查询本次会话的 guid 并进行登录设备绑定.

    +

    返回结果如下:

    +
    {
    +  status: 1,
    +  data: {
    +    guid: 'xxxx'
    +  }
    +}
    +
    +

    项目目录结构

    +
      +
    • server/ 服务器后端源码目录
    • +
    • app/ 前端应用源码目录
    • +
    • dist/ 前端应用通过webpack等工具进行打包压缩, 将静态文件存放的目录
    • +
    +

    建议的 dist 目录结构

    +
      +
    • index.html
    • +
    • 404.html 和 403,500... 等其他相关错误的 html
    • +
    • static/ 文件目录,或分类目录存放 css/js/图片等静态资源
    • +
    + +

    核心代码

    +

    实现前后端分离

    +

    位于:server/server.js

    +
    app.use(async (ctx, next) => {
    +  ctx.api = await swagger();
    +  const path = ctx.api.paths[ctx.path];
    +  // ! 仅供开发测试, 允许跨域操作很危险
    +  if (ENV === 'development') {
    +    ctx.set('Access-Control-Allow-Origin', '*');
    +  }
    +  if (path === undefined) {
    +    // 前后端分离, 处理前端相关静态文件
    +    try {
    +      await send(ctx, ctx.path, { root: `${__dirname}/../dist` });
    +    } catch (err) {
    +      ctx.status = 404;
    +      // 注意要添加 404.html 到 dist 目录
    +      // await send(ctx, '/404.html', { root: `${__dirname}/../dist` });
    +    }
    +    return;
    +  }
    +  await next();
    +});
    +
    +

    处理接口反向代理

    +

    位于:server/server.js

    +
    app.use(async (ctx) => {
    +  // 提供 guid 查询接口
    +  if (ctx.path === '/guid') {
    +    let guid = ctx.session.guid;
    +    if (isEmpty(guid)) {
    +      guid = uuid();
    +      ctx.session.guid = guid;
    +    }
    +    ctx.status = 200;
    +    ctx.body = { status: 1, data: { guid } };
    +    return;
    +  }
    +  // 处理后端接口
    +  // 封装sdk请求
    +  if (ctx.path === '/upload') {
    +    // 处理上传
    +    await upload(ctx);
    +  } else {
    +    // 处理其他接口
    +    await others(ctx);
    +  }
    +});
    +
    +

    从远程 Swagger 取得参数信息

    +

    位于:server/lib/swagger.js

    +
    const getSwagger = async () => {
    +  const result = await request({
    +    method: 'GET',
    +    url: apiOptions.doc,
    +    timeout: 5000
    +  });
    +  const paths = result.paths;
    +  const app = {
    +    host: result.host,
    +    paths: Object.keys(paths).reduce((p, x) => {
    +      /* eslint no-param-reassign:0 */
    +      const method = Object.keys(paths[x])[0];
    +      p[x] = paths[x][method].parameters.map((t) => t.name);
    +      return p;
    +    }, {})
    +  };
    +  return app;
    +};
    +
    +module.exports = async () => {
    +  let app = await redis.get('app');
    +  if (isEmpty(app)) {
    +    app = await getSwagger();
    +    await redis.set('app', app);
    +  }
    +  return app;
    +};
    +
    +

    通过 Swagger 配置文件可以将接口列表,及各个接口需要的参数,以便于后边再接口调用的时候有针对性的处理参数。

    +

    处理普通接口请求

    +

    位于:server/handler/others.js

    +
    module.exports = async (ctx) => {
    +  const method = ctx.request.method.toLowerCase();
    +  const receivedParams = method === 'get' ? ctx.query : await parse(ctx.req);
    +
    +  const sdk = new SDK({
    +    SecretId: apiOptions.ak,
    +    SecretKey: apiOptions.sk,
    +    Domain: ctx.api.host,
    +    Secure: apiOptions.scheme === 'https'
    +  });
    +
    +  // 处理请求参数
    +  const params = ctx.api.paths[ctx.path];
    +  if (params.indexOf('auth') !== -1) {
    +    // 处理需要 登录 的接口
    +    const auth = ctx.session.auth;
    +    if (isEmpty(auth)) {
    +      ctx.status = 200;
    +      ctx.body = { status: 0, code: 401 };
    +      return;
    +    }
    +    const ttl = ~~ctx.session.ttl;
    +    // 处理登录超时(1小时),提前10分钟重新获取auth
    +    if (ttl - getTimestamp() < 600) {
    +      const tmpParams = JSON.parse(ctx.session.params);
    +      const login = await sdk.post('/user/login', tmpParams);
    +      const loginResult = doLogin(ctx, login, tmpParams);
    +      // 密码被修改等无法登录
    +      if (loginResult === -1) {
    +        ctx.status = 200;
    +        ctx.body = { status: 0, code: 401 };
    +        return;
    +      }
    +    }
    +
    +    receivedParams.auth = auth;
    +  }
    +
    +  if (params.indexOf('guid') !== -1) {
    +    // 处理需要 guid 的接口
    +    let guid = ctx.session.guid;
    +    if (isEmpty(guid)) {
    +      guid = uuid();
    +      ctx.session.guid = guid;
    +    }
    +    receivedParams.guid = guid;
    +  }
    +
    +  if (params.indexOf('device') !== -1) {
    +    // 处理需要登录设备名称的接口
    +    receivedParams.device = 'AirX网页版';
    +  }
    +
    +  if (params.indexOf('password') !== -1) {
    +    // 处理需要 authcode加密 的接口
    +    receivedParams.key = randStr(6);
    +    receivedParams.passwod = encode(receivedParams.passwod, receivedParams.key);
    +  }
    +
    +  const result = await sdk[method](ctx.path, receivedParams);
    +  // 记录登录信息
    +  if (ctx.path === '/user/login') {
    +    doLogin(ctx, result, receivedParams);
    +  }
    +  ctx.status = 200;
    +  ctx.body = result;
    +};
    +
    +

    该实例代码可以在: https://github.com/AirDwing/node-airx-webapp 找到。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/advanced/webpack-server/index.html b/experience/advanced/webpack-server/index.html new file mode 100644 index 00000000..8f16f8e2 --- /dev/null +++ b/experience/advanced/webpack-server/index.html @@ -0,0 +1,298 @@ + + + + 服务器端代码打包 - 团队领袖计划 + + +

    + 服务器端代码打包 +

    环境变量

    +

    之前,我们在项目里会经常使用 process.env.NODE_ENV, 但这个变量对于 webpack打包是有影响的, 在 production 的时候是有优化的.

    +

    所以, 我们将改用其他的环境变量来区别:

    +
    new webpack.DefinePlugin({
    +  'process.env.NODE_ENV': '"production"',
    +  'process.env.API_ENV': `"${process.env.API_ENV || 'development'}"`
    +});
    +
    +

    像这样, NODE_ENV 始终为 production.

    +

    而我们实际开发/产品环境, 用 process.env.API_ENV 变量来使用(由于该项目是一个 koa 接口服务项目, 所以这样进行命名, 可以改成任意的, 你开心就好).

    + + +

    动态配置打包

    +

    注意

    +

    我们以前在 node.js 后端项目中, 动态配置加载一般是这样写:

    +
    const ENV = process.env.NODE_ENV || 'development';
    +// eslint-disable-next-line import/no-dynamic-require
    +const options = require(`./_${ENV}`);
    +
    +module.exports = options;
    +
    +

    为了提高阅读性, 和可能存在ENV的复用, 我们会单独定义一个变量.

    +

    在 webpack 打包的项目中直接这样做的话, 会产生一个问题. 比如我现在有多个配置:

    +
      +
    • _develpment.js
    • +
    • _test.js
    • +
    • _production.js
    • +
    • _staging.js
    • +
    +

    即便我传入的当前环境为 development, 依然所有的配置文件会被全部打包进来(只是永远不会被执行). 那么这样的话, 就存在敏感信息泄露的风险.

    +

    正确的姿势应该是这样的:

    +

    config/index.js

    +
    // eslint-disable-next-line import/no-dynamic-require
    +const options = require(`./_${process.env.API_ENV || 'development'}`);
    +
    +module.exports = options;
    +
    +

    模块化打包

    +

    比如, 我在项目中有很多个模块, 处于负载均衡的需求, 或者是对于客户定制模块化产品的需求, 我们需要分模块进行打包, 避免其他模块(永远不会被执行的)被打包进 webpack bundle.

    +
    // config/_development.js
    +exports.enabledModules = ['user', 'demo'];
    +// 可能 src 目录下 还有其他模块目录, 如 'manage' 等
    +
    +

    在服务端加载的时候, 是这样子的:

    +
    // src/server.js
    +// 动态加载启用的模块
    +enabledModules.forEach((mod) => {
    +  /* eslint-disable global-require,import/no-dynamic-require */
    +  const routes = require(`./${mod}/route`);
    +  routes.middleware() |> app.use;
    +});
    +
    +

    那么就需要 ContextReplacementPlugin 插件来支持了.

    +
    new webpack.ContextReplacementPlugin(/src/, new RegExp(`^./(${enabledModules.join('|')})/.*$`));
    +
    +

    进阶使用

    +

    比如,src目录下除了各个模块的目录, 还有一些通用方法类,钩子的目录, 如: libhook. 这两个目录是可能被其他子模块共同引用的. 在插件正则中修改:

    +
    new webpack.ContextReplacementPlugin(/src/, new RegExp(`^./(lib|hook|${enabledModules.join('|')})/.*$`));
    +
    +

    压缩代码, 并添加 source-map 支持

    +

    UglifyjsUglify-es 其实对于服务器端代码打包并不友好, 可能会导致打包的失败, 用 babel-minify-webpack-plugin 插件来替代.

    +

    配合 source-map-support 插件来支持源码的问题定位.

    +
    +

    示例项目源码: https://github.com/AirDwing/webpack-server-bundle

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/azure/iot-hub-route/index.html b/experience/azure/iot-hub-route/index.html new file mode 100644 index 00000000..a0e0892e --- /dev/null +++ b/experience/azure/iot-hub-route/index.html @@ -0,0 +1,323 @@ + + + + Azure IoT Hub 路由开发指南 - 团队领袖计划 + + +

    + Azure IoT Hub 路由开发指南 +

    本章主要讲解:

    +
      +
    • 如何使用 eventhub 创建路由
    • +
    • 如何将一条设备消息同时传入两个路由进行不同的处理
    • +
    +

    概念讲解

    +
      +
    • 事件中心(Event Hubs): 用于服务器端侦听并处理的 EventHub 终结点
    • +
    • 终结点(IOT Hub): 关联到 Event Hubs 中的事件中心
    • +
    • 路由(IOT Hub): 关联到 IOT Hub 中的终结点, 处理路由分发的主要配置环节
    • +
    +

    在 Azure 中创建并配置路由相关的基础服务

    +

    首先需要分别创建 IOT Hub 和 EventHubs.

    + +

    1. 创建 EventHubs 事件中心

    +

    eventhub

    +

    2. 创建 IOT Hub 终结点

    +

    endpoint

    +

    注意这里, 状态 初始不显示, 首次消息通讯成功后再来这里看应该会变.

    +

    系统可能会存在这样的 Bug, 怎么也收不到消息. 这里的状态就会一直不显示:

    +

    err

    +

    像这样的情况发生的时候, 删除路由,删除终结点,删除事件中心, 重头再来.

    +

    3. 配置路由

    +

    route

    +

    仔细看上图, 两个路由的查询条件一样, 但分别放进 test/test2 两个不同的终结点.

    +

    示例代码

    +

    服务器端

    +
    // eventhub.js
    +const EventHubClient = require('azure-event-hubs').Client;
    +
    +const getPartitionIds = async (client) => {
    +  const partitionIds = await client.getPartitionIds();
    +  return partitionIds;
    +};
    +
    +const defaultErrorHandler = async (err) => {
    +  console.error(err);
    +};
    +
    +const defaultMessageHandler = (message) => {
    +  console.log(message.body);
    +  console.log(message.body.toString());
    +};
    +
    +const createReceiver = async ({ connStr = '', messageHandler = defaultMessageHandler } = {}, errorHandler = defaultErrorHandler) => {
    +  const client = EventHubClient.fromConnectionString(connStr);
    +  await client.open();
    +  const partitionIds = await getPartitionIds(client);
    +  partitionIds.forEach(async (partitionId) => {
    +    const receiver = await client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() });
    +    receiver.on('errorReceived', async (err) => {
    +      if (err.transport && err.transport.name === 'AmqpProtocolError') {
    +        console.log(`Restart #${partitionId}`);
    +        await createReceiver({ connStr, errorHandler, messageHandler });
    +      } else {
    +        await errorHandler(err);
    +      }
    +    });
    +    receiver.on('message', messageHandler);
    +  });
    +};
    +
    +module.exports = createReceiver;
    +
    +
    // server.js
    +const receiver = require('./eventhub');
    +
    +(async () => {
    +  await receiver({
    +    connStr: 'test事件中心的连接',
    +    messageHandler: (msg) => {
    +      console.log('test');
    +      console.log(msg.body);
    +    }
    +  });
    +  await receiver({
    +    connStr: 'test2事件中心的连接',
    +    messageHandler: (msg) => {
    +      console.log('test2');
    +      console.log(msg.body);
    +    }
    +  });
    +})();
    +
    +

    客户端模拟消息发送

    +

    参考官方的示例: https://github.com/azure/azure-iot-sdk-node/blob/master/device/samples/simple_sample_device.js#L44

    +

    注意第 44 行位置, 下面添加一行, 加入路由属性

    +
    message.properties.add('route', 'tt');
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/azure/iot-hub/index.html b/experience/azure/iot-hub/index.html new file mode 100644 index 00000000..530f50de --- /dev/null +++ b/experience/azure/iot-hub/index.html @@ -0,0 +1,461 @@ + + + + Azure IoT Hub开发指南 - 团队领袖计划 + + +

    + Azure IoT Hub开发指南 +

    !> IOT Hub 应用实际开发过程中的一些注意细节

    +

    资源:

    + +

    简单发送接收示例

    +

    1. 注册设备

    +
    const iothub = require('azure-iothub');
    +
    +const registry = iothub.Registry.fromConnectionString('[connectionString]');
    +
    +const device = new iothub.Device(null);
    +device.deviceId = '[deviceId]';
    +
    +function printDeviceInfo(err, deviceInfo, res) {
    +  if (deviceInfo) {
    +    console.log(JSON.stringify(deviceInfo, null, 2));
    +    console.log(`Device id: ${deviceInfo.deviceId}`);
    +    console.log(`Device key: ${deviceInfo.authentication.symmetricKey.primaryKey}`);
    +  }
    +}
    +
    +// 删除设备 registry.delete(deviceId, (err, deviceInfo, res) => {});
    +registry.create(device, (err, deviceInfo, res) => {
    +  if (err) {
    +    registry.get(device.deviceId, printDeviceInfo);
    +  }
    +  if (deviceInfo) {
    +    printDeviceInfo(err, deviceInfo, res);
    +  }
    +});
    +
    + +

    2. 模拟设备发送消息

    +
    const clientFromConnectionString = require('azure-iot-device-mqtt').clientFromConnectionString;
    +const Message = require('azure-iot-device').Message;
    +
    +const connectionString = 'HostName=[修改连接主机];DeviceId=[deviceID];SharedAccessKey=[连接密钥]';
    +
    +const client = clientFromConnectionString(connectionString);
    +
    +function printResultFor(op) {
    +  return function printResult(err, res) {
    +    if (err) console.log(`${op} error: ${err.toString()}`);
    +    if (res) console.log(`${op} status: ${res.constructor.name}`);
    +  };
    +}
    +
    +const connectCallback = function (err) {
    +  if (err) {
    +    console.log(`Could not connect: ${err}`);
    +  } else {
    +    console.log('Client connected');
    +
    +    // Create a message and send it to the IoT Hub every second
    +    setInterval(() => {
    +      const windSpeed = 10 + Math.random() * 4;
    +      const data = JSON.stringify({ deviceId: 'myFirstNodeDevice', windSpeed });
    +      const message = new Message(data);
    +      console.log(`Sending message: ${message.getData()}`);
    +      client.sendEvent(message, printResultFor('send'));
    +    }, 1000);
    +  }
    +};
    +
    +client.open(connectCallback);
    +
    +

    3. 服务器端接收消息

    +
    const EventHubClient = require('azure-event-hubs').Client;
    +
    +const connectionString = 'HostName=[修改连接主机];SharedAccessKeyName=iothubowner;SharedAccessKey=[修改连接密钥]';
    +
    +const printError = function (err) {
    +  console.log(err.message);
    +};
    +
    +const printMessage = function (message) {
    +  console.log('Message received: ');
    +  console.log(JSON.stringify(message.body));
    +  Object.getOwnPropertyNames(message).forEach((x) => {
    +    console.log(x, message[x]);
    +  });
    +  console.log('');
    +};
    +
    +const client = EventHubClient.fromConnectionString(connectionString);
    +
    +client
    +  .open()
    +  .then(client.getPartitionIds.bind(client))
    +  .then((partitionIds) =>
    +    partitionIds.map((partitionId) =>
    +      client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() }).then((receiver) => {
    +        console.log(`Created partition receiver: ${partitionId}`);
    +        receiver.on('errorReceived', printError);
    +        receiver.on('message', printMessage);
    +      })
    +    )
    +  )
    +  .catch(printError);
    +
    +

    注意:

    +
      +
    • 客户端传的properties,在消息体中是message.applicationProperties
    • +
    • startAfterTimestartAfterOffset参数来决定启动时间, 可用记录上一次消息的offset/enqueued-time来保证中断重启能够继续从未处理的消息开始读取
    • +
    • message包含的属性如下:
    • +
    +
    ['partitionKey', 'body', 'enqueuedTimeUtc', 'offset', 'properties', 'applicationProperties', 'sequenceNumber', 'annotations', 'systemProperties'];
    +
    +

    消息体示例:

    +
    Message received:
    +partitionKey undefined
    +body { deviceId: 'myFirstNodeDevice', windSpeed: 10.51685587945142 }
    +enqueuedTimeUtc 2017-06-13T01:21:02.519Z
    +offset 73240
    +properties undefined
    +applicationProperties { asdf: 'asdfz' }
    +sequenceNumber 182
    +annotations { 'x-opt-sequence-number': 182,
    +  'x-opt-offset': '73240',
    +  'x-opt-enqueued-time': 2017-06-13T01:21:02.519Z,
    +  'iothub-connection-device-id': 'myFirstNodeDevice',
    +  'iothub-connection-auth-method': '{ "scope": "device", "type": "sas", "issuer": "iothub" }',
    +  'iothub-connection-auth-generation-id': 'xxxxxxx',
    +  'iothub-enqueuedtime': 2017-06-13T01:21:02.786Z,
    +  'iothub-message-source': 'Telemetry' }
    +systemProperties undefined
    +
    +

    配置路由(需要 Event Hubs)

    +

    1. 创建 Event Hubs

    +

    2. 从事件中心创建实体

    +

    eventhubs-entities

    +

    3. 获取连接字符串

    +

    点击进入已创建的实体

    +

    eventhubs-key

    +

    不要从别处获得连接字符串,因为可能无法连接. 最终获得的连接字符串应当包含EntityPath字段,类似:

    +
    Endpoint=sb://xxxx.servicebus.chinacloudapi.cn/;SharedAccessKeyName=iothubroutes_xxxx;SharedAccessKey=xxxx;EntityPath=xxxx
    +
    +

    4. 创建 Endpoint

    +

    iothub-endpoints

    +

    将 Event Hubs 里的事件关联到 IoT Hub

    +

    5. 创建路由

    +

    iothub-route

    +

    示例代码

    +

    1. 修改刚才的发送示例

    +
    const clientFromConnectionString = require('azure-iot-device-mqtt').clientFromConnectionString;
    +const Message = require('azure-iot-device').Message;
    +
    +const connectionString = 'HostName=[修改连接主机];DeviceId=[deviceID];SharedAccessKey=[连接密钥]';
    +
    +const client = clientFromConnectionString(connectionString);
    +
    +function printResultFor(op) {
    +  return function printResult(err, res) {
    +    if (err) console.log(`${op} error: ${err.toString()}`);
    +    if (res) console.log(`${op} status: ${res.constructor.name}`);
    +  };
    +}
    +
    +const connectCallback = function (err) {
    +  if (err) {
    +    console.log(`Could not connect: ${err}`);
    +  } else {
    +    console.log('Client connected');
    +
    +    // Create a message and send it to the IoT Hub every second
    +    setInterval(() => {
    +      const windSpeed = 10 + Math.random() * 4;
    +      const data = JSON.stringify({ deviceId: 'myFirstNodeDevice', windSpeed });
    +      const message = new Message(data);
    +      // 随机发送到路由或默认事件上
    +      if (Math.round(Math.random()) === 1) {
    +        message.properties.add('route', 'test');
    +      }
    +      console.log(`Sending message: ${message.getData()}`);
    +      client.sendEvent(message, printResultFor('send'));
    +    }, 1000);
    +  }
    +};
    +
    +client.open(connectCallback);
    +
    +

    2. IoT Hub 侦听启动

    +

    无需修改,直接启动

    +

    3. Event Hubs 侦听启动

    +

    复制 IoT Hub 侦听源码,修改连接字符串:

    +
    const EventHubClient = require('azure-event-hubs').Client;
    +
    +// const connectionString = 'HostName=[修改连接主机];SharedAccessKeyName=iothubowner;SharedAccessKey=[修改连接密钥]';
    +const connectionString =
    +  'Endpoint=[sb://修改连接主机.servicebus.chinacloudapi.cn/];SharedAccessKeyName=[修改连接策略];SharedAccessKey=[x修改连接密钥];EntityPath=[事件实体]';
    +
    +const printError = function (err) {
    +  console.log(err.message);
    +};
    +
    +const printMessage = function (message) {
    +  console.log('Message received: ');
    +  console.log(JSON.stringify(message.body));
    +  console.log(message);
    +  console.log('');
    +};
    +
    +const client = EventHubClient.fromConnectionString(connectionString);
    +
    +client
    +  .open()
    +  .then(client.getPartitionIds.bind(client))
    +  .then((partitionIds) =>
    +    partitionIds.map((partitionId) =>
    +      client.createReceiver('$Default', partitionId, { startAfterTime: Date.now() }).then((receiver) => {
    +        console.log(`Created partition receiver: ${partitionId}`);
    +        receiver.on('errorReceived', printError);
    +        receiver.on('message', printMessage);
    +      })
    +    )
    +  )
    +  .catch(printError);
    +
    +

    测试结果

    +
      +
    • 发送到默认路由的,只能被 IoT Hub 侦听应用捕获.
    • +
    • 发送到刚才配置的测试路由的,只能被 Event Hubs 侦听应用捕获.
    • +
    +

    至此,完成路由转发.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/azure/storage/index.html b/experience/azure/storage/index.html new file mode 100644 index 00000000..aa7ec896 --- /dev/null +++ b/experience/azure/storage/index.html @@ -0,0 +1,308 @@ + + + + Azure Blob文件上传 - 团队领袖计划 + + +

    + Azure Blob文件上传 +

    azure-storage 官方文档: http://azure.github.io/azure-storage-node/

    +

    建立连接

    +

    有 3 种方式(文档中未提及):

    +

    1. 通过环境变量

    +
    AZURE_STORAGE_CONNECTION_STRING="valid storage connection string" node app.js
    +
    +

    应用程序内:

    +
    const azure = require('azure-storage');
    +const blobService = azure.createBlobService();
    +// code here
    +
    + +

    2.连接字符串

    +
    const azure = require('azure-storage');
    +const blobService = azure.createBlobService('connectionString'); // 类似: DefaultEndpointsProtocol=https;AccountName=*****;AccountKey=*****;EndpointSuffix=*****.core.chinacloudapi.cn
    +// code here
    +
    +

    3.账号+密钥

    +
    const azure = require('azure-storage');
    +const blobService = azure.createBlobService('storageAccount', 'storageAccessKey', 'storageHost');
    +// code here
    +
    +

    上传示例

    +

    因为 POST 请求接收到的大部分是 Stream.所以采用 Sream 的方式上传.

    +
    // azure.js
    +const azure = require('azure-storage');
    +const { getDefer } = require('@dwing/common');
    +
    +const blobService = azure.createBlobService('accountName', 'accessKey', 'host');
    +
    +exports.createBlockBlobFromStream = (container, filename, blob) => {
    +  const deferred = getDefer();
    +  blob.on('error', (err) => {
    +    deferred.reject(err);
    +  });
    +  blob.pipe(blobService.createWriteStreamToBlockBlob(container, filename));
    +  blob.on('end', () => {
    +    deferred.resolve(1);
    +  });
    +  return deferred.promise;
    +};
    +
    +

    测试代码:

    +
    // demo.js
    +const { createBlockBlobFromStream } = require('./azure');
    +const fs = require('fs');
    +const path = require('path');
    +
    +const stream = fs.createReadStream(path.join(__dirname, '/testfile'));
    +
    +(async () => {
    +  const result = await createBlockBlobFromStream('container', 'filename', stream);
    +  console.log(result);
    +})();
    +
    +

    在 AirX 项目中的实际使用:

    +

    https://github.com/AirDwing/node-airx-sdk

    +
    const SDK = require('@airx/sdk');
    +const fs = require('fs');
    +
    +const sdk = new SDK({
    +  SecretId: 'xxxx',
    +  SecretKey: 'xxxx'
    +});
    +
    +(async () => {
    +  const result = await sdk.upload({
    +    auth: 'xxxx',
    +    type: 'orgverify',
    +    file: fs.createReadStream('PATH/TO/xxx.jpg') // 注意这里, 本地文件可以用 path.join 拼装地址,或者直接用Stream
    +  });
    +  console.log(result);
    +})();
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/azure/web-app/index.html b/experience/azure/web-app/index.html new file mode 100644 index 00000000..0579b44a --- /dev/null +++ b/experience/azure/web-app/index.html @@ -0,0 +1,274 @@ + + + + Azure Node.js WebApp - 团队领袖计划 + + +

    + Azure Node.js WebApp +

    !> 对官方文档一些需要额外注意的细节整理

    +

    在 Azure App Service 中创建 Node.js Web 应用

    +

    注意事项

    +

    1. 启动项 npm start

    +

    必须以node命令执行,且必须以node命令打头,如:

    +
    "scripts": {
    +  "start": "node PATH/app.js"
    +}
    +
    +

    不能以cli工具执行,像这样的是无法执行的:

    +
    "scripts": {
    +  "start": "gitbook serve"
    +}
    +
    +

    还有这样:

    +
    "scripts": {
    +  "start": "NODE_ENV=production node PATH/app.js"
    +}
    +
    + +

    2. 不能指定端口号

    +
    app.listen(3000); // 抱歉,发布后无法访问
    +
    +

    必须引用process.env.PORT,像这样写:

    +
    app.listen(process.env.PORT || 3000);
    +// 部署后传入绑定的PORT类似: \\.\pipe\69b6d648-e61e-4da2-9de5-fb797348d3fa
    +
    +

    环境变量配置

    +

    NODE_ENV 或者其他环境变量的配置位于:

    +
    +

    WebApp -> 应用程序设置 -> 应用设置

    +
    +

    +

    指定 node/npm 版本

    +

    package.json中添加:

    +
    "engines": {
    +  "node": ">= 8.0.0",
    +  "npm": ">= 5.0.0"
    +}
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/design/architecture/index.html b/experience/design/architecture/index.html new file mode 100644 index 00000000..3ab0d9de --- /dev/null +++ b/experience/design/architecture/index.html @@ -0,0 +1,261 @@ + + + + 系统架构设计 - 团队领袖计划 + + +

    + 系统架构设计 +

    核心思想原则

    +

    分治法

    +

    即分而治之。

    +

    将庞大的计算、存储压力向下级分摊。又可以看做是去中心化的一种实践方式。

    +

    数据中心只承担一些核心数据的存储工作;每个服务器都可以存储部分非通用的数据,承担部分的计算及负载压力。下级路由、智能终端设备、智能移动设备等,都可以分摊服务器的压力。

    + +

    高内聚,低耦合

    +

    耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

    +

    **对外低耦合,对内**高内聚

    +

    有个例子很容易明白:

    +
    +

    一个程序有 50 个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他 49 个函数都需要做修改,这就是高耦合的后果。一旦你理解了它,你编写概要设计的时候设计类或者模块自然会考虑到“高内聚,低耦合”。

    +
    +
      +
    1. 耦合、内聚的评估标准是**强度**,耦合越弱越好,内聚越强越好;
    2. +
    3. 所谓**过度**指的是由于错误理解导致的效果相反的设计;
    4. +
    5. 耦合指的模块之间的关系,最弱的耦合设计是通过一个主控模块来协调 n 个模块之间的运作。还是举一个我举过的例子:客户要求在界面上增加一个字段,你的项目要修改几个地方呢?如果你只要修改项目文档,那么你的开发构架就是最低强度的耦合,而这种设计 成熟的开发团队都已经做到了,他们使用开发工具通过项目模型驱动数据库和各层次的代码,而不是直接修改那些代码;
    6. +
    7. 内聚指的是模块内部的功能,最强的内聚就是功能单一到不能拆分,也就是原子化;
    8. +
    9. 所以**强内聚和弱耦合是相辅相成的,一个良好的设计是由若干个强内聚模块以弱耦合的方式组装起来的。**
    10. +
    +

    前后端分离

    +

    参考资料:

    + +

    注意点: 前后端分离不单指 Web 的前后端,也包括客户端(前)和服务器(后)的分离。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/experience/design/chart.png b/experience/design/chart.png similarity index 100% rename from static/experience/design/chart.png rename to experience/design/chart.png diff --git a/static/experience/design/er.png b/experience/design/er.png similarity index 100% rename from static/experience/design/er.png rename to experience/design/er.png diff --git a/static/experience/design/flow.png b/experience/design/flow.png similarity index 100% rename from static/experience/design/flow.png rename to experience/design/flow.png diff --git a/static/experience/design/mind.png b/experience/design/mind.png similarity index 100% rename from static/experience/design/mind.png rename to experience/design/mind.png diff --git a/experience/design/product/index.html b/experience/design/product/index.html new file mode 100644 index 00000000..64107956 --- /dev/null +++ b/experience/design/product/index.html @@ -0,0 +1,254 @@ + + + + 产品设计 - 团队领袖计划 + + +

    + 产品设计 +

    核心思想原则

    +

    安全 > 并发性能 > 用户体验(UE) > 用户界面(UI)

    +

    这里强调一下并发性能,重于用户体验。原因很简单,因为并发性能直接导致了对服务器硬件环境的要求,所以可视为并发性能即归于成本。没有项目、产品可以不计成本去完善用户体验。

    +

    最简化可实行产品(MVP)原则

    +

    专注一个突破点。不盲目搞大。

    +

    冰冻三尺非一日之寒,一口吃不成胖子。所有庞大的系统,都是由一个个小的子系统逐步演化而来。

    +

    明确受众用户,明确核心功能,快速迭代。

    + +

    用户体验设计经验心得

    +

    体验重心不在于整体感觉,而在于细节处理

    +

    Image

    +

    显示密码按钮逻辑颠倒,像这种问题不仔细看可能都无法察觉。

    +

    弹窗中包含右上角关闭按钮,中间的取消按钮,以及屏幕点击空白处的自动关闭,共计 3 处关闭,“取消”按钮完全没有必要留下。

    +

    消费降级 ≠ 体验降级

    +
      +
    • 交互中避免增加不必要的操作,简化复杂操作;
    • +
    • 界面显示中,避免无关联的堆砌,数据直观减少用户思考。
    • +
    +

    Image

    +

    以此处图表为反例教材,该图表反应的应该是项目实施进度。其中,中间着重显示的 70% 可能为已完成任务的比例,移动上每个具体项目显示的为个数(不显示比例)。虽然看似内容丰富,但实则没有任何帮助统计的意义。我既不知道完成了多少个任务,也不知道有空再看看的比例是多少。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/design/requirements/index.html b/experience/design/requirements/index.html new file mode 100644 index 00000000..72862756 --- /dev/null +++ b/experience/design/requirements/index.html @@ -0,0 +1,296 @@ + + + + 需求分析 - 团队领袖计划 + + +

    + 需求分析 +

    设计

    +

    思维导图

    +

    工具:

    +
      +
    • Mindjet MindManager
    • +
    +

    UML 建模

    +

    流程图、时序图、用例图等,为基本技能。

    +

    工具:

    +
      +
    • Microsoft Visio (Win)
    • +
    • OmniGraffle (Mac)
    • +
    +

    原型

    +

    工具:

    +
      +
    • Axure (必备)
    • +
    • Pencil
    • +
    • Balsamiq Mockups
    • +
    • Sketch
    • +
    +

    规范

    +

    设计内容上的优劣,需要细看、深思才能知道。但规范上的问题,第一眼,就能发现。

    +

    所以输出的图表、文档都要规范。这是最基本要求。

    +

    以流程图为例:

    +
      +
    • 必须有开始、结束,有且只有一个开始
    • +
    • 箭头必须画在流程线的尖部
    • +
    • 只有判断有两个分支流向,其余均为一个
    • +
    +

    等等其他细节也须注意。

    + +

    需求

    +

    需求收集与整理,可以多画画思维导图,因为部分需求之间是存在关联关系的,要将需求的关系、层级理顺。

    +

    什么样的需求该忽略

    +

    没有大量数据证明切实符合用户实际需要的。

    +

    1.拍拍脑袋得来的想法,往往是没用的

    +

    硬币皆有两面,要用批判的眼光去审视产品经理的点子。

    +

    当下这个阶段,人人都是产品经理,各种野路子如雨后春笋,导致好的产品经理凤毛麟角。

    +

    当产品经理拍拍脑袋提出了一个想法,该做的事情是,让他先去做一个详细的市场调研,给出报告和可行性分析。

    +

    举一个我见过的例子:

    +

    很早之前我们团队接到一个任务,设计一款新的网关产品。产品经理的想法是将受众用户群体定位在青年人。这样就跟小米——“为发烧而生”不谋而合,直面迎来了一个还算比较强大的竞争对手。

    +

    当时我提出了一个针对老龄化的设想,主题是傻瓜化、真智能,让中老年人都能轻松上手的产品。直到 2016 年,才出了“爱国者聚路由”这样稍微有点神似的产品。

    +

    2.用户反馈的信息,不应该直接纳入需求

    +

    根据二八原则,将 80%精力放在 20%最有价值产出的事情上。

    +

    用户的需求是需求,但不一定是大众需求。所以如果是一个只有三五十活跃用户的反馈组里,得到的反馈信息仅能作为参考。

    +

    举个例子:

    +

    假设有这样一个问题:智能门锁通过手机解锁是否需要输入密码。在用户群里,有一些用户反馈说手机 App 上开锁还要打密码很麻烦,不如去掉这一步的密码校验,得到了一批人的支持。

    +

    但这样的需求不可取。实际的需求依然需要大量的数据去支撑。一方面,方便和安全,都需要考虑。另一方面,如果大量的用户反馈觉得这样比较麻烦,最佳实践应该是,保留 App 上的密码解锁功能,但可以设置开启或关闭,默认开启,由用户去控制,为了方便可以将其关闭,但由于这种用户自发行为导致的安全隐患,就得交由用户自行承担。

    +

    3.扭改用户习惯的需求,一律不考虑

    +

    用户行为引导应该是个缓慢而循序渐进的过程。在做技术架构的时候可以稍微激进一点,采用一些新架构新技术去尝试,能提高系统性能;但是在做产品架构的时候,不可冒进。

    +

    举例说明:

    +

    原有用户账号体系中,不支持手机号注册、登录。在添加这项新功能后,应该是引导用户绑定手机,允许原有方式登录,并增加新的方式登录。尊重原有用户使用用户名的习惯,逐步培养绑定手机号的安全行为,但不能强制用户将登录习惯也改为用手机号进行登录。

    +

    因为假设我的用户名为 wzl 或者 willin 都会比手机号(11 位)输入更方便,所以这样的引导并不能帮助用户得到什么益处。不可取。

    +

    什么样的需求该重视

    +

    1.从运维系统中根据数据结果分析得出的结论

    +

    完善运维系统,采集更多需要的信息。根据信息分析得出的可靠结论,才是最重要的需求点。

    +

    这里就不举例展开了,一方面数据都是比较私密的,另外一方面,数据所展示出来的问题都是比较明显的。

    +

    2.重视有洞见者的每一句话

    +

    什么样的人输出什么样的创意。没有偏见,客观陈述。狗嘴里吐不出象牙,所以不要指望肤浅的人给出多么好的意见。而能给出好创意的人,能够源源不断地输出好的创意。

    +

    设计,主要来自于思想和经验。

    +

    思想这个东西,虽然有后天弥补的空间,但基本都是与生俱来的,可视为先天优势。而经验,则需要知识和实践相结合,可视为后天富足。只有两者都满足,才能成为一个好的设计者。很苛刻,但这是事实。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/experience/design/seq.png b/experience/design/seq.png similarity index 100% rename from static/experience/design/seq.png rename to experience/design/seq.png diff --git a/static/experience/design/system.png b/experience/design/system.png similarity index 100% rename from static/experience/design/system.png rename to experience/design/system.png diff --git a/experience/design/system/index.html b/experience/design/system/index.html new file mode 100644 index 00000000..1f664583 --- /dev/null +++ b/experience/design/system/index.html @@ -0,0 +1,284 @@ + + + + 系统架构设计实践 - 团队领袖计划 + + +

    + 系统架构设计实践 +

    一个开放平台的设计大概思路。

    +

    第一步:定位用户

    +

    开发者,分企业开发者和个人开发者。

    +

    第二步:系统功能设计

    +

    心中先有个梗概,列出列表。

    +

    最核心的功能模块:

    +
      +
    1. 提供开放接口
    2. +
    3. 提供开放文档
    4. +
    5. 提供 API 文档
    6. +
    7. 提供 SDK
    8. +
    9. SDK 下载,来源各个组,如嵌入式、移动开发、服务器端,提供各种语言的 SDK 版本
    10. +
    11. 除了 SDK 下载还需要提供 SDK 使用说明,整合进文档中
    12. +
    +

    其他功能模块:

    +
      +
    1. 用户中心
    2. +
    3. 开发者认证
    4. +
    5. 产品管理
    6. +
    +
    +

    然后可以搭配脑图、流程图、时序图、用例图等建模工具,设计核心业务模块的流程。

    + +

    示例

    +

    思维导图(脑图):

    +

    Image

    +

    系统结构图:

    +

    Image

    +

    用例图:

    +

    Image

    +

    时序图:

    +

    Image

    +

    流程图:

    +

    Image

    +

    第三步:设计数据库表结构

    +

    建库建表非常关键。主要原则为,减少冗余数据、避免表字段过多、提高查询性能。

    +

    最好是以数字 id 为主键,避免使用自增 id(影响数据同步),外键关系不用外键,关键字段设置索引。

    +

    首先第一张表,应该是用户表,虽然不是核心业务,但所有核心业务都与用户相关联,也需要注册登录才能进行。

    +

    所以先设计用户表。用户表应该至少两张表,一张是用户基本信息表,只存用户名、密码等或最常用字段,如登录信息;另一张是认证信息,当然也可以分别为企业开发者用户、个人开发者用户建两张表,因为不同的认证方式需要的字段也是不同的。通过用户 id 字段将用户其他信息表数据进行关联。

    +

    示例:

    +

    ER图

    +

    上图为 ER 图的一个示例,Windows 下有 PowerDesigner、Visio 等工具,Mac 下用 MySQLWorkbench。

    +

    (可以参考已有系统的用户体系设计,但开发者平台与用户产品系统存在一些细节差异。)

    +

    另外,前期也可以考虑加入一些日志表,如认证记录表,存一些历史的认证信息。根据项目时间预算,如果前期不考虑,后期也需要考虑加上。

    +

    第四步:搭建系统框架

    +

    先搭建一个大框架,配置缓存数据库,加入通用类,配置端口,并且能够运行。

    +

    (可以参考现有的项目以及项目章节的结构)

    +

    搭建测试框架(如果项目进度预算允许)。在项目实现过程中的细节,关注下一章节的内容中讲解。

    +

    第五步:迭代

    +

    重复上面的过程,完善新功能模块设计,加入到已有系统。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/experience/design/tip.png b/experience/design/tip.png similarity index 100% rename from static/experience/design/tip.png rename to experience/design/tip.png diff --git a/static/experience/design/use-case.png b/experience/design/use-case.png similarity index 100% rename from static/experience/design/use-case.png rename to experience/design/use-case.png diff --git a/experience/graphql/authorization/index.html b/experience/graphql/authorization/index.html new file mode 100644 index 00000000..118f0830 --- /dev/null +++ b/experience/graphql/authorization/index.html @@ -0,0 +1,277 @@ + + + + GraphQL 鉴权 - 团队领袖计划 + + +

    + GraphQL 鉴权 +

    GraphQL 项目的架构:

    +

    架构

    +

    其中鉴权部分应当属于业务逻辑层.

    +

    注意事项

    +

    这里是一个鉴权的例子, 作者可以管理(编辑)自己的文章, 在定义模型的时候加入了权限的判断:

    +
    var postType = new GraphQLObjectType({
    +  name: ‘Post’,
    +  fields: {
    +    body: {
    +      type: GraphQLString,
    +      resolve: (post, args, context, { rootValue }) => {
    +        // return the post body only if the user is the post's author
    +        if (context.user && (context.user.id === post.authorId)) {
    +          return post.body;
    +        }
    +        return null;
    +      }
    +    }
    +  }
    +});
    +
    +

    但有个问题在于, 鉴权的逻辑不被保留完全同步, 用户通过其他方式调用(如通过 RESTful 接口)时依然需要重新鉴权.

    +
    //Authorization logic lives inside postRepository
    +var postRepository = require('postRepository');
    +
    +var postType = new GraphQLObjectType({
    +  name: ‘Post’,
    +  fields: {
    +    body: {
    +      type: GraphQLString,
    +      resolve: (post, args, context, { rootValue }) => {
    +        return postRepository.getBody(context.user, post);
    +      }
    +    }
    +  }
    +});
    +
    +

    这样, 我们就可以将用户对象传递到下一层(业务逻辑层)去进行鉴权的处理.

    + +

    鉴权中间件

    +

    Express 中的 GraphQL 鉴权中间件示例: https://graphql.js.cool/graphql-js/authentication-and-express-middleware/

    +

    示例项目

    +

    完整示例项目待添加.

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/experience/graphql/dataloader.png b/experience/graphql/dataloader.png similarity index 100% rename from static/experience/graphql/dataloader.png rename to experience/graphql/dataloader.png diff --git a/experience/graphql/dataloader/index.html b/experience/graphql/dataloader/index.html new file mode 100644 index 00000000..2f28faad --- /dev/null +++ b/experience/graphql/dataloader/index.html @@ -0,0 +1,397 @@ + + + + DataLoader - 团队领袖计划 + + +

    + DataLoader +

    +

    Dataloader 是由 Facebook 推出,能大幅降低数据库的访问频次,经常在 Graphql 场景中使用。

    +

    Dataloader 机制

    +

    主要通过 2 个机制来降低数据库的访问频次:批处理缓存

    +

    批处理

    +

    dataloader

    +

    配合 MySQL 批量查询用户(User 表)的示例代码:

    +
    const DataLoader = require('dataloader');
    +// 自行封装
    +const { query, format } = require('./mysql');
    +
    +/*
    +用户信息 存储在 User 表 和 UserMeta 表中, 通过 uid 字段进行关联
    +*/
    +const UserLoader = new DataLoader(
    +  (uids) => {
    +    const sql = format('SELECT t1.*,t2.* FROM USERTABLE t1 LEFT JOIN USERMETATABLE t2 ON t1.uid = t2.uid WHERE t1.uid in (?)', [uids]);
    +    return query(sql).then((rows) => uids.map((uid) => rows.find((row) => row.uid === uid) || new Error(`Row not found: ${uid}`)));
    +  },
    +  { cache: false }
    +);
    +
    +// Usage:
    +const user1 = UserLoader.load(1);
    +const user2 = UserLoader.load(2);
    +const user3 = UserLoader.load(3);
    +Promise.all([user1, user2, user3]).then((users) => {});
    +// Or
    +UserLoader.loadMany([1, 2, 3]).then((users) => {});
    +
    +

    以上代码就仅会产生以下一条数据库查询语句:

    +
     Executing (default): SELECT t1.*,t2.* FROM USERTABLE t1 LEFT JOIN USERMETATABLE t2 ON t1.uid = t2.uid WHERE t1.uid in (1, 2, 3);
    +
    + +

    缓存

    +

    Load 一次,DataLoader 就会把数据缓存在内存,下一次再 load 时,就不会再去访问后台。

    +

    DataLoader 缓存的是 promise,而不是具体数据。则意味着:

    +
    let user1, user2;
    +await user1 = UserLoader.load(1);
    +await user2 = UserLoader.load(1);
    +assert(user1 !== user2);
    +// true,这个容易理解
    +
    +assert(UserLoader.load(1) === userLoader.load(1));
    +// 还是true,因为是缓存promise
    +
    +

    基础使用参考: https://www.jianshu.com/p/fbd1257116b0

    +

    进阶使用

    +

    以一个稍微复杂一点的嵌套分页查询为例(可以参考 Github API v4 进行研究学习)。

    +
    {
    +  repository(owner: "octocat", name: "Hello-World") {
    +    pullRequest(number: 1) {
    +      commits(first: 10) {
    +        totalCount
    +        edges {
    +          node {
    +            commit {
    +              oid
    +              message
    +            }
    +          }
    +        }
    +      }
    +      comments(first: 10) {
    +        totalCount
    +        edges {
    +          cursor
    +          node {
    +            body
    +            author {
    +              login
    +            }
    +          }
    +        }
    +      }
    +      reviews(first: 10, before: "Y3Vyc29yOnYyOpHOABRzYg==", after: "Y3Vyc29yOnYyOpHOANFzxQ==") {
    +        totalCount
    +        edges {
    +          node {
    +            state
    +          }
    +        }
    +      }
    +    }
    +  }
    +}
    +
    +

    该查询中包含多个分页(Connection)。

    +

    MySQL 分页查询

    +

    常规查询:

    +
    SELECT count(1) as count FROM TABLE WHERE ?;
    +SELECT * FROM TABLE WHERE ? LIMIT ? OFFSET ?;
    +
    +

    需要两条查询完成一次分页,嵌套分页则根据条目(N)再进行 2*N 次查询。

    +

    CountLoader

    +
    const CountLoader = new DataLoader((args) => {
    +  const arr = args.map(([TABLE, WHERE]) => [md5(TABLE + JSON.stringify(WHERE)), TABLE, parseArgs(WHERE)]);
    +  return query(
    +    arr
    +      .map(([CODE, TABLE, WHERE]) => format(`SELECT ? as code, COUNT(1) as count FROM ??${WHERE ? ' WHERE ? ' : ''}`, [CODE, TABLE, WHERE]))
    +      .join(' UNION ')
    +  ).then((rows) =>
    +    arr.map(([CODE]) => {
    +      const { count = 0 } = rows.find((row) => row.code === CODE) || {};
    +      return count;
    +    })
    +  );
    +});
    +
    +CountLoader.loadMany([
    +  ['TABLE1', { uid: 1 }],
    +  ['TABLE2', { oid: 2 }]
    +  // ...
    +]);
    +
    +

    最终会拼成:

    +
    SELECT xxx as code, COUNT(1) as count FROM TABLE1 WHERE xxx
    +UNION SELECT xxx as code, COUNT(1) as count FROM TABLE2 WHERE xxx
    +-- ...
    +
    +

    一条 SQL 查询,然后再分别根据 code 参数进行回填。

    +

    ComplexLoader

    +

    复杂数据的 DataLoader 示例:

    +
    /**
    + * TicketsLoader
    + * Each arg:
    + * {  time: {before, after}, // Int, Int
    + *    where, // obj: {1:1, type:'xxx'}
    + *    order, // 'DESC' / 'ASC'
    + *    limit // Int
    + * }
    + */
    +exports.TicketsLoader = new DataLoader(
    +  (args) => {
    +    const result = args.map(({ time: { before, after }, where, order, limit }) => {
    +      let time = [];
    +      if (before) {
    +        time.push(format('createdAt < ?', [before]));
    +      }
    +      if (after) {
    +        time.push(format('createdAt > ?', [after]));
    +      }
    +      if (time.length > 0) {
    +        time = `AND ${time.join(' AND ')}`;
    +      } else {
    +        time = '';
    +      }
    +      let sql;
    +      if (where) {
    +        sql = format(`SELECT * from ?? WHERE ?${time} ORDER BY createdAt ${order} LIMIT ?`, [TICKETTABLE, where, limit]);
    +      } else {
    +        sql = format(`SELECT * from ?? WHERE 1=1${time} ORDER BY createdAt ${order} LIMIT ?`, [TICKETTABLE, limit]);
    +      }
    +      return query(sql);
    +    });
    +    return Promise.all(result);
    +  },
    +  { cache: false }
    +);
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/graphql/mysql/index.html b/experience/graphql/mysql/index.html new file mode 100644 index 00000000..d5dc882e --- /dev/null +++ b/experience/graphql/mysql/index.html @@ -0,0 +1,424 @@ + + + + MySQL 向 GraphQL 迁移 - 团队领袖计划 + + +

    + MySQL 向 GraphQL 迁移 +

    GraphQL 是一个开源的图形数据库(基于 Node.js 实现), 中文文档: https://graphql.js.cool/

    +

    sequelize-auto 将 MySQL 数据库转变成模型

    +
    [node] sequelize-auto -h <host> -d <database> -u <user> -x [password] -p [port]  --dialect [dialect] -c [/path/to/config] -o [/path/to/models] -t [tableName] -C
    +
    +参数:
    +  -h, --host        主机地址 [必须]
    +  -d, --database    数据名 [必须]
    +  -u, --user        用户名
    +  -x, --pass        密码
    +  -p, --port        端口号
    +  -c, --config      配置文件,参考: https://sequelize.readthedocs.org/en/latest/api/sequelize/
    +  -o, --output      输出目录
    +  -e, --dialect     数据库引擎: postgres, mysql, sqlite
    +  -t, --tables      需要导入的表
    +  -T, --skip-tables 需要排除的表
    +  -C, --camel       使用用驼峰命名法
    +  -n, --no-write    不需要写入文件
    +  -s, --schema      数据库结构
    +
    + +

    使用数据模型

    +

    这里是生成的一个示例模型:

    +
    /* jshint indent: 2 */
    +
    +module.exports = function (sequelize, DataTypes) {
    +  return sequelize.define(
    +    'd_user',
    +    {
    +      uid: {
    +        type: DataTypes.INTEGER(11).UNSIGNED,
    +        allowNull: false,
    +        primaryKey: true
    +      },
    +      username: {
    +        type: DataTypes.STRING(16),
    +        allowNull: false,
    +        defaultValue: ''
    +      },
    +      mobile: {
    +        type: DataTypes.STRING(16),
    +        allowNull: false,
    +        defaultValue: ''
    +      },
    +      email: {
    +        type: DataTypes.STRING(32),
    +        allowNull: false,
    +        defaultValue: ''
    +      },
    +      password: {
    +        type: DataTypes.STRING(32),
    +        allowNull: false,
    +        defaultValue: ''
    +      },
    +      salt: {
    +        type: DataTypes.STRING(8),
    +        allowNull: false,
    +        defaultValue: ''
    +      },
    +      updatedAt: {
    +        type: DataTypes.INTEGER(10).UNSIGNED,
    +        allowNull: false
    +      }
    +    },
    +    {
    +      tableName: 'user'
    +    }
    +  );
    +};
    +
    +

    创建数据库模型:

    +
    const Sequelize = require('sequelize');
    +
    +const Db = new Sequelize('数据库名', '用户名', '密码', {
    +  host: 'localhost',
    +  dialect: 'mysql'
    +});
    +
    +const User = Db.define(
    +  'user',
    +  {
    +    uid: {
    +      type: Sequelize.INTEGER(11).UNSIGNED,
    +      allowNull: false,
    +      primaryKey: true
    +    },
    +    username: {
    +      type: Sequelize.STRING(16),
    +      allowNull: false,
    +      defaultValue: ''
    +    },
    +    mobile: {
    +      type: Sequelize.STRING(16),
    +      allowNull: false,
    +      defaultValue: ''
    +    },
    +    email: {
    +      type: Sequelize.STRING(32),
    +      allowNull: false,
    +      defaultValue: ''
    +    },
    +    password: {
    +      type: Sequelize.STRING(32),
    +      allowNull: false,
    +      defaultValue: ''
    +    },
    +    salt: {
    +      type: Sequelize.STRING(8),
    +      allowNull: false,
    +      defaultValue: ''
    +    }
    +  },
    +  {
    +    tableName: 'user',
    +    // 取消默认的时间戳, 否则会报 createdAt 不存在错误
    +    timestamps: false
    +  }
    +);
    +
    +Db.sync();
    +
    +module.exports = {
    +  Db,
    +  User
    +};
    +
    +

    graphql-sequelize 转换 MySQL -> GraphQL 结构

    +
    const { GraphQLObjectType, GraphQLSchema, GraphQLList, GraphQLInt, GraphQLString } = require('graphql');
    +const { attributeFields, resolver } = require('graphql-sequelize');
    +const { Db, User } = require('./db');
    +
    +userType = new GraphQLObjectType({
    +  name: 'User',
    +  description: 'A user',
    +  fields: attributeFields(User)
    +});
    +
    +const Query = new GraphQLObjectType({
    +  name: 'Query',
    +  description: 'Root query object',
    +  fields: () => {
    +    return {
    +      user: {
    +        type: new GraphQLList(userType),
    +        args: {
    +          uid: {
    +            type: GraphQLInt
    +          },
    +          email: {
    +            type: GraphQLString
    +          }
    +        },
    +        resolve(root, args) {
    +          return Db.models.user.findAll({ where: args });
    +        }
    +      }
    +    };
    +  }
    +});
    +
    +const Schema = new GraphQLSchema({
    +  query: Query
    +});
    +
    +module.exports = Schema;
    +
    +

    启动服务器

    +
    const Express = require('express');
    +const GraphHTTP = require('express-graphql');
    +const Schema = require('./schema');
    +
    +// Config
    +const APP_PORT = 3000;
    +
    +// Start
    +const app = Express();
    +
    +// GraphQL
    +app.use(
    +  '/graphql',
    +  GraphHTTP({
    +    schema: Schema,
    +    pretty: true,
    +    graphiql: true
    +  })
    +);
    +
    +app.listen(APP_PORT, () => {
    +  console.log(`App listening on port ${APP_PORT}`);
    +});
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/operation/certbot/index.html b/experience/operation/certbot/index.html new file mode 100644 index 00000000..26dfacaf --- /dev/null +++ b/experience/operation/certbot/index.html @@ -0,0 +1,294 @@ + + + + CertBot 证书 - 团队领袖计划 + + +

    + CertBot 证书 +

    在阿里云 ECS 上安装的话,Python 版本是包含 2、3 两个的,所以需要升级 pip 到 9.0 之后版本。

    +

    如果是Ubuntu 16.04版本,千万不要用Root安装。

    +

    升级过程中提示:

    +
    locale.Error: unsupported locale setting
    +
    +

    通过修改本地语言修复:

    +
    export LC_ALL="en_US.UTF-8"
    +export LC_CTYPE="en_US.UTF-8"
    +sudo dpkg-reconfigure locales
    +
    +

    然后一路回车结束。

    +
    pip install -U pip
    +
    +# 测试安装结果
    +pip -V
    +# pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
    +
    + +

    安装certbot-auto

    +
    wget https://dl.eff.org/certbot-auto
    +chmod +x certbot-auto
    +
    +

    检查 Nginx 是否已经配置该网站。

    +
    server {
    +        listen 80;
    +        server_name example.com;
    +        add_header Strict-Transport-Security max-age=15768000;
    +        return 301 https://example.com$request_uri;
    +}
    +
    +

    颁发证书:

    +
    ./certbot-auto certonly --agree-tos --email mail@example.com --nginx -d example.com
    +
    +

    添加 HTTPS 配置:

    +
    server {
    +        listen 443 ssl http2; # managed by Certbot
    +        server_name example.com;
    +        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    +        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    +        ssl_session_cache shared:le_nginx_SSL:1m; # managed by Certbot
    +        ssl_session_timeout 1440m; # managed by Certbot
    +
    +        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # managed by Certbot
    +        ssl_prefer_server_ciphers on; # managed by Certbot
    +
    +        ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-SHA ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES256-SHA384 DHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES128-SHA DHE-RSA-AES256-SHA DHE-RSA-AES128-SHA256 DHE-RSA-AES256-SHA256 EDH-RSA-DES-CBC3-SHA"; # managed by Certbot
    +
    +        # add_header Alternate-Protocol  443:npn-spdy/3;
    +        add_header Strict-Transport-Security "max-age=31536000;";
    +        #add_header  X-Content-Type-Options "nosniff";
    +        #add_header X-Frame-Options DENY;
    +
    +        access_log off;
    +
    +        # 应用部分
    +}
    +
    +

    更新证书命令:

    +
    ./certbot-auto renew --dry-run
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/operation/cloudflare-nginx/index.html b/experience/operation/cloudflare-nginx/index.html new file mode 100644 index 00000000..a192f1b0 --- /dev/null +++ b/experience/operation/cloudflare-nginx/index.html @@ -0,0 +1,272 @@ + + + + CloudFlare - 团队领袖计划 + + +

    + CloudFlare +

    CloudFlare Nginx 获取真实 ip 地址

    +

    配置

    +

    安装 ngx_http_realip_module 模块, 在 nginx.conf 中进行配置:

    +
    set_real_ip_from 103.21.244.0/22;
    +set_real_ip_from 103.22.200.0/22;
    +set_real_ip_from 103.31.4.0/22;
    +set_real_ip_from 104.16.0.0/12;
    +set_real_ip_from 108.162.192.0/18;
    +set_real_ip_from 131.0.72.0/22;
    +set_real_ip_from 141.101.64.0/18;
    +set_real_ip_from 162.158.0.0/15;
    +set_real_ip_from 172.64.0.0/13;
    +set_real_ip_from 173.245.48.0/20;
    +set_real_ip_from 188.114.96.0/20;
    +set_real_ip_from 190.93.240.0/20;
    +set_real_ip_from 197.234.240.0/22;
    +set_real_ip_from 198.41.128.0/17;
    +set_real_ip_from 199.27.128.0/21;
    +set_real_ip_from 2400:cb00 :: / 32;
    +set_real_ip_from 2606:4700 :: / 32;
    +set_real_ip_from 2803:f800 :: / 32;
    +set_real_ip_from 2405:b500 :: / 32;
    +set_real_ip_from 2405:8100 :: / 32;
    +set_real_ip_from 2c0f:f248 :: / 32;
    +set_real_ip_from 2a06:98c0 :: / 29;
    +
    +# 使用以下任意一个
    +# real_ip_header CF-Connecting-IP;
    +# 推荐这个
    +real_ip_header X-Forwarded-For;
    +
    +

    从这个网址获取 IP 列表的更新: https://www.cloudflare.com/ips/

    + +

    参考资料

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/operation/later/index.html b/experience/operation/later/index.html new file mode 100644 index 00000000..f1dac7dd --- /dev/null +++ b/experience/operation/later/index.html @@ -0,0 +1,254 @@ + + + + Later 计划任务 - 团队领袖计划 + + +

    + Later 计划任务 +

    http://bunkat.github.io/later/index.html

    +

    应用场景:计划任务,类似 Crontab。

    +
    import later from 'later';
    +// 每分钟执行一次
    +later.setInterval(()=>{
    +  // Codes
    +
    +}), later.parse.recur().every(1).minute());
    +// 每天的 16:55 执行
    +later.setInterval(()=>{
    +  // Codes
    +
    +}), later.parse.cron('55 16 */1 * * ?'));
    +// 每小时的 1 分 执行
    +later.setInterval(()=>{
    +  // Codes
    +
    +}), later.parse.cron('1 */1 * * * ?'));
    +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/operation/pm2/index.html b/experience/operation/pm2/index.html new file mode 100644 index 00000000..55f40579 --- /dev/null +++ b/experience/operation/pm2/index.html @@ -0,0 +1,490 @@ + + + + PM2 守护进程 - 团队领袖计划 + + +

    + PM2 守护进程 +

    https://github.com/Unitech/pm2

    +

    当前使用场景:产品环境守护进程。

    +

    常用命令

    +

    启动项目

    +
    pm2 start xxx.js   #直接启动入口文件
    +
    +pm2 start xxx.json #通过配置启动
    +
    +

    配置文件参考:

    +
    [
    +  {
    +    "name": "app",
    +    "script": "babel.js",
    +    "log_date_format": "YYYY-MM-DD HH:mm:ss Z",
    +    "cwd": "/home/project",
    +    "error_file": "/home/project/logs/app.err.log",
    +    "out_file": "/home/project/logs/app.out.log",
    +    "max_memory_restart": "800M",
    +    "instances": 0,
    +    "exec_mode": "cluster",
    +    "merge_logs": true,
    +    "env": {
    +      "NODE_ENV": "production"
    +    }
    +  },
    +  {
    +    "script": "./examples/child.js",
    +    "error_file": "errLog.log",
    +    "out_file": "outLog.log",
    +    "pid_file": "child",
    +    "instances": "4",
    +    "min_uptime": "10",
    +    "max_restarts": "4"
    +  },
    +  {
    +    "script": "examples/env.js",
    +    "error_file": "errEcho.log",
    +    "out_file": "outEcho.log",
    +    "name": "ok",
    +    "pid_file": "echo.pid",
    +    "max": "1",
    +    "exec_mode": "cluster_mode",
    +    "port": "9001",
    +    "env_variable": "TOTO",
    +    "TEST_VARIABLE": "YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSIR"
    +  }
    +]
    +
    +

    重启项目

    +
    pm2 restart #PID# #重启一个进程
    +
    +pm2 restart app-name #重启一个应用
    +
    +pm2 restart all #重启所有项目
    +
    +

    停止

    +
    pm2 stop #PID#
    +
    +pm2 stop app-name
    +
    +

    终止

    +
    pm2 delete app-name #删除一个进程
    +
    +pm2 kill #终止所有进程
    +
    +

    开机自启

    +
    pm2 startup
    +
    +

    参考官方文档获取详细使用说明。

    + +

    自动重启

    +

    设置内存使用过高上限,可以通过配置文件这一项:

    +
    {
    +  "max_memory_restart": "800M"
    +}
    +
    +

    PM2是一个很好的工具,提供了max-memory-restart内存溢出重启的功能。

    +

    但美中不足的是,没有 CPU 限制重启的功能。

    +

    同时,也无法进行远程手动重启。但好在,PM2 提供了 JSON 格式列表输出,让我们可以自己去写一些守护进程,或者整合到已有的运维管理系统中。

    +
    pm2 jlist
    +
    +

    结果会是这样的 json:

    +
    [
    +  {
    +    "pid": 28701,
    +    "name": "xxxx",
    +    "pm2_env": {
    +      "name": "xxxx",
    +      "max_memory_restart": 838860800,
    +      "instances": 0,
    +      "cwd": "/xxxx/project",
    +      "merge_logs": true,
    +      "vizion": true,
    +      "pmx": true,
    +      "automation": true,
    +      "autorestart": true,
    +      "treekill": true,
    +      "env": {
    +        "PM2_JSON_PROCESSING": "true",
    +        "LSCOLORS": "Gxfxcxdxbxegedabagacad",
    +        "LESS": "-R",
    +        "PAGER": "less",
    +        "SSH_TTY": "/dev/pts/1",
    +        "SSH_CLIENT": "218.94.29.190 53115 22",
    +        "SHELL": "/bin/bash",
    +        "TERM": "xterm-256color",
    +        "XDG_SESSION_ID": "814",
    +        "NODE_ENV": "production",
    +        "max_memory_restart": 838860800,
    +        "instances": 0,
    +        "merge_logs": true,
    +        "vizion": true,
    +        "pmx": true,
    +        "automation": true,
    +        "autorestart": true,
    +        "treekill": true,
    +        "log_date_format": "YYYY-MM-DD HH:mm:ss Z",
    +        "exec_mode": "cluster_mode",
    +        "node_args": [],
    +        "exec_interpreter": "node",
    +        "pm_out_log_path": "/xxxxx/logs/fish.out.log",
    +        "pm_err_log_path": "/xxxxx/logs/fish.err.log"
    +      },
    +      "log_date_format": "YYYY-MM-DD HH:mm:ss Z",
    +      "exec_mode": "cluster_mode",
    +      "node_args": [],
    +      "pm_exec_path": "/xxxx/babel.js",
    +      "pm_cwd": "/xxxxx/project",
    +      "exec_interpreter": "node",
    +      "pm_out_log_path": "/xxxxxx/xxx.out.log",
    +      "pm_err_log_path": "/xxxxxx/xxx.err.log",
    +      "NODE_APP_INSTANCE": 0,
    +      "vizion_running": false,
    +      "PM2_JSON_PROCESSING": "true",
    +      "LESSCLOSE": "/usr/bin/lesspipe %s %s",
    +      "XDG_RUNTIME_DIR": "/run/user/1000",
    +      "LESSOPEN": "| /usr/bin/lesspipe %s",
    +      "LC_CTYPE": "zh_CN.UTF-8",
    +      "SSH_TTY": "/dev/pts/1",
    +      "SHELL": "/bin/bash",
    +      "NODE_ENV": "production",
    +      "fish": "{}",
    +      "status": "online",
    +      "pm_uptime": 1472561001434,
    +      "axm_actions": [],
    +      "axm_monitor": {
    +        "Loop delay": {
    +          "value": "0.92ms",
    +          "agg_type": "avg",
    +          "alert": {}
    +        }
    +      },
    +      "axm_options": {
    +        "http": false,
    +        "http_latency": 200,
    +        "http_code": 500,
    +        "ignore_routes": [],
    +        "profiling": true,
    +        "errors": true,
    +        "alert_enabled": true,
    +        "custom_probes": true,
    +        "network": false,
    +        "ports": false,
    +        "module_conf": {},
    +        "module_name": "fish",
    +        "module_version": "1.1.3",
    +        "pmx_version": "0.6.2",
    +        "error": true
    +      },
    +      "axm_dynamic": {},
    +      "created_at": 1472561000966,
    +      "pm_id": 3,
    +      "restart_time": 1,
    +      "unstable_restarts": 0,
    +      "_pm2_version": "1.1.3",
    +      "versioning": {
    +        "type": "git",
    +        "update_time": "2016-09-02T07:25:14.113Z",
    +        "comment": "v3.6.12 - fix-importer",
    +        "unstaged": false,
    +        "branch": "HEAD",
    +        "remotes": ["origin"],
    +        "remote": "origin",
    +        "branch_exists_on_remote": true,
    +        "ahead": false,
    +        "next_rev": null
    +      },
    +      "node_version": "6.3.0",
    +      "exit_code": 0
    +    },
    +    "pm_id": 3,
    +    "monit": {
    +      "memory": 90591232,
    +      "cpu": 0
    +    }
    +  }
    +]
    +
    +

    其中每一列数据都有 rows[i].monit.cpu,值范围 0~100。可以用later写定时脚本监控并重启。

    +

    示例代码:

    +
    import { exec } from 'child_process';
    +import numeral from 'numeral';
    +
    +exec('pm2 jlist', (err, stdout, stderr) => {
    +  if (stderr) {
    +    console.log(stderr);
    +  }
    +  const result = stdout.split('\n');
    +
    +  // 如果不存在 PM2 进程,将会打初始化日志
    +  while (result[0].indexOf('[PM2]') === 0) {
    +    result.shift();
    +  }
    +  let items = [];
    +  try {
    +    items = JSON.parse(result[0]);
    +  } catch (e) {
    +    /* eslint no-empty:0 */
    +  }
    +  // console.log(items);
    +
    +  // 演示
    +  const item = items[0];
    +
    +  const uptimeTmp = numeral((new Date() - item.pm2_env.pm_uptime) / 1000)
    +    .format('00:00:00')
    +    .split(':')
    +    .map(Number);
    +  const uptime = `${parseInt(uptimeTmp[0] / 24, 10)}${uptimeTmp[0] % 24}${uptimeTmp[1]}${uptimeTmp[2]}`
    +    .replace('0天', '')
    +    .replace('0时', '')
    +    .replace('0分', '')
    +    .replace('0秒', '');
    +
    +  console.log(item.pid);
    +  // 41965
    +  console.log(item.name);
    +  // app-name
    +  console.log(item.pm_id);
    +  // 0
    +  console.log(`${item.monit.cpu}%`);
    +  // 91%
    +  console.log(numeral(item.monit.memory).format('0.0b'));
    +  // 126.8MB
    +  console.log(uptime);
    +  // 6秒
    +  console.log(item.pm2_env.restart_time);
    +  // 0
    +  if (item.monit.cpu > 90) {
    +    exec(`pm2 restart ${item.pm_id}`, (err2, stdout2, stderr2) => {
    +      console.log(stdout2);
    +      console.log(stderr2);
    +    });
    +  }
    +});
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/operation/restarter/index.html b/experience/operation/restarter/index.html new file mode 100644 index 00000000..c1fc5ff8 --- /dev/null +++ b/experience/operation/restarter/index.html @@ -0,0 +1,250 @@ + + + + 重启服务 - 团队领袖计划 + + +

    + 重启服务 +

    重启所有服务

    +

    Image

    +

    虽然 CRP 中工作流可以一个点流出至多个点,但只有第一个子任务会执行。

    +

    所以我将自动重启任务改为了串行执行。

    +

    配置手动启动

    +

    Image

    +

    如上图所示,将第一个代码检出任务的【自动触发】勾选去掉。

    +

    后续的每个工作流可以是每一台单独服务器或是每几台相同环境的负载均衡机器。

    +

    重启 Shell 脚本

    +
    pm2 kill
    +rm -f /home/xxx-user/xxx-project1/logs/*.log
    +rm -f /home/xxx-user/xxx-project2/logs/*.log
    +pm2 start /home/xxx-user/xxx-project1/app.json
    +pm2 start /home/xxx-user/xxx-project2/app.json
    +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/experience/operation/restarter1.png b/experience/operation/restarter1.png similarity index 100% rename from static/experience/operation/restarter1.png rename to experience/operation/restarter1.png diff --git a/static/experience/operation/restarter2.png b/experience/operation/restarter2.png similarity index 100% rename from static/experience/operation/restarter2.png rename to experience/operation/restarter2.png diff --git a/static/experience/operation/rollback.png b/experience/operation/rollback.png similarity index 100% rename from static/experience/operation/rollback.png rename to experience/operation/rollback.png diff --git a/experience/operation/rollback/index.html b/experience/operation/rollback/index.html new file mode 100644 index 00000000..69077619 --- /dev/null +++ b/experience/operation/rollback/index.html @@ -0,0 +1,237 @@ + + + + 版本回退 - 团队领袖计划 + + +

    + 版本回退 +

    Image

    +

    如果版本部署失败,可以回滚至之前任意成功部署版本。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/operation/server/index.html b/experience/operation/server/index.html new file mode 100644 index 00000000..468c55bd --- /dev/null +++ b/experience/operation/server/index.html @@ -0,0 +1,507 @@ + + + + 服务器配置 - 团队领袖计划 + + +

    + 服务器配置 +

    常用工具

    +

    性能监控

    +

    开放接口文档

    + + +

    创建用户

    +
    adduser xxx
    +# 输入密码
    +
    +

    :还有一个useradd命令,不会创建用户目录。

    +
    sudo vi /etc/sudoers
    +
    +

    +
    root    ALL=(ALL:ALL) ALL
    +
    +

    后插入一行

    +
    xxx(用户名)    ALL=(ALL:ALL) ALL
    +
    +

    切换到用户安装环境

    +
    su username
    +
    +

    安装 zsh

    +
    sudo apt-get update
    +sudo apt-get install zsh curl git
    +sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    +
    +

    配置 ssh 免密码登录

    +
    mkdir ~/.ssh
    +chmod 700 ~/.ssh
    +cd ~/.ssh
    +touch authorized_keys
    +chmod 644 authorized_keys
    +vi authorized_keys
    +
    +

    插入你的ssh公钥。

    +
    # 不存在创建(注意是在本地,不是远程服务器)
    +ssh-keygen
    +# 一直按回车,结束
    +# 存在直接查看
    +cat ~/.ssh/id_rsa.pub
    +
    +

    安装 node

    +

    (示例,从官网获取最新版本源码编译安装)

    +
    cd ~ #注意安装目录,最好在用户目录下,其他系统目录可能会有权限问题
    +wget -c https://nodejs.org/dist/v6.4.0/node-v6.4.0.tar.gz
    +tar zxvf node-v6.4.0.tar.gz
    +cd node-v6.4.0/
    +./configure
    +make
    +sudo make install
    +# 安装成功测试
    +node -v
    +npm -v
    +
    +

    源码编译安装 Redis、OpenSSL 等步骤基本相同。具体可以参考官方文档。

    +

    Nginx 安装配置

    +

    Nginx 1.9.5 之后的版本支持了HTTP/2,同时,也取消了对SPDY的支持。

    +

    HTTP/2模块支持安装为例。

    +
    wget -c http://nginx.org/download/nginx-1.11.3.tar.gz
    +tar zxvf nginx-1.11.3.tar.gz
    +cd nginx-1.11.3/
    +./configure --with-pcre --with-http_ssl_module --with-http_v2_module
    +
    +

    异常处理

    +

    1.没装 PCRE

    +
    ./configure: error: the HTTP rewrite module requires the PCRE library.
    +You can either disable the module by using --without-http_rewrite_module
    +option, or install the PCRE library into the system, or build the PCRE library
    +statically from the source with nginx by using --with-pcre=<path> option.
    +
    +

    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

    +

    查找并下载最新版本 PCRE 源码,并解压

    +
    wget -c ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
    +tar zxvf pcre-8.38.tar.gz
    +cd pcre-8.38/
    +pwd
    +# /home/user/nginx-1.11.3/pcre-8.38
    +
    +

    修改configure命令为:

    +
    ./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-http_ssl_module --with-http_v2_module
    +
    +

    2.没装 OpenSSL

    +
    ./configure: error: SSL modules require the OpenSSL library.
    +You can either do not enable the modules, or install the OpenSSL library
    +into the system, or build the OpenSSL library statically from the source
    +with nginx by using --with-openssl=<path> option.
    +
    +

    https://www.openssl.org/source/

    +

    查找并下载最新版本 OpenSSL 源码,并解压

    +
    wget -c https://www.openssl.org/source/openssl-1.0.2h.tar.gz
    +tar zxvf openssl-1.0.2h.tar.gz
    +cd openssl-1.0.2h
    +pwd
    +# /home/user/nginx-1.11.3/openssl-1.0.2h
    +
    +

    openssl-1.1.0-pre6 版本经测试无法安装。

    +
    ./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-openssl=/home/user/nginx-1.11.3/openssl-1.0.2h --with-http_ssl_module --with-http_v2_module
    +
    +
      +
    1. 没装 zlib
    2. +
    +
    ./configure: error: the HTTP gzip module requires the zlib library.
    +You can either disable the module by using --without-http_gzip_module
    +option, or install the zlib library into the system, or build the zlib library
    +statically from the source with nginx by using --with-zlib=<path> option.
    +
    +

    http://www.zlib.net/

    +

    查找并下载最新版本 Zlib 源码,并解压

    +
    wget -c http://zlib.net/zlib-1.2.8.tar.gz
    +tar zxvf zlib-1.2.8.tar.gz
    +cd zlib-1.2.8
    +pwd
    +# /home/user/nginx-1.11.3/zlib-1.2.8
    +
    +
    ./configure --with-pcre=/home/user/nginx-1.11.3/pcre-8.38 --with-openssl=/home/user/nginx-1.11.3/openssl-1.0.2h --with-zlib=/home/user/nginx-1.11.3/zlib-1.2.8 --with-http_ssl_module --with-http_v2_module
    +
    +

    安装

    +
    make
    +sudo make install
    +
    +

    apt-get 方式安装 nginx

    +
    cd /etc/apt/
    +sudo vi nginx_signing.key
    +
    +

    把如下内容粘贴到里边

    +
    -----BEGIN PGP PUBLIC KEY BLOCK-----
    +Version: GnuPG v2.0.22 (GNU/Linux)
    +
    +mQENBE5OMmIBCAD+FPYKGriGGf7NqwKfWC83cBV01gabgVWQmZbMcFzeW+hMsgxH
    +W6iimD0RsfZ9oEbfJCPG0CRSZ7ppq5pKamYs2+EJ8Q2ysOFHHwpGrA2C8zyNAs4I
    +QxnZZIbETgcSwFtDun0XiqPwPZgyuXVm9PAbLZRbfBzm8wR/3SWygqZBBLdQk5TE
    +fDR+Eny/M1RVR4xClECONF9UBB2ejFdI1LD45APbP2hsN/piFByU1t7yK2gpFyRt
    +97WzGHn9MV5/TL7AmRPM4pcr3JacmtCnxXeCZ8nLqedoSuHFuhwyDnlAbu8I16O5
    +XRrfzhrHRJFM1JnIiGmzZi6zBvH0ItfyX6ttABEBAAG0KW5naW54IHNpZ25pbmcg
    +a2V5IDxzaWduaW5nLWtleUBuZ2lueC5jb20+iQE+BBMBAgAoAhsDBgsJCAcDAgYV
    +CAIJCgsEFgIDAQIeAQIXgAUCV2K1+AUJGB4fQQAKCRCr9b2Ce9m/YloaB/9XGrol
    +kocm7l/tsVjaBQCteXKuwsm4XhCuAQ6YAwA1L1UheGOG/aa2xJvrXE8X32tgcTjr
    +KoYoXWcdxaFjlXGTt6jV85qRguUzvMOxxSEM2Dn115etN9piPl0Zz+4rkx8+2vJG
    +F+eMlruPXg/zd88NvyLq5gGHEsFRBMVufYmHtNfcp4okC1klWiRIRSdp4QY1wdrN
    +1O+/oCTl8Bzy6hcHjLIq3aoumcLxMjtBoclc/5OTioLDwSDfVx7rWyfRhcBzVbwD
    +oe/PD08AoAA6fxXvWjSxy+dGhEaXoTHjkCbz/l6NxrK3JFyauDgU4K4MytsZ1HDi
    +MgMW8hZXxszoICTTiQEcBBABAgAGBQJOTkelAAoJEKZP1bF62zmo79oH/1XDb29S
    +YtWp+MTJTPFEwlWRiyRuDXy3wBd/BpwBRIWfWzMs1gnCjNjk0EVBVGa2grvy9Jtx
    +JKMd6l/PWXVucSt+U/+GO8rBkw14SdhqxaS2l14v6gyMeUrSbY3XfToGfwHC4sa/
    +Thn8X4jFaQ2XN5dAIzJGU1s5JA0tjEzUwCnmrKmyMlXZaoQVrmORGjCuH0I0aAFk
    +RS0UtnB9HPpxhGVbs24xXZQnZDNbUQeulFxS4uP3OLDBAeCHl+v4t/uotIad8v6J
    +SO93vc1evIje6lguE81HHmJn9noxPItvOvSMb2yPsE8mH4cJHRTFNSEhPW6ghmlf
    +Wa9ZwiVX5igxcvaIRgQQEQIABgUCTk5b0gAKCRDs8OkLLBcgg1G+AKCnacLb/+W6
    +cflirUIExgZdUJqoogCeNPVwXiHEIVqithAM1pdY/gcaQZmIRgQQEQIABgUCTk5f
    +YQAKCRCpN2E5pSTFPnNWAJ9gUozyiS+9jf2rJvqmJSeWuCgVRwCcCUFhXRCpQO2Y
    +Va3l3WuB+rgKjsQ=
    +=EWWI
    +-----END PGP PUBLIC KEY BLOCK-----
    +
    +

    然后:wq保存

    +
    sudo apt-key add nginx_signing.key
    +sudo vi sources.list
    +
    +

    在最后一行加入下面两行的内容:

    +
    deb http://nginx.org/packages/ubuntu/ trusty nginx
    +deb-src http://nginx.org/packages/ubuntu/ trusty nginx
    +
    +

    再更新,并安装:

    +
    apt-get update
    +apt-get install nginx
    +
    +

    如果解压报错,执行:

    +
    # 替换 deb 文件路径
    +sudo dpkg -i --force-overwrite  /var/cache/apt/archives/nginx_1.12.1-1~trusty_amd64.deb
    +sudo apt-get -f install
    +
    +

    配置 Nginx

    +

    参考修改安装目录下的默认配置 conf/nginx.conf

    +
    #user  nobody;
    +worker_processes auto;
    +worker_rlimit_nofile 100000;
    +
    +#pid        logs/nginx.pid;
    +
    +events {
    +    worker_connections 10240;
    +    multi_accept on;
    +    use epoll;
    +}
    +
    +http {
    +    include       mime.types;
    +    default_type  application/octet-stream;
    +
    +    sendfile        on;
    +    keepalive_timeout  65;
    +
    +    # 从项目载入nginx配置
    +    # include /home/user/project/conf/nginx.conf;
    +}
    +
    +

    HTTP/2 项目配置:

    +
    server {
    +        listen 80;
    +        server_name example.com;
    +        add_header Strict-Transport-Security max-age=15768000;
    +        return 301 https://example.com$request_uri;
    +}
    +
    +server {
    +        listen       443 ssl http2;
    +        server_name  example.com;
    +
    +        # ssl_dhparam        /home/user/project/config/dhparam.pem;
    +        ssl_certificate      /home/user/project/config/ssl.crt;
    +        ssl_certificate_key  /home/user/project/config/ssl.key;
    +
    +        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    +        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!CAMELLIA;
    +        ssl_prefer_server_ciphers on;
    +        ssl_session_cache shared:SSL:10m;
    +        ssl_session_timeout 10m;
    +        add_header Strict-Transport-Security "max-age=31536000;";
    +        #add_header  X-Content-Type-Options "nosniff";
    +        #add_header X-Frame-Options DENY;
    +
    +        access_log off;
    +        error_log /home/user/logs/example.com.error.log crit;
    +
    +        location / {
    +                if ($http_user_agent = Mozilla/4.0){
    +                  return 503;
    +                }
    +                proxy_set_header X-Real-IP $remote_addr;
    +                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    +                proxy_set_header Host $host;
    +                proxy_set_header X-NginX-Proxy true;
    +                proxy_pass http://127.0.0.1:8888/;
    +                proxy_redirect off;
    +        }
    +}
    +
    +

    配置开机自启动

    +

    文件位置: /etc/rc.local

    +

    示例:

    +
    #!/bin/sh -e
    +#
    +# rc.local
    +#
    +# This script is executed at the end of each multiuser runlevel.
    +# Make sure that the script will "exit 0" on success or any other
    +# value on error.
    +#
    +# In order to enable or disable this script just change the execution
    +# bits.
    +#
    +# By default this script does nothing.
    +
    +/usr/bin/nginx &
    +sleep 1
    +sudo -u willin /project/path redis &
    +exit 0
    +
    +

    Node.js 项目,使用PM2工具:

    +
    pm2 startup
    +
    +

    根据界面提示,如:

    +
    [PM2] You have to run this command as root. Execute the following command:
    +      sudo su -c "env PATH=$PATH:/usr/local/bin pm2 startup linux -u username --hp /home/username"
    +
    +

    执行相应代码。

    +

    如果已经添加过开机自启动,更新自启项目:

    +
    pm2 dump
    +pm2 save
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/operation/workflow/index.html b/experience/operation/workflow/index.html new file mode 100644 index 00000000..9410f0d4 --- /dev/null +++ b/experience/operation/workflow/index.html @@ -0,0 +1,297 @@ + + + + CI 持续交付 - 团队领袖计划 + + +

    + CI 持续交付 +

    持续交付工作流

    +

    阿里云持续交付平台: https://crp.aliyun.com/

    +

    1.触发器任务

    +

    Image

    +

    点击红色箭头所指圆圈位置设置触发器任务。

    +

    一般情况下,需要部署到产品环境是侦听Master分支,集成测试可以为其他开发分支。

    +

    本文示例以一套完整的自动化测试部署流程为例,选择了Master分支。

    +

    2.代码检出

    +

    Image

    +

    这里的信息都是自动填入的,无需做更改。

    +

    3.集成测试

    +

    如果是简单的测试脚本,如单元测试,不需要数据库的。可以直接使用阿里云的编译测试功能,如下图所示:

    +

    Image

    +

    如果有专门的测试服务,可以用如下图所示方式进行测试:

    +

    Image

    +

    提示:CRP 提供的测试环境是 Ubuntu,未安装数据库,但据说可以自己安装,目前还没有尝试过。

    + +

    注意点

    +

    自动完成

    +

    左侧活动信息中,【自动完成】选项,如果勾选,则测试通过就会自动进入下一步(如部署产品环境),否则会停在这里,需要手动触发,如下图所示:

    +

    Image

    +

    表单项

    +
    目标机器
    +

    填入测试服务器 ip。

    +
    部署路径
    +

    可以是用户目录,如 /home/user/

    +

    或是项目目录,如 /home/user/project

    +

    无太大影响,因为【部署命令】中可以使用 cd 命令。

    +

    一般这里我填入的是用户目录。

    +
    部署命令
    +

    流程:

    +
      +
    1. 根据需要,启动、重启数据库/缓存服务(一般可以不用放在自动测试流程里)
    2. +
    3. 进入项目目录
    4. +
    5. 更新代码,新建当前版本分支,以备回滚操作
    6. +
    7. 更新依赖项
    8. +
    9. 启动测试脚本
    10. +
    +

    Shell 命令

    +
    cd /home/xxx-user/xxx-project/
    +git checkout .
    +git fetch
    +git checkout $CODE_VERSION
    +npm -d install
    +npm update
    +npm test
    +# 产品环境加入:
    +# pm2 reload xxx-server-name
    +
    +
    登录用户
    +

    SSH 登入服务的用户名称

    +

    提示: 系统需要您的目标机器添加部署公钥方可执行部署任务。请将公钥拷贝到服务器部署用户目录的$HOME/.ssh/authorized_keys 文件中。

    +

    4.自动部署

    +

    新建流程

    +

    模板默认流程只有两个,需要新建的时候根据下图:

    +

    Image

    +

    箭头所指小圆圈部分单击拖拽新建一个工作流,并将结束定向到新的工作流上。

    +

    Image

    +

    注意点

    +
      +
    1. 【自动触发】、【自动完成】勾选上,如果需要,还可以打开【异常通知】
    2. +
    3. 【目标机器】如有多台负载均衡横向扩展的相同环境机器以逗号分隔
    4. +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/experience/operation/workflow1.png b/experience/operation/workflow1.png similarity index 100% rename from static/experience/operation/workflow1.png rename to experience/operation/workflow1.png diff --git a/static/experience/operation/workflow2.png b/experience/operation/workflow2.png similarity index 100% rename from static/experience/operation/workflow2.png rename to experience/operation/workflow2.png diff --git a/static/experience/operation/workflow3-1.png b/experience/operation/workflow3-1.png similarity index 100% rename from static/experience/operation/workflow3-1.png rename to experience/operation/workflow3-1.png diff --git a/static/experience/operation/workflow3-2.png b/experience/operation/workflow3-2.png similarity index 100% rename from static/experience/operation/workflow3-2.png rename to experience/operation/workflow3-2.png diff --git a/static/experience/operation/workflow3-3.png b/experience/operation/workflow3-3.png similarity index 100% rename from static/experience/operation/workflow3-3.png rename to experience/operation/workflow3-3.png diff --git a/static/experience/operation/workflow4-1.png b/experience/operation/workflow4-1.png similarity index 100% rename from static/experience/operation/workflow4-1.png rename to experience/operation/workflow4-1.png diff --git a/static/experience/operation/workflow4-2.png b/experience/operation/workflow4-2.png similarity index 100% rename from static/experience/operation/workflow4-2.png rename to experience/operation/workflow4-2.png diff --git a/experience/project/develop/index.html b/experience/project/develop/index.html new file mode 100644 index 00000000..44f58ea6 --- /dev/null +++ b/experience/project/develop/index.html @@ -0,0 +1,255 @@ + + + + 开发指南 - 团队领袖计划 + + +

    + 开发指南 +

    产品研发流程

    +
    +

    需求 -> 设计 -> 开发 -> 测试 -> 验收

    +
    +

    开发环节中,需要包含中间的三个过程,设计、开发、测试。

    +

    设计 > 测试 > 开发 (重要程度)

    +

    不经过思考的代码是站不住脚的。

    +

    任何功能模块在编写代码之前,最重要的是理解业务流程,将其用流程图、时序图或其他方式表达出来,参考设计图和相关记录文档文字进行开发。做到先设计,后编码。

    +

    Image

    +

    基本过程:

    +
      +
    1. 明确当前要完成的功能,可以记录成一个 TODO 列表。
    2. +
    3. 快速完成针对此功能的测试用例编写。
    4. +
    5. 测试代码编译不通过。
    6. +
    7. 编写对应的功能代码。
    8. +
    9. 测试通过。
    10. +
    11. 对代码进行重构,并保证测试通过。
    12. +
    13. 循环完成所有功能的开发。
    14. +
    +

    后面的几个章节将通过实践讲解,如何搭建一个用户账号体系的完整过程。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/project/divide/index.html b/experience/project/divide/index.html new file mode 100644 index 00000000..2eb2d623 --- /dev/null +++ b/experience/project/divide/index.html @@ -0,0 +1,239 @@ + + + + 分治原则 - 团队领袖计划 + + +

    + 分治原则 +

    往往在架构设计的时候, 只有一到两个数据中心, 数据中心将会处理大量的数据和请求, 所以会承担很大的性能压力.

    +

    那么, 能在区域服务器上进行的处理和运算, 没有必要扔到数据中心去进行; 能在网关上进行的处理和运算, 没有必要扔到服务器上去进行; 能在客户端上进行的处理和运算, 没有必要扔到网关上去运行.

    +

    举个简单的例子, 一台负载均衡器下的服务器配置可能是双核心, 4GB 内存. 这一台服务器, 能够承载的并发是 10 万级, 而目前的智能终端(比如智能手机), 可能都是 4 核 8 核, 6GB 内存之类的, 实际上已经有很强大的运算能力了. 足够承担起很大一部分的数据预处理和初筛的工作.

    +

    所以, 可以将服务器的压力逐层进行下放, 让下面连接的服务器, 网关和终端各自承担一部分运算处理工作, 充分利用各个存储运算单元.

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/experience/project/flow.png b/experience/project/flow.png similarity index 100% rename from static/experience/project/flow.png rename to experience/project/flow.png diff --git a/static/experience/project/hmap.png b/experience/project/hmap.png similarity index 100% rename from static/experience/project/hmap.png rename to experience/project/hmap.png diff --git a/experience/project/mvp/index.html b/experience/project/mvp/index.html new file mode 100644 index 00000000..6692afd2 --- /dev/null +++ b/experience/project/mvp/index.html @@ -0,0 +1,255 @@ + + + + MVP原则 - 团队领袖计划 + + +

    + MVP原则 +

    人无远虑必有近忧。能在设计过程中解决掉的问题,绝对不要拖到实现过程中迭代。

    最简化可实行产品原则, 以Webpack示例:

    +

    既有项目引入新的组件/库

    +

    假设现有项目用到了 react, react-router , antd 等库, 并且 controller, router, model, view 已基本成型.

    +

    此时如果要引入 mobx, 最佳实践步骤为:

    +
      +
    1. 新建一个空项目, 将既有库 react, antd 等安装, 配置一个最简单的 hello world 路由
    2. +
    3. 安装 mobx, 引入并测试通过
    4. +
    5. 再在原有项目上进行功能扩充
    6. +
    +

    既有项目打包优化

    +

    假设现有项目用到了 react, react-router , antd, mobx 等库, 并且 controller, router, model, view 已基本成型. webpack 打包过大, 应用性能较差.

    +

    最佳实践步骤:

    +
      +
    1. 新建一个空项目, 新建一个空的 webpack 配置
    2. +
    3. 安装 react (或 antd, 或 mobx等) 写一个简单示例引入项目
    4. +
    5. 针对单一库进行 webpack 打包优化, 一般情况下, 除了 loader rules / vendor 需要每个库单独优化, 其他配置都能保证通用
    6. +
    7. 一项优化完成后重复 2,3 步骤, 直到所有库优化完成
    8. +
    9. 对原有项目的 webpack 配置进行替换, 不动项目源码
    10. +
    11. 进一步优化, 比如 react-router-loader 之类的引入, 开始针对项目源码进行优化
    12. +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/project/structure/index.html b/experience/project/structure/index.html new file mode 100644 index 00000000..65dc71e7 --- /dev/null +++ b/experience/project/structure/index.html @@ -0,0 +1,279 @@ + + + + 项目结构 - 团队领袖计划 + + +

    + 项目结构 +

    目录分配尽可能简洁、清晰。

    +

    服务器端:MVC 模式

    +

    项目目录结构:

    +
    .
    +├── bin
    +│   └── # 可执行文件
    +├── config
    +│   └── # 配置文件
    +├── lib
    +│   └── # 通用类
    +├── locales
    +│   └── # 语言文件
    +├── package.json
    +├── routes
    +│   └── v3 (子项目)
    +│       ├── handlers
    +│       │   └── # Controller
    +│       ├── models
    +│       │   └── # Model
    +│       └── views (接口可无,另推荐前后端分离)
    +│           └── # View
    +└── test
    +
    +

    客户端:MVVM 模式

    +
    .
    +├── app
    +│   ├── app.js
    +│   └── index.html
    +├── main.js
    +└── src
    +    ├── app.js
    +    ├── components
    +    │   └── # View Model
    +    ├── index.less
    +    ├── model
    +    │   └── # Model
    +    ├── routes
    +    │   └── # View
    +    ├── webpack.config.js
    +    └── webpack.config.prod.js
    +
    +

    测试:BDD

    +

    BDD

    +

    上图为 BDD 测试目录,非测试用例文件(或目录)以_开头。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/experience/project/sys.png b/experience/project/sys.png similarity index 100% rename from static/experience/project/sys.png rename to experience/project/sys.png diff --git a/static/experience/project/test.png b/experience/project/test.png similarity index 100% rename from static/experience/project/test.png rename to experience/project/test.png diff --git a/static/experience/project/user.graffle b/experience/project/user.graffle similarity index 100% rename from static/experience/project/user.graffle rename to experience/project/user.graffle diff --git a/experience/project/user/bdd/index.html b/experience/project/user/bdd/index.html new file mode 100644 index 00000000..bdf931e4 --- /dev/null +++ b/experience/project/user/bdd/index.html @@ -0,0 +1,367 @@ + + + + 行为驱动开发实践 - 团队领袖计划 + + +

    + 行为驱动开发实践 +

    本实践项目源码: https://coding.net/u/willin/p/bdd-practice/git

    +

    配置数据库

    +

    开启 MySQL 和 Redis 服务。

    +

    创建数据库 bdd。根据数据库设计章节创建userusermeta两张表。

    +

    初始化项目

    +
    git init
    +npm init
    +
    +

    安装 ESLint 和 Babel 环境

    +
    cnpm i --save-dev eslint babel-eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-react
    +cnpm i --save babel-register babel-runtime babel-plugin-transform-runtime babel-preset-es2015 babel-preset-es2015-loose babel-preset-stage-1
    +
    +

    Tree:

    +
    ├── .babelrc
    +├── .eslintignore
    +├── .eslintrc.json
    +├── .git
    +├── .gitignore
    +├── README.md
    +├── node_modules
    +└── package.json
    +
    +2 directories, 6 files
    +
    +

    参考: https://github.com/w2fs/best-practice

    +

    创建配置文件。

    +

    配置 ava、nyc

    +
    npm install ava nyc --save-dev
    +./node_modules/.bin/ava --init
    +
    +

    Package.json 修改:

    +
    "scripts": {
    +  "test": "NODE_ENV=test ./node_modules/.bin/nyc --reporter=text --reporter=html ./node_modules/.bin/ava -v --fail-fast"
    +},
    +"nyc": {
    +  "lines": 95,
    +  "functions": 90,
    +  "branches": 90,
    +  "check-coverage": true,
    +  "report-dir": "./.nyc_output",
    +  "exclude": [
    +    "node_modules",
    +    "test",
    +    "test{,-*}.js",
    +    "**/*.test.js",
    +    "**/__tests__/**"
    +  ]
    +},
    +"ava": {
    +  "files": [
    +    "test/*.js",
    +    "test/**/*.js",
    +    "!**/_*/*.js",
    +    "!**/_*.js"
    +  ],
    +  "require": [
    +    "babel-register"
    +  ],
    +  "babel": "inherit"
    +}
    +
    +

    参考项目 init 代码: https://coding.net/u/willin/p/bdd-practice/git/tree/5c42541a2985b54619d09372ef05fc999b108f9a

    + +

    用户登陆接口实现

    +

    设计

    +

    Route: /user/login

    +

    Payload:

    +
    {
    +  username: joi.alternatives().try(
    +    joi.string().email().max(32),
    +    joi.number().integer().min(10000000000).max(19999999999),
    +    joi.string().min(3).max(16)
    +  ).required().description('手机号,邮箱,或用户名'),
    +  password: joi.string().min(6).max(255).required().description('密码,密文'),
    +  guid: joi.string().required().default('').description('设备唯一识别码')
    +}
    +
    +

    Result:

    +

    登陆成功:

    +
    {
    +  status: 1,
    +  data: {
    +    token: 'Access Token',
    +    expires: 3600 // Access Token有效期
    +  }
    +}
    +
    +

    通用错误

    +
    {
    +  status: 0,
    +  err_code: 500,
    +  error_msg: 'Server Error'
    +}
    +
    +

    编码

    +

    首先编写测试用例, test/user/login.js。注意测试的顺序:

    +
      +
    1. 200 登录成功
    2. +
    3. 400 参数错误
    4. +
    5. 401 用户名或密码错误,连续三次
    6. +
    7. 403 超出限制,正确用户密码登录
    8. +
    +

    并且需要注意:

    +
      +
    1. 测试前需要添加测试数据(测试用户),且信息不能与其他测试用例冲突(并行执行测试)
    2. +
    3. 测试后要删除测试数据,不要使用清空数据库之类的操作,以免对其他测试用例产生影响
    4. +
    5. 测试前也需要删除测试数据(以免前一次测试失败数据未删除而产生数据污染)
    6. +
    +

    检查测试用例是否覆盖完整,以及测试用例是否写错。

    +

    这时候直接开始跑测试用例的话会报错。

    +

    测试用例参考: https://coding.net/u/willin/p/bdd-practice/git/blob/master/test/user/login.js

    +

    根据测试用例,开始编写功能模块代码。

    +

    另外,有一种情况是测试无法覆盖的,就是登录半小时的限制,我们也没有必要让测试用例一直运行等待半个小时再测。可以直接检查 Redis 里的缓存是否正常,以及 TTL 超时是否在合理范围内。

    +

    示例:

    +
    test('Login trial redis ttl', async (t) => {
    +  const value = await client.get('trial:guid-xxx');
    +  // 循环错误3次,加上已经限制还再继续尝试的1次
    +  t.is(value, 4);
    +  const ttl = await client.ttl('trial:guid-xxx');
    +  // 限制超时应当小于半小时
    +  t.true(ttl <= 1800);
    +});
    +
    +

    剩下的编码部分就没什么可讲的了。 注意逻辑判断,测试代码覆盖率,没必要的判断不要加。

    +

    注意点:

    +
      +
    • 数据库连接,使用连接池,并在所有查询完成后释放;
    • +
    • 数据库查询禁止 select field1, (select xxx) as field2 嵌套查询;
    • +
    • 慢 SQL,如多张表JOIN的查询,根据业务逻辑,考虑加 Redis 缓存;
    • +
    • 代码覆盖率要求95%以上,分支覆盖90%以上,只有异常捕获的代码和测试环境下的分支可以 ignore;
    • +
    • 不要用 [].forEach() 方法做轮询,直接用for
    • +
    • 算法、逻辑细节。
    • +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/project/user/cache/index.html b/experience/project/user/cache/index.html new file mode 100644 index 00000000..91c58436 --- /dev/null +++ b/experience/project/user/cache/index.html @@ -0,0 +1,285 @@ + + + + 缓存设计 - 团队领袖计划 + + +

    + 缓存设计 +

    缓存结构设计示例。

    +

    说明

    +

    常规结构:

    +
    Type:Key:SubKey
    +
    +

    :区分,在管理工具上会自动变成文件夹可收缩。

    +

    注册频率限制

    +

    Key:

    +
    reg:#手机唯一id或注册ip#
    +
    +

    Value:

    +
    成功注册的用户名或手机号
    +
    +

    (记录可以有迹可循,如果不需要查询,直接记录固定值,如1即可)

    +

    TTL: 1800(s)

    +

    说明:

    +
    +

    注册成功后创建该key;判断,如果取到非null值,禁止注册。

    +
    +

    登录尝试限制

    +

    Key:

    +
    trial:#手机唯一id或登录ip#
    +
    +

    Value:

    +
    错误尝试次数
    +
    +

    TTL: 1800(s)

    +

    说明:

    +
    +

    初次尝试新建该key,值为 1;判断,如果值大于 3,禁止登录。

    +
    +

    复杂缓存结构示例

    +

    接口性能监控,如图:

    +

    Image

    +

    结构:

    +

    Key:

    +
    api:#记录日期#
    +
    +

    Value: 数组(通过 Redis HSetHGet命令进行存储和读取)

    +
    [
    +  key:'#total(总计)/来源(如android-xxx/ios-xxx/device-xxx/web-xxx)/路径(如app1/v2/path/action)#'
    +  value: { // JSON.stringify(#对象#)
    +    count: '请求次数',
    +    success: '成功次数',
    +    avg: '平均响应时间',
    +    max: '最大响应时间',
    +    min: '最小响应时间'
    +  }
    +]
    +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/project/user/db/index.html b/experience/project/user/db/index.html new file mode 100644 index 00000000..f35e262e --- /dev/null +++ b/experience/project/user/db/index.html @@ -0,0 +1,285 @@ + + + + 数据库表结构设计 - 团队领袖计划 + + +

    + 数据库表结构设计 +

    ER 图,略。

    + +

    用户基本信息表

    +

    示例:

    +
    CREATE TABLE `user` (
    +  `uid` int(11) unsigned NOT NULL COMMENT '用户ID',
    +  `username` char(16) NOT NULL DEFAULT '' COMMENT '用户名',
    +  `password` char(32) NOT NULL DEFAULT '' COMMENT '密码',
    +  `salt` char(8) NOT NULL DEFAULT '' COMMENT '加盐加密',
    +  `mobile` char(16) NOT NULL DEFAULT '' COMMENT '手机号',
    +  `createdat` int(10) unsigned NOT NULL COMMENT '注册时间',
    +  `updatedat` int(10) unsigned NOT NULL COMMENT '更新时间',
    +  PRIMARY KEY (`uid`),
    +  UNIQUE KEY `username` (`username`),
    +  UNIQUE KEY `mobile` (`mobile`)
    +) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    +
    +

    说明:

    +
      +
    1. uid 主键没有设置自增 id,可以随机分配,但需要在不同数据库上分号段注册,以及需要判断是否已注册
    2. +
    3. password 密码不能直接MD5SHA1加密存储,需要加盐加密
    4. +
    5. createdat表示注册时间,updatedat表示密码修改、手机绑定等更新时间
    6. +
    7. 用户名和手机号均为唯一字段
    8. +
    9. 养成加注释的习惯
    10. +
    +

    用户附加信息表

    +

    将非基本信息,如开发者资料、用户详细资料、认证、等级等存入用户附加信息表(也可建多个附加信息表,如用户认证表、用户配置表等)。

    +

    示例:

    +
    CREATE TABLE `usermeta` (
    +  `uid` int(11) unsigned NOT NULL COMMENT '用户ID',
    +  `truename` char(16) NOT NULL DEFAULT '' COMMENT '真实姓名',
    +  `gender` enum('male','famale') NOT NULL DEFAULT 'male' COMMENT '性别',
    +  `verified` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '实名认证',
    +  PRIMARY KEY (`uid`)
    +) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    +
    +

    说明:

    +
      +
    1. 如果需要按姓名或性别查找,将 truenamegender 字段加索引
    2. +
    3. 查找一个用户是否已经完成实名认证,可以用 SELECT t2.verified FROM user t1 LEFT JOIN usermeta t2 ON t1.uid=t2.uid WHERE t1.username = ? LIMIT 1方式查询
    4. +
    +

    其他表

    +

    部分信息不需要存入数据库,如日志,可以存在 log 文件中;登录信息,可以用 Redis 等缓存存储。综合考虑性能、成本及服务器配置决定。

    +

    再讲解一种,针对开发者的表设计。

    +

    举例,开发者一般有两种类型,企业开发者、个人开发者。

    +

    那么,可以在usermeta表里加一个开发者类型字段,dev_type

    +
    `dev_type` enum('personal','enterprise') NOT NULL DEFAULT 'personal' COMMENT '开发者类型'
    +
    +

    另外建两张表,为 developer_personaldeveloper_enterprise 分别存放个人开发者和企业开发者的相关信息字段。

    +

    可以在系统的业务逻辑里加入一些限制,如个人开发者可以升级为企业开发者,企业开发者不能再改为个人开发者之类的。

    +

    Tips:JavaScript 中命名法则最好使用驼峰法,如userActions。而 MySQL 中不区分大小写,所以可以采用下划线命名法,如user_actions,在SELECT查询时使用AS aliasName设置别名即可。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/project/user/module/index.html b/experience/project/user/module/index.html new file mode 100644 index 00000000..b45b2331 --- /dev/null +++ b/experience/project/user/module/index.html @@ -0,0 +1,274 @@ + + + + 功能模块设计 - 团队领袖计划 + + +

    + 功能模块设计 +

    实现 注册、登录、注销、密码找回 的需求。

    +

    用户可以通过手机号进行登录和密码找回。

    +

    系统结构图

    +

    示例:

    +

    Image

    +

    功能模块

    +

    注册

    +

    流程图,示例:

    +

    Image

    +

    涉及参数:

    +
      +
    • 用户名
    • +
    • 密码
    • +
    • 手机号
    • +
    • 短信验证码
    • +
    +

    约束条件:

    +
      +
    • 短信验证码发送频率限制 90s
    • +
    • 注册频率限制每 30 分钟只能注册 1 次
    • +
    +

    (示例,根据实际需求和业务进行约束)

    +

    登录

    +

    涉及参数:

    +
      +
    • 用户名或手机号
    • +
    • 密码
    • +
    +

    约束条件:

    +
      +
    • 30 分钟内 连续出错 3 次 限制登录
    • +
    +

    找回密码

    +

    涉及参数:

    +
      +
    • 手机号
    • +
    • 短信验证码
    • +
    • 新密码
    • +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/experience/project/user/particulars/index.html b/experience/project/user/particulars/index.html new file mode 100644 index 00000000..36fe0c1b --- /dev/null +++ b/experience/project/user/particulars/index.html @@ -0,0 +1,326 @@ + + + + 代码细节处理 - 团队领袖计划 + + +

    + 代码细节处理 +

    请求超时无返回

    +

    原因:

    +

    1.如果 CPU 没有飙升,可能有异常未捕获

    +

    可能情况 1,如: sql SELECT xxxx LIMIT 1 的查询,直接用了 result[0]。 但也可能并没查到结果。

    +

    可能情况 2,如: JSON.parse(xxxData),或者在用第三方库的时候注意一下,如果方法不是返回Promise对象,很可能异常的时候是Throw出一个错误,需要做try/catch捕获。

    +

    可能情况 3,如: Callback 方法,如 client.query((result, err)=> { }),中,需要加 if(err) 的判断。

    +

    2.CPU 飙升:大多数情况是死循环

    +

    如:

    +
    for (let i = 0; i < xxx1.length; i++) {
    +  for (let j = 0; i < xxx2.length; j++) {
    +    // xxx
    +  }
    +}
    +
    +

    第二个循环条件中 j 用成了 i 导致死循环产生。

    +

    死循环大多发生于对数据遍历的处理。产生死循环最大的可能原因是**循环的条件**。

    +

    如果在循环体内用到以下一些方法,也需要特别注意:

    +
      +
    • 对数据数组的改动,如:pop/shift/slice
    • +
    • 循环体的退出,如:break/continue
    • +
    +

    可以配合PM2和定时任务脚本对进程 CPU 占用进行监控,自动重启服务。

    +

    内存泄露

    +

    基本情况排查参考: https://cnodejs.org/topic/4fa94df3b92b05485007fd87

    +

    比较常见的:

    +
    exports.Func = async () => {
    +  // 避免方法内require
    +  const redisClient = require('@dwing/redis');
    +
    +  // 没必要放在方法里,可以放到外边,多个方法共用
    +  const redis = redisClient({
    +    // config
    +  });
    +  // xxxx
    +};
    +
    +

    MySQL 编码细节

    +
    const { pool } = require('@dwing/mysql');
    +const { isEmpty } = require('@dwing/common');
    +
    +(async () => {
    +  // 包裹在async中
    +  const client = await pool({
    +    // mysql有await,redis没有
    +    // config
    +  });
    +  const result = await client.query('SELECT 1');
    +  if (isEmpty(result) && !Array.isArray(result)) {
    +    // 查询出错,不能用 result[]
    +  }
    +  if (isEmpty(result)) {
    +    // 查询结果为空,不能用 result[]
    +  }
    +  return result[0];
    +})();
    +
    +

    除了SELECT的结果是数组,其他的都是对象,并且包含result.affectedRows

    +
    const result = await client.query('UPDATE xxx SET xxx WHERE xxx');
    +if (isEmpty(result)) {
    +  // 查询出错, 不能用 result.affectedRows
    +}
    +return result.affectedRows;
    +
    + +

    Redis 编码细节

    +
    const redisClient = require('wulian-redis');
    +const redis = redisClient({
    +  // config
    +});
    +
    +(async () => {
    +  // 包裹在async中
    +  const result = await redis.get('xxxKey');
    +  if (result === null) {
    +    // xxxKey不存在,返回值为 null
    +  }
    +})();
    +
    +

    如果要存取JSON格式数据:

    +
    await redis.set('xxxKey', JSON.stringify(xxxJSONVal));
    +
    +let result = {};
    +try {
    +  // 读取要异常捕获,不然篡改值可能导致程序崩
    +  result = JSON.parse(await redis.get('xxxKey'));
    +} catch (e) {}
    +
    +

    如果要设置超时:

    +
    await redis.setex('xxxKey', 3600, JSON.stringify(xxxJSONVal));
    +
    +

    其他资料

    +

    性能调优与故障排查: https://github.com/JacksonTian/jsconfcn2016

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/favicon.ico b/favicon.ico similarity index 100% rename from static/favicon.ico rename to favicon.ico diff --git a/index.html b/index.html new file mode 100644 index 00000000..cda88384 --- /dev/null +++ b/index.html @@ -0,0 +1,274 @@ + + + + 《不可替代的团队领袖培养计划》 - 团队领袖计划 + + +

    + 《不可替代的团队领袖培养计划》 +

    前言

    +
    +

    对于工作上应该做什么事,如果你没有自己的想法,而是完全听主管的,很危险。多数的主管不会在乎你的成长,也不会把公司的利益摆第一位,他们最在乎的是自己的工作绩效,而他们的工作绩效是要靠你们去达成的。完全听他们的任务布置去做,没有自己的主张,东一榔头,西一棒槌,几年下来就变打杂的了。 +——蔡学镛

    +
    +

    本书由浅及深主要包括如下几个方面:

    +

    知识

    +

    介绍 OS X 上个人常用的效率、开发、设计工具及使用技巧。从基础常识讲起,推荐一些工具、资源,以及自动化测试、持续集成的一些概念入门。技术栈主要为:

    +
      +
    • 前端: Vanilla JS / React / Vue 等
    • +
    • 后端: Node.js 为主, 包括: GraphQL / Koa / HAPI / Express 等
    • +
    • 数据库: MySQL / Redis / MongoDB 等
    • +
    +

    经验

    +

    从产品架构设计到项目实践,再到部署运维的各方面的技术、管理、流程小细节。

    +

    大部分涉及到的项目经验来自于实际项目中踩的坑, 部分提供示例的项目源码, 而更多的希望你们在这些过程中去理解遇到问题时的分析与解决思路.

    +

    思想

    +

    未来的世界不属于富人,更不属于穷人,只会属于有思想的人。

    +

    总结个人在工作中积累的思想原则,和看重的一些能力及培养方法。

    +
    +

    2016.8.3 晚写下了本书的第一行话,当时想的名字为《可替代的团队领袖培养计划》,其寓意是希望这些知识经验在团队内部分享,能够培养出更优秀的人才,每个人都能够替代我做得更好。如果能够因此有所建树,则将会成为不可替代的团队领袖。

    +

    源码: https://github.com/willin/leader.js.cool

    +

    欢迎进行反馈交流。同时非常期待您在 Github 上 Follow 我 (@willin).

    +

    iOS 用户可以使用 Safari 将本书添加到主屏幕:

    +

    homescreen

    +

    © Willin Wang

    +
    +

    你离技术经理,只差这本书: https://leader.js.cool

    +

    如果还想看视频类的,可以到我的斗鱼直播间来一波正义的订阅: https://www.douyu.com/200058

    +

    CHANGELOG

    +
      +
    • 2020.09.17: 更新到 Nuxt 框架
    • +
    • 2018.02.28: 开设 GraphQL 专栏
    • +
    • 2017.06.26: 优化阅读体验,下一次回来的时候会自动跳转到上一次的位置继续阅读。欢迎 iOS 用户将本书添加到主屏幕
    • +
    • 2017.06.20: 将本书的网站从 GitBook 转移到了 Docsify
    • +
    • 2016.08.03: 该项目创建
    • +
    +

    p.s.

    +

    最近经常收到未备注昵称或网址的捐赠,请留下你的代号,以便于鸣谢。谢谢~

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/capability/growth/index.html b/mind/capability/growth/index.html new file mode 100644 index 00000000..478a7339 --- /dev/null +++ b/mind/capability/growth/index.html @@ -0,0 +1,323 @@ + + + + 新人成长 - 团队领袖计划 + + +

    + 新人成长 +

    关注能力的成长,待遇的提升。

    + +

    工作的前两年

    +

    如果你不能拼爹,或者不想拼爹,最好的方法是拼实力。

    +
    +

    合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。

    +
    +

    所以,你必须要从基层做起。当然,所谓的基层,并不是端茶倒水,但多一些体验,总是无害的。

    +

    前两年的时间,应当主要打好基础的累积,认清职业现状和社会经济发展趋势,适应工作后的生活,对心灵浮躁的洗涤。

    +

    这一阶段最大的敌人是自身的态度,切忌不可眼高手低,牢记一句话——“心比天高,命比纸薄。”脚踏实地,一步一个脚印,为未来做好铺垫。

    +

    工作的选择

    +

    对于应届生、刚毕业两年内的职场新人,我个人并不推荐到小型创业公司去发展。

    +

    大团队的优势

    +
    1.人多,有经验的人多,已有的基础累积多
    +

    在大一点的团队,至少首先能够确定的,就是有师傅领进门,当然,修行那还都是靠个人的。

    +
    2.体制完善,流程规范
    +

    很多时候不用太过于操心该怎么操作,权力和职责的事情,都是有一套既定的流程,到哪一环节该怎么进行,遵守规范即可。

    +

    一般而言,对应的团队福利也会较为完善。

    +

    大团队的劣势

    +
    1.分工过于细
    +

    有着明确的分工,工作就有了该你干的和没必要你干的区分,属于你职责范围的那一块并不大,做得尽善尽美也算是轻松。不需要你干预的部分,如果自己不带着自学,那么这一块的知识经验就会欠缺。

    +
    2.薪资、职位的晋升空间不大
    +

    不少公司的职位晋升都是有年限要求的。薪资的调整一般也是差异化不太大的。

    +

    但有一句话说得好,有志不在年高,无志空活百岁;但也总能空降、外聘一些奇怪的高层下来。看似很矛盾,你心里需要明白,没有完善的制度,只有追求完美的人。

    +

    前两年的时间,更多需要考虑的是成长的空间,而不是眼前的利益,放长线才能钓大鱼。

    +
    3.效率低下
    +

    并不是所有上规模团队的通病,但却是多数。大多数公司发展到一定阶段后,会被流程、制度羁绊,无意义的走流程时间会耽误很多工夫。不用怀疑,林子大了什么鸟都会有,也总会有些拖油瓶在团队里混日子,团队规模大了之后,提前养老可以说是很轻松能实现的事情,只要不是太作死,混还是比较容易的。

    +

    初入职场,少受一些不好的风气影响,对未来会有莫大的益处。

    +

    小团队的优势

    +
    事无巨细,亲力亲为
    +

    实践出真知,小公司有足够多的机会锻炼你的实践能力。是挑战亦是机遇。

    +

    小团队的劣势

    +
    杂而不精
    +

    对于大多数的小型创业公司来讲,恨不能一人抵十人用,所以总是要什么都懂什么都做,但却没有特别深入钻研的点,也没有人带,很难有所成长。如果是自学能力特别强,有明确的职业规划目标,也可以勇敢试一试。这个社会更需要的是成为**一专多能复合型人才**。

    +

    跳槽

    +

    工作的前两年,最好不要轻易跳槽。在这个阶段的跳槽,主要有两方面的弊端:

    +

    1.对于个人成长

    +

    跳槽的目的无非两点,更好的发展空间,或更高的待遇。

    +

    跳槽到适应的周期太长,而年轻则应该是全速向前的阶段。到了新的岗位,一切又得重头再来,熟悉新的业务,新的技术,融入团队。

    +

    2.薪资待遇

    +

    很少有在前两年跳槽的时候就能有很大涨幅的(50%+)。所以这时候在跳槽上花心思是一件很费脑又收益不大的事情。

    +

    无论在职业的哪一个阶段,如果跳槽没有较大的薪资涨幅,跳槽都是需要谨慎考虑的。除非联合创始人身份加入,降薪跳槽的事情千万不要有,毕竟拿多少钱做多少事,没有利益不太可能会有源源不断的动力输出。

    +

    三到五年

    +

    这个阶段,已有一技之长,又有广泛涉猎,应当寻求突破了。

    +

    关于创业

    +

    创业之前,你需要考虑清楚,你创业的动机,如果只是为了当领导,或者只是为了不被管束,那么最好提前打消这样的念头。

    +

    关于金钱观

    +

    不要羡慕别人赚钱

    +

    别人赚再多的钱,跟你没关系。你需要反省的是,为什么自己赚不到钱。

    +

    你或许会有这样的疑问:

    +

    为什么别人工作 8 小时,而你要 12 个小时?为什么别人拿那么高的工资,而你却只有那么点?为什么别人创业随随便便搞点动作就有大把大把的钱,而你却欠下一屁股债?

    +

    不是领导眼瞎,不是公司制度不完善,不是你时运不济,不是别人都在背后搞小动作,不是钱创业资金不够多。

    +

    不要找任何借口。否则只可能雪上加霜。为什么你不值钱?心态很重要,正视金钱,轻视金钱,它只是一种附属品。提高自身的素质,纠正心态,扩充技能,赚钱并不是件难事。千万不要汲汲于赚钱的事情上,把手上的工作做好了,把效率提高了,把质量提高了,收入怎么可能降低呢?

    +

    绝不以赚钱至上

    +

    赚钱只是结果之一,不是目的,更不是过程。

    +

    你工作,不能是为了赚钱,而是为了你的理想,你的追求而奉献你的能力。

    +

    你创业,也不能为了赚钱,而要为了服务世界,改变世界。

    +
    +

    有心栽花花不开,无心栽柳柳成荫。

    +
    +

    当你对于事业有了更高的认知,金钱只是一种附属品,它必然属于你。

    +

    取之有道

    +

    之前看过一个小故事,说有两家新开的餐馆,每天的顾客都比较多,一家会推荐顾客多点一点,点贵一点;另一家总是推荐顾客少点一些,够吃就行了。虽然短期来看,前一家钱赚的多一些,但后一家积累了顾客的信任。所以慢慢的,第一家的顾客会减少,第二家的生意会蒸蒸日上。

    +

    君子爱财,取之有道。有一条最基本的原则是互利共赢。做产品、做服务,帮用户省钱,用户反而会更愿意为你花钱。只想着怎么变着花样搞些噱头从用户身上榨更多的利益,这样赚钱的方法是不可持续的。

    +

    制定翻倍计划

    +

    虽然有的人基础好,起步高,但这些并不是一成不变的。接下来的这几年的努力,最足以拉开人生的差距。

    +
    +

    王健林说:

    +
    +

    定个小目标,先挣一个亿。

    +
    +
    +

    这样的目标可能还是过于宏大了,但每一年,薪资以 1.5 倍速增长,并非遥不可及。

    +

    假设你从应届生毕业时月薪为 8k,两年工作下来 14k。从第三年起,到第五年,每年翻一番,就是:

    +
      +
    • 21k
    • +
    • 32k
    • +
    • 48k (年薪 58 万)
    • +
    +

    似乎也没有多少,对于大多数人来说这样的小目标不算太难实现的。

    +

    假设这三年如果只有 30%的平均涨幅,那么就是:

    +
      +
    • 18k
    • +
    • 24k
    • +
    • 30k (年薪 36 万)
    • +
    +

    14k 相同的起薪,20%的差距,就有 22 万之多。所以这一阶段的发展需要多付出些精力,不可荒废。

    +
    +

    差不多,五年的光景,足以让你略有小成。

    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/capability/solving/index.html b/mind/capability/solving/index.html new file mode 100644 index 00000000..a605da7d --- /dev/null +++ b/mind/capability/solving/index.html @@ -0,0 +1,293 @@ + + + + 问题处理能力 - 团队领袖计划 + + +

    + 问题处理能力 +

    包括问题解决和问题规避两大方面。

    +

    问题解决能力

    +
    +

    举个例子:在公交站有清楚明白的站牌、而且有其他等车的人可以帮你解答的情况下,却非要拦住一辆 2 路汽车,问司机这个站过不过 8 路。

    +
    +

    我是完全没法理解这种人脑子长了是有什么用处的。独立思考、独立解决,不依赖他人。要培养自己独立解决问题的能力,而不是培养别人解决问题的能力。别人帮你是情分,不帮你是本分。所以解决问题首要的原则应该是:靠自己,少烦人

    +

    问题定位

    +

    发现问题第一步应该是**思考问题产生的原因**,可以通过日志记录、错误信息着手。多动手,少动口,不能瞪一眼没看到问题所在就立马张嘴问别人,这不仅会使自己的能力丧失,也会浪费其他人的时间。

    +

    在开发过程中,最常见的问题就是应用崩溃。往往这类问题,很容易找到源头。

    +

    举个例子,以下是命令行报错信息:

    +
    module.js:474
    +    throw err;
    +    ^
    +
    +Error: XXX '/Users/xxx/xxx.js'
    +    at Function.Module._resolveFilename (module.js:472:15)
    +    at Function.Module._load (module.js:420:25)
    +    at Module.runMain (module.js:607:10)
    +    at run (bootstrap_node.js:420:7)
    +    at startup (bootstrap_node.js:139:9)
    +    at bootstrap_node.js:535:3
    +
    +

    这是最浅显的错误信息,出错的文件位置、出错的行列号、出错的原因全部都一览无余,找出对应部分问题即可。

    +

    另外还有一些,如:

    +
    Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
    +    at Object.exports._errnoException (util.js:1022:11)
    +    at exports._exceptionWithHostPort (util.js:1045:20)
    +    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
    +  code: 'ECONNREFUSED',
    +  errno: 'ECONNREFUSED',
    +  syscall: 'connect',
    +  address: '127.0.0.1',
    +  port: 6379
    +
    +

    只知道错误信息,不知道具体出错位置的,也可以根据错误信息很快定位到问题。

    +

    其他一些问题,如语法问题、死循环、逻辑错误,在调试过程中很难排查,则需要耐下心来单步跳入检查。

    +

    解决问题

    +

    大多数能遇见的问题都不是什么难题。即便觉得是难题也无非是经验的不足。所以,要善于利用搜索引擎,多记录,多整理,多总结。

    +

    有一些顽固问题可能会牵一发而动全身,则需要考虑成本最小化,不能捡了芝麻丢了西瓜。

    +

    另外,切忌拆东墙补西墙。要么根治,要么不治。

    +

    问题规避能力

    +

    1.避免犯相同的错误

    +
    +

    很多年轻人工作起来似乎从来不多加思考,不分析,也不想象,只会跟着别人的指示去做事,凭着自己的感觉去工作。结果,上次做过的事情,这次还是不会做。就像那些路盲一样,一个地方去过很多次,永远也不记得如何走。

    +
    +

    你犯的错误,大多数都在反复,学会思考总结,避免总是在犯相同的错误。

    +

    2.举一反三

    +

    再进一步,在思考总结的基础之上,学会举一反三,能够有效规避相似的问题。

    +

    会的多了自然错的就少了,技多不压身。

    +

    3.科学严谨

    +

    严谨是不犯错的前提。

    +

    如:

    +
      +
    • 做事有条理、有规划(可以用一些 GTD 工具,如 TODO List、奇妙清单、Omni Plan 等)
    • +
    • 养成良好的编码注释习惯
    • +
    • 测试驱动开发(编写自动化测试用例)
    • +
    • 培养大局观和洞察力
    • +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/capability/study/index.html b/mind/capability/study/index.html new file mode 100644 index 00000000..4911d32e --- /dev/null +++ b/mind/capability/study/index.html @@ -0,0 +1,259 @@ + + + + 学习能力 - 团队领袖计划 + + +

    + 学习能力 +

    脚踏实地,循序渐进

    +

    比如你想要做 Web 开发,那么可能就需要明确阶段性的目标,如先从前端或是后端的某个点着手,一点点拓展到其他的技术栈。

    +

    而一上手就要做高大上,就要采用“MEAN”(MongoDB+Express+Angular.js+Nginx)技术栈之类的,是不现实的。

    +

    在这几年的招聘过程中,个人感觉现在的前端圈子非常浮躁,很多毕业没两年的年轻人都会打上这样的标签:“精通 jQuery”、“精通 React”、“熟练使用 xxx 进行 HTML5 移动开发”之类的,笔试或者提问一些 CSS 基础、JS 基础、简单算法都答不上来。会这些上层应用框架再多,也只是做一些代码的搬运工作,不太需要智商投入的事情,何来的底气要那么高的待遇?

    +
    +

    无知要比知识更容易产生自信。—— 查尔斯·达尔文(达克效应)

    +
    +

    对于新人来讲,基础很重要,不仅要只其然,还要知其所以然。

    +

    比如,使用 jQuery 可以快速上手前端开发,只需要看过几个示例,对照着文档写代码就行了,非常方便。但是 jQuery 有自身性能和兼容性的局限,所以如果不懂原生 js 的话,只能机械重复去做一些简单的上层应用,很难再有突破。

    +

    比如,想要采用一种新的框架,如 Angular.js,那么也是需要了解一些 ES 6 特性、TypeScript 之类的前置知识基础,才能够更快地上手。

    +

    改善学习习惯,提高学习效率

    +

    每个人都有自己吸收知识的方式,有的同学喜欢看行业相关的新闻、博客,有的同学喜欢看各种视频、讲座,也有喜欢看书的。

    +

    无论是音频还是视频,所能传递的知识,都没有书本多。看书、看相关的文字资料,是吸收知识最快最有效的方式,虽然也是最无聊、最枯燥的方式。

    +

    虽然经常会听到“人丑就要多读书”、“人穷就要多读书”的黑梗,读书的必要性还是很大的。

    +
    +

    一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪。

    +
    +

    知识在大脑中的存留率是不高的,很容易就会忘记,所以经常复习会加深记忆。

    +

    最好能养成记录的习惯,学习笔记、心得、踩过的坑都可以记录下来,以防日后想用的时候又忘记了,还得重新看一遍。

    +

    学以致用

    +

    学以致用也是一种学习的能力。

    +

    如果学到的知识不能转变成价值的传递,那么学了又有什么意义?

    +

    勤能补拙是良训,一分辛苦一分才

    +

    对于没有天赋,基础也很薄弱,但对这一领域又非常有兴趣的同学,你们要加倍努力。世上无难事,只怕有心人,不要轻言放弃。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/team/concept/index.html b/mind/team/concept/index.html new file mode 100644 index 00000000..cd592b9f --- /dev/null +++ b/mind/team/concept/index.html @@ -0,0 +1,302 @@ + + + + 人才理念 - 团队领袖计划 + + +

    + 人才理念 +

    主要针对创业团队的总结归纳。

    +

    福利待遇

    +
    +

    马云说:员工的离职原因,只有两点最真实:

    +
    +

    1、钱,没给到位。

    +

    2、心,委屈了。

    +
    +

    这些归根到底就一条:干得不爽。

    +

    员工临走还费尽心思找靠谱的理由,就是为给你留面子,不想说穿你的管理有多烂、他对你已失望透顶。 仔细想想,真是人性本善。作为管理者,定要乐于反省。

    +
    +

    生活本应乐在其中,工作、理想、赚钱都只是生活中的一个个小环节而已,所以不应目的性太强,将团队成员当成赚钱的机器。

    +

    未必天天累死累活的连自己的生活都丢了才能成功,成功有很多方式,即便不能很成功也没必要跟自己过不去。价值的创造往往来自于灵感的迸发,而不是机械重复的砌垒。

    +

    福利

    +

    基础福利保障,如:

    +
      +
    • 节假日保障,带薪年假
    • +
    • 加班补贴,支付**额外**加班费及提供餐补、交通补贴等
    • +
    • 节日、生日礼包
    • +
    +

    劳动法规定的只是最低保障,需要严格遵守,并且应高于其规定的内容。除此之外,还可以融入一些有企业文化特色的福利,如:

    +
      +
    • 人体工程学座椅
    • +
    • 4k 显示器,macbook pro
    • +
    • 机械键盘
    • +
    • 定期团队建设,培训分享等
    • +
    +

    不能让团队成员逢年过节秀福利的时候总是在同学朋友面前要低下头来。做良心企业,给足人文关怀。

    +

    待遇

    +

    高薪养廉,没什么毛病。

    +

    一方面起薪到位,让人一来就有干劲。另一方面,加薪到位,企业不能总是看员工通过加薪来提高待遇而不作为。重人才,惜人才,舍得让利于团队。

    +

    对于 2 年内工作经验的,每年调整两次薪资,幅度在 10%左右,较为合适,两年下来涨幅总计约 50%,即入职薪水 8k,两年后达到 12k。

    +

    对于 2-5 年的,每年一次薪资调整,根据能力从 15%-50%,并给予其他奖励,并实行末位淘汰制,优胜劣汰。

    +

    5 年以上的,每年一次薪资调整,不固定,根据业绩效益给予其他奖励或薪资调整,失误失职降薪、淘汰。

    +

    以上为团队常规状态的调整。跳出规矩定规矩,薪资调整不设死界限。

    +

    不少企业在每年调薪的时候都有两项限制——人员名额限制、调薪幅度限制。下面我讲几个案例。

    +

    团队内部转方向

    +

    姑娘 A,以前在公司里做静态页面(HTML),干了一年半,转到做 JS,工作量激增,而且能力也被认可。但鉴于公司的薪酬体系限制,年后离职了。原因很简单,由于之前工作相较轻松,她的起薪较低,只有 6k 左右。如果跳槽,当前的就业形势 12-15k 左右是完全没有问题,而在公司继续待下去,即便短期内有两次涨薪(按 20%比例算),只能达到 8.5k 左右的水平。

    +

    专业方向有建树

    +

    同事 B,在公司里一直兢兢业业,各方面表现虽然不是最为突出的,但也属于前列,而且特别踏实,工作交给他都十分放心。在公司两年多,工资虽然上涨了 40%(也是 6k 左右到了 8.5k),但依然落后于其他同学朋友,不甘离职。

    +

    这些例子抛出了下面的主题,人性和血性。

    +

    人性·血性

    +

    血性

    +

    何谓热血青年?

    +

    有人这么回答:

    +
    +

    有激情 有梦想 爱追逐 不轻言放弃 敢作敢当 的年轻人

    +
    +

    星爷有一句台词:“做人如果没梦想,跟咸鱼有什么分别?”很多人不是没有梦想,只是败给了现实,激发不出激情。

    +

    团队里需要有干劲的人,但是人的干劲来自于哪里?

    +

    根据马斯洛需求层次理论:

    +

    Image

    +

    这是第五层次:自我实现的需要。

    +
    +

    自我实现需求(Self-actualization),是最高层次的需求,包括针对于真善美至高人生境界获得的需求,因此前面四项需求都能满足,最高层次的需求方能相继产生,是一种衍生性需求,如:自我实现,发挥潜能等。

    +
    +

    人性

    +

    很多时候,员工给企业创造的价值远远不止工资的十倍百倍。但却经常遇见这样的情况:

    +
    +

    你和老板谈工资,老板和你谈感情;你和老板谈感情,老板和你谈责任。。。

    +
    +

    这样的老板,就是在利用人性的弱点来剥削员工的剩余价值。人性化的企业,公司的利益就是员工的利益;而不是员工的利益都成为公司的利益。

    +

    又想马儿不吃草,又想马儿快快跑,这是不切实际的。善待团队,才能激发更大的创造力。

    +
    +

    富之、贵之、敬之、誉之,然后国之良士亦将可得而众也。 +——墨子

    +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/team/define-good-employee/index.html b/mind/team/define-good-employee/index.html new file mode 100644 index 00000000..84e2ac42 --- /dev/null +++ b/mind/team/define-good-employee/index.html @@ -0,0 +1,283 @@ + + + + 好员工的定义 - 团队领袖计划 + + +

    + 好员工的定义 +

    首先需要明确,对于公司而言,所想要的员工是这样子的:拿半个人的薪水,做十个人的事情。虽然这么讲可能有那么一点夸大其词,但想想也应该知道,凭什么公司给你支付很高的薪水?答案只有一个,那就是你能够有很高的价值产出。

    +

    即便当你成为领导,甚至成为老板,也需要认清什么样的员工才是好员工,这样你的团队才能可持续的发展。

    +

    什么样才能算得上是一个好员工呢?一千个读者就有一千个哈姆雷特,虽然没有一个很明确的标准,但从我个人的理解来讲,应该是这样子的:

    +

    团队意识

    +

    这是最重要的一点。一个人的能力再强,也不可能颠覆全世界,天启的失败就是一个典型的例子,双拳不敌四手。

    +
    +

    一根筷子轻轻被折断

    +

    十双筷子牢牢抱成团

    +

    一个巴掌拍也拍不响

    +

    万人鼓掌声呀声震天

    +

    ——《众人划桨开大船》

    +
    +

    帮助团队其他成员共同进步

    +

    这就要求不能有个人英雄主义。喜欢打篮球的人应该都会头疼特别独的队友,即便这个人水平真的很高。我评价一个员工的好坏,不在于他个人的能力,而是他在团队中对其他成员的正面影响能有多少。

    +

    帮助别人进步的同时,自己也会进步。

    +

    充当一颗螺丝钉

    +

    不要相信是金子总会发光的这种傻话,有能力,你就得承担责任。U Can U Up, No Can No BB.只会说,不能做,工作上挑三拣四的,不先开除你这样的开除谁?还想升职加薪,迎娶白富美?做梦吧。

    +

    总有累活难活大多数人都不愿意接的活,但活总要有人干吧。你上,自然会得到重用,哪怕现在的这个任务只是当一颗螺丝钉。吃得苦中苦,方为人上人。

    +

    分担他人的工作

    +

    试着去分担团队其他人的负担,而不是给别人增加负担。多去为团队其他人解决问题,而不是为别人制造问题。

    +

    尤其是在初创团队里,每个人都会有很多任务,你能力强,就带领别人,去攻克解决难题;你能力弱,就虚心学习,听取别人的意见,并分析融入自己的思考。

    +

    学习能力

    +

    学习能力远大于学历,也大于能力。有学习能力的人,能够在短时间能提升自己的能力。

    +

    有一句古话说:

    +
    +

    有志不在年高,无志空长百岁。

    +
    +

    自学能力

    +

    经验丰富,是一种优势。但岁数大,是一种劣势。所以年轻人,多学点东西吧,这样你会更有竞争力。

    +

    倚老卖老的人很多,但不会有谁真的会把自己看家本领无私奉献给你。学习是一个主动的过程,而不是被动的接受。换位思考一下,为什么别人要教你?你赚了钱又不可能都给他,反而有可能会取代他做的工作,虽然残酷但这才是现实。所以,不要指望别人带你,或者有导师能够指引你,除非你有钱交大把的学费,给足了对方甜头。不然,你只能靠自己。

    +

    天下没有免费的午餐,也没有可以不花钱就学到的知识。如果有,不学也罢,学了也累赘。

    +

    钻研精神

    +

    事业是要为之奋斗终生的,如果你对所从事的职业不感兴趣,应当趁早转型。如果你热爱你的工作,那么你应该很努力。想一想,那些比你优秀、比你赚钱多、比你年轻的人,你还有什么资格不努力?

    +

    你不仅要不断地学习专业技能,还需要广泛涉猎各个领域。多知道一点,总是无害的。多努力一点,可能也就会变得更优秀一点。

    +

    谦逊

    +

    谦逊是大多数好学的人都共有的一点明显特征,所以我也将其勉强归入学习能力之中。只要能学到本事,放下那一文不值的尊严吧。

    +

    一专多能

    +

    小学生都有一句口号叫:“德智体美劳全面发展”,职场人更需要这样。所以我也送你一句口号:“一专多能,高薪不难。”

    +

    何为一专多能?擅长某一领域,并对其他领域广泛涉猎并有自己的见解。

    +

    一专多能的人,具备如下一些特征:

    +

    工作不可替代

    +

    因为在某一领域精通,所以你所做的工作是别人不能轻易接手的,你所能解决的问题,不是别人都能解决的。如果你所做的工作,别人取代不了,那么你的重要性自然可想而知。

    +

    不过需要注意一下,应当做优秀到不可取代,而不是 Low 到无可替代。如果你是一个码农,你写的代码里一行注释都没有,变量方法命名连自己都看不懂,写的逻辑和算法渣得像坨屎,确实也没人能接手你的活,但完全可以推翻重做一套吖。不可取代,是无论什么样的方法,都不能做得比你更好。这样,你也能有成就感,不是吗?

    +

    团队活化剂

    +

    不仅能够高效、高质量完成自己的工作,还能在工作之余给团队其他人启发,帮助其他人开阔思维、改善思路、提高效率、提升品质。

    +

    思想不可替代

    +

    有广泛的知识积累做依托,你在看待问题的时候会从不同的角度进行分析和换位思考,会比常人看得更加透彻和清晰。所以渐渐地,你将往团队的精神领袖位置靠拢。思想比技术更有价值,因为技术可以复制,而思想不能。

    +

    就算别人能够模仿你说话的动作、语气和神情,但看问题刁钻的眼光和解决问题的能力都是别人所不能模仿的。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/team/define-good-engineer/index.html b/mind/team/define-good-engineer/index.html new file mode 100644 index 00000000..dda6681d --- /dev/null +++ b/mind/team/define-good-engineer/index.html @@ -0,0 +1,302 @@ + + + + 优秀工程师(程序员)的定义 - 团队领袖计划 + + +

    + 优秀工程师(程序员)的定义 +

    很多人对于自己所处的身份并没有十分明确的认识. 技术人最初的身份可能只能算是一个工程师, 或者通俗的叫法为程序员.

    +

    价值衡量

    +

    如何评判一个工程师是否合格, 并不在于他实现了多少功能, 贡献了多么多的代码.

    +

    就像我们在上学的时候也都在提倡德智体全面发展一样. 一个程序员, 本职的工作不仅仅是写代码. 随着科技的发展, 代码的价值会越来越低, 就像搬砖一样, 代码堆彻得多, 无非跟背得砖更多无差, 这种量的增长, 并不能带来更大的价值产出. 是的, 虽然我也一直不愿意面对这样的事实, 但现实是残酷的, 代码是廉价的.

    +

    那么该如何评判是否是一名优秀的工程师(程序员)呢? 其实需要通过多个维度去衡量.

    +

    1.思想

    +

    要让其他人(无论是团队内的领导,同事,下属, 团队外的投资人,客户,用户)都能够轻易理解你的想法.

    +

    当然,很多时候我们并不会有很多机会直接与那么多人直接的面对面去沟通交流, 让对方了解你做的这个事情目的是什么, 意义是什么. 这就需要你通过其他的方法来让他们知道.

    +

    价值评判物: 设计.

    +

    不懂设计, 就写不出好代码.

    +

    !> P.S. 这里的设计, 指的不是用 PS, AI 之类的工具去做平面, UI 的设计. 而是功能, 代码的设计. 在最初的时候, 可以参考借鉴既有的, 成熟的设计模式进行设计.

    +

    一份优秀设计的参考标准:

    +
      +
    • 规范的文档和图(模型)
    • +
    • 简单, 清晰且全面的流程, 规避无意义的状态扭转
    • +
    • Less, More +
        +
      • 用更少的描述, 让人更容易理解
      • +
      • 用更少的说明, 表达更多的想法
      • +
      +
    • +
    +

    2.效率

    +

    这是很多人在拼命追求和改善的, 但在实际的工作中, 我个人的感觉, 效率的确非常重要, 但往往任务不能按时交付并不是某个成员的效率低了.

    +

    价值评判物: 单位时间工作产出阶段性工作产出汇总.

    +

    很多人会只拿单位时间内的工作产出来衡量效率. 但这样是完全没有道理的, 有的人确实能力很强, 分了任务很快就能完成. 但完成了之后剩下的时间里, 既没有想着这么去优化, 也没有想怎么样自我提升, 就把时间又浪费掉了. 这样的"高效", 真的高效吗? 就像我们从小听的故事, 龟兔赛跑, 兔子睡了一觉, 就被乌龟超了过去.

    +

    效率高的参考标准:

    +
      +
    • 同样的一个功能模块开发, 别人需要用 2 个小时完成, 而你只用了 1 个小时, 你的效率高一些. (效率质量往往是需要关联起来衡量的,所以单独拿出来比较并没有任何的参考意义)
    • +
    • 时间管理 +
        +
      • 懂得如何将自己的任务分优先级, 规划得有条理, 并且能按时高质量交付
      • +
      • 在团队协作中不浪费他人的时间及资源, 甚至能够帮助其他人提高效率
      • +
      +
    • +
    • Less, More +
        +
      • 更少的时间, 实现更多的功能 (注意, 并非贡献更多的代码)
      • +
      +
    • +
    +

    3.质量

    +

    我个人感觉, 质量是最能评判一个优秀工程师的指标了. 因为设计思想, 代码, 算法 等等, 最终实现的成果, 都需要用质量来评判.

    +

    价值评判物: ? (真的是很难说什么东西能够直接体现出工作产出质量的)

    +

    参考评判物: (按权重降序排列)

    +
      +
    1. 文档(设计)
    2. +
    3. 测试报告
    4. +
    5. 性能分析报告
    6. +
    7. 代码(主要衡量: 业务逻辑, 算法)
    8. +
    +

    质量评判参考标准:

    +
      +
    • 各类文档完善程度
    • +
    • TDD/BDD 测试覆盖率 (95%以上)
    • +
    • 性能分析报告 (Apdex 性能 0.9 分以上, Bug 率 1%以下)
    • +
    • 代码注释率 (10% 以上)
    • +
    • 代码重复率 (10% 以下)
    • +
    • Less, More +
        +
      • 更少的代码, 实现更多的功能
      • +
      • 更少的代码块, 更高的执行效率
      • +
      • 更少的测试用例, 覆盖更多的可能性
      • +
      • 更少的成本浪费, 更多的价值产出
      • +
      +
    • +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/team/hire/index.html b/mind/team/hire/index.html new file mode 100644 index 00000000..2375dd3f --- /dev/null +++ b/mind/team/hire/index.html @@ -0,0 +1,279 @@ + + + + 招聘原则 - 团队领袖计划 + + +

    + 招聘原则 +

    有极为优秀的特殊情况个例允许忽视本原则部分条目,但绝大多数情况下具有遵守意义。

    +
    +

    三不招,三不留。

    +
    +

    非相关专业不招

    +

    如金融做前端开发,外语做设计,旅游做后台,体育做产品。技术相关岗位要求有深厚的基础功底,不能浮于表面。会调调 API,做做上层应用,很难有更深的突破。

    +

    一类特殊情况为,从小兴趣所在,虽然非相关专业,但有多年自学基础。

    +

    心态浮躁不招

    +

    初入职场,最大的忌讳就是浮躁。

    +
      +
    1. 简历经历工作不满一年,项目经验丰富或担任多个项目负责人、团队负责人的,没有面试必要;
    2. +
    3. 工作年限不满三年,能列出一大堆技术、框架,各项技术都是熟练掌握、精通的,没有面试必要;
    4. +
    +

    如果项目属实的话,应当给予线上在运行网址、截图演示、甚至 Github 等源码链接。

    +

    面试中从细节观察,如时间概念,迟到、赶时间的不优先考虑。

    +

    每个人都有成为大牛的潜力,但需要经受时间的考验,知识固然重要,但还有更重要的是思想、和经验。经验,通过时间慢慢的累积,提炼提升思想境界。

    +

    眼界狭窄不招

    +

    眼界有多开阔,世界就有多宽广。

    +

    工作不单纯只有工作。人无远虑,必有近忧。

    +
      +
    1. 对自己未来的发展没有明确的规划,看不到职业未来的方向,没有录用必要;
    2. +
    3. 对自己所做的没有进一步优化的方案,看不到事业升华的可能,没有用用必要;
    4. +
    +

    智者的共同特点是:一方面,因为看清了物质快乐的有限,最少的物质就能使他们满足;另一方面,因为渴望无限的精神快乐,再多的物质也不能使他们满足。

    +

    固步自封不留

    +

    闭门造车,出门合辙,在当今的社会已经不再适用。

    +

    长期没有进步,在这个日新月异的时代里,等同于退步。毕竟这个行业早就没有什么还可以一招鲜吃遍天的技能了。

    +

    要善于学习,善于分享,促进团队共同进步,保持执着与激情。

    +

    推诿敷衍不留

    +

    尤其在创业公司中,事情多,涉及面广。一个人能顶多个人,是最理想的状态。所以要敢于担当,敢于试错。只关注某一块,就会产生瓶颈,自身难突破,工作难创造更大价值。

    +

    踢皮球是最忌讳的,解决问题的能力很重要。要解决或帮助公司解决公司中潜在的问题,而不是遇到问题只能指望别人。

    +

    人格缺陷不留

    +

    1.悲观

    +

    墨菲定律,越担心发生的事情就越容易发生。情绪容易传递,团队里尽可能都是乐观正能量的氛围。

    +

    失败是成功之母,只有越挫越勇,才能有所突破。

    +

    2.猜疑

    +

    相互猜忌会引起勾心斗角。团队间应当坦诚相待,奔着共同的目标进步。

    +

    3.羞怯

    +

    缺乏自信的表现,过于胆小被动,过于谨小慎微,或者过于关注自己,都不利于团队的良性发展。

    +

    注意事项

    +

    别让一颗老鼠屎, 坏了一锅粥

    +

    宁愿能力低一些, 但一直都在持续不断的输出价值, 不能好高骛远, 成为团队里的搅屎棍. 脚踏实地, 踏踏实实做实事是每个员工应尽的义务和责任.

    +

    团队应该向着一个共同的目标去努力, 每个人都应该对未来有着明确的方向. 否则, 上班就像是混日子. 大家都拿着差不了太多的薪水, 凭什么有的人可以毫不努力, 却要享受着跟别人一样的工作待遇? 虽然可能只是这么一两个人的资源浪费, 但这却是对团队其他成员极其不负责任. 只要团队成员中有那么一两个人感到迷茫, 开始无所事事, 这种负能量就会很快渗透到整个团队中.

    +

    团队发展应当有一个良性的趋势.

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/static/mind/team/maslows.jpg b/mind/team/maslows.jpg similarity index 100% rename from static/mind/team/maslows.jpg rename to mind/team/maslows.jpg diff --git a/mind/team/meeting/index.html b/mind/team/meeting/index.html new file mode 100644 index 00000000..7a3ddada --- /dev/null +++ b/mind/team/meeting/index.html @@ -0,0 +1,261 @@ + + + + 会议原则 - 团队领袖计划 + + +

    + 会议原则 +

    要求

    +

    1.每周会议时间总计不超过 3 小时

    +

    少说废话多做事,3 个小时的会议精神绝对足够一周都充实工作了。大量的时间都用来开会了,那什么时间来工作呢?

    +

    2.每次会议时间控制在 30 分钟以内,最多不超过 45 分钟

    +

    会前做好会议时间预估,可以在会议室放置闹钟定时器,严格执行。

    +

    3.其他与会细则

    +
      +
    • 禁止在会议过程中预习。在会议之前完成会议的准备工作,包括会议主题、主要讨论的问题罗列、问题思路整理等
    • +
    • 精简会议主题,只讨论核心问题和涉及面较广的问题;其他问题可以私下组织小范围会议或讨论,输出文档等形式通知
    • +
    • 精简会议人员,无关人员不参与,若相关人员可以在会前讨论和会后通知
    • +
    • 禁止在会议过程中接听电话,手机禁音
    • +
    • 最多只允许使用两台电脑,一台用于做会议纪要,一台用于投影展示
    • +
    • 禁止交头接耳开小会,会议只关注大家都关注的问题,私下讨论安排会后其他时间
    • +
    +

    建议

    +

    避免无意义会议

    +

    如大多数小团队的周例会,是没有什么实质性内容的,这样的会议应尽可能避免,可以改为分享、培训。

    +

    设置 No Meeting Day(无会日)

    +

    杭州设置周三为无会日(指每周三不召开市委常委会议、市政府常务会议、市长办公会议,不安排以市委、市政府或市委办公厅、市政府办公厅及部门名义举行的全市性会议或活动,市委常委、副市长不召开研究部署工作的各类专题会议)。

    +

    个人建议设置为周四,当然周三也是可以的。如无重要程度达到紧急的事情,不召开会议。

    +

    这样做的好处:

    +
      +
    • 培养条理和提前规划习惯
    • +
    • 培养独立思考能力,不能总是遇事就开会,芝麻大的事情都要开个会
    • +
    • 提供一整天的时间可以专注于未完成的工作,提高工作效率
    • +
    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/thinking/buckets/index.html b/mind/thinking/buckets/index.html new file mode 100644 index 00000000..7b525807 --- /dev/null +++ b/mind/thinking/buckets/index.html @@ -0,0 +1,260 @@ + + + + 木桶效应 - 团队领袖计划 + + +

    + 木桶效应 +

    +

    一只水桶能装多少水取决于它最短的那块木板。

    +
    +

    瓶颈来源分为两种:自身缺陷、外部缺陷。

    +

    克服自身缺陷

    +

    阻碍一个人发展的主要因素,往往并不在于能力,而是缺陷。

    +

    能力强,工作效率高,工作产出质量高,确实是一种优势。但如果自身的缺点过于明显,则会成为拖后腿的主要原因。

    +

    不能只将关注点放在职业技能的提升上,还需要关注自己的性格、习惯、沟通协作、目标方向等方面,不足之处有则改之,无则加勉。就像学校里提倡的全面发展一样,在工作能力之外的方方面面,避免“偏科”现象产生。

    +

    洞察外部缺陷

    +
    +

    No matter how great he is ,he can't change the world on his own. +无论是多伟大的天才,都无法仅凭一己之力改变世界。

    +
    +

    对于大多数产品和项目,都无法仅凭一己之力扭转未来,需要的是团队的配合。

    +

    团队对于个人的影响是很大的,短板对于团队的影响也是很大的。就好比把一勺酒倒进一桶污水中,你得到的是一桶污水;把一勺污水导入一桶酒中,你得到的还是一桶污水。

    +

    即便意志力再坚强,能够出淤泥而不染,也还是会被扯后腿。

    +
    +
    +

    一个人的价值,在于他贡献了什么,而不在于他能得到什么。

    +
    +

    及时发现,及时修正。无论是自身问题放大,还是外部问题扩散,一旦产生恶性循环,就很难补救了。

    +

    穷则独善其身,达则兼济天下。如果不能够修复那块最短的木板,要么将其换掉,要么全身而退。

    +

    个人成长

    +

    阻碍个人成长的, 往往不是优势瓶颈, 而是短板. 即便在一个领域内非常精通, 研究非常深入. 如果不能灵活的学以致用, 也是没什么用处的.

    +

    正视自己的缺点, 不断克服短板, 提高综合竞争能力, 才能更好地在职场中立足, 在社会中立足, 有所建树.

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/thinking/dialectical/index.html b/mind/thinking/dialectical/index.html new file mode 100644 index 00000000..83cb1107 --- /dev/null +++ b/mind/thinking/dialectical/index.html @@ -0,0 +1,266 @@ + + + + 辩证思维 - 团队领袖计划 + + +

    + 辩证思维 +

    要学会换位思考、辩证思考,保持客观、冷静,才能游刃有余。凡事皆有两面,切忌钻牛角尖,不可过于极端。

    +

    举几个常见的梗:

    +
    +

    Atom 只是编辑器,不是 IDE。

    +
    +
    +

    Sublime Text 只是编辑器,不是 IDE。

    +
    +
    +

    jQuery 只是一个库,不是框架。

    +
    +

    究竟咬文嚼字玩文字游戏有多大意义?

    +

    即便是一款代码编辑器,有能力集成各种插件,与 IDE 真的有那么多明显的界限吗? +一个库一个框架不都是一个引入的事情吗?

    +

    都只是工具而已。何必钻那么多牛角尖,搞技术就沉下心搞技术。

    +
    +

    PHP 是这个世界上最好的语言。

    +
    +
    +

    Javascript 是这个世界上最好的语言。

    +
    +
    +

    xxx 是这个世界上最好的语言。

    +
    +

    每种语言都有自身的优势和不足,没有什么语言能够适用于任何场景。

    +

    编程不是靠语言就能决定性能的,什么 Ruby on Rails 性能低,什么 Node.js 性能高,只是片面之词,每个人写Hello World!都能有很多不同的版本,更何况是复杂的系统应用呢?自然有算法效率的高下,逻辑的繁简等各种因素去决定性能和稳定性。

    +

    语言(技术)只是一种工具,帮助我们将一个个想法创意转译成产品。没有特别烂的语言,只有把语言用得特别烂的人。也没有特别完美的语言,但也有将语言运用到淋漓尽致的人。

    +
    +

    天之道,损有余而补不足。人之道则不然,损不足以奉有余。

    +
    +

    马太效应:穷的人越来越穷,富的人越来越富。其本质区别,来源于内心。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/thinking/ocd/index.html b/mind/thinking/ocd/index.html new file mode 100644 index 00000000..24aab809 --- /dev/null +++ b/mind/thinking/ocd/index.html @@ -0,0 +1,260 @@ + + + + 克服强迫症 - 团队领袖计划 + + +

    + 克服强迫症 +

    我曾经是有着比较严重的强迫症的。慢慢地发现,强迫症 ≠ 完美主义,它给我带来的,更多不是便利,而是麻烦。

    +

    强迫症的表现

    +

    仅列出一些在我身上出现过的症状:

    +
      +
    • 手机上的未读通知一定要全部消灭掉
    • +
    • 经常出门之后怀疑门没锁好
    • +
    • 调音量一定要调到自己顺眼的数字
    • +
    • 删除文件后,一定要清空回收站
    • +
    • App 图标一定要按照特定规律排列
    • +
    • 挤牙膏一定得从根部开始
    • +
    +

    总结来说,就是经常刻意地去做某些事。

    +

    自我治疗

    +

    追求完美是好事,过分追求就是吹毛求疵,效率前期提高后期必然会下降。

    +

    理论——“无为”

    +

    无为不是无所作为,不是无所事事,而是不做无效的工作。

    +

    道家的第一原则是“道法自然”。顺应自然,不要过于刻意,“去甚,去奢,去泰”。人要以自然的态度对待自然,对待他人,对待自我。所以会有“自然——释然——当然——怡然”。

    +

    实践

    +

    从手机开始,每当遇到垃圾短信,广告推送,克制自己不去点。大约用了一周时间,再看到手机上未读的红点,我就已经没有什么特别的感觉了。

    +

    ocd

    +

    同时进行的还有挤牙膏,很随性的,有时候从中间,有时候从头部,有时候从根部,按到哪就挤哪。

    +

    测试

    +

    ocd

    +

    http://www.xinli001.com/ceshi/483

    +

    经过一段时间的自我调节,测试结果达到 A,无强迫倾向。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/mind/thinking/shit/index.html b/mind/thinking/shit/index.html new file mode 100644 index 00000000..21e451e1 --- /dev/null +++ b/mind/thinking/shit/index.html @@ -0,0 +1,265 @@ + + + + 忽略细节,就是屎 - 团队领袖计划 + + +

    + 忽略细节,就是屎 +

    比如登录表单,输入密码后按回车键一点反应都没有,必须点击登录按钮才能登录。

    +

    开发忽略细节,代码一坨屎;设计忽略细节,产品一坨屎。

    +

    举个稍微复杂点的例子,消息列表这个功能模块。

    +

    假设有两个需求:

    +
      +
    1. 允许用户下拉操作刷新(手动)
    2. +
    3. 每隔 15s 后台请求刷新(自动)
    4. +
    +

    如果处理不当,会出现漏消息、消息重复等情况。

    +

    所有开发环节出现的屎,都能追溯到设计环节。从设计环节就需要考虑好如何规避这些问题的发生。

    +

    实践:

    +

    0. 消息表说明

    +

    在数据库设计章节提到了避免使用自增 id。

    +

    所以就不能将消息 id 作为参数传递去查询,而采用时间戳的方式。

    +

    1. 参数带入时间戳

    +

    时间戳的选取:

    +
      +
    1. 本次请求发起的时间 -> 下次请求可能会重复本次请求处理期间的消息
    2. +
    3. 本次请求结束的时间 -> 下次请求可能会丢失本次请求处理期间的消息
    4. +
    5. 最后一条消息记录的时间 -> 完美衔接,最佳选择
    6. +
    +

    2. 阻止请求

    +

    如用户狂点导致的频繁刷新,或者用户手动刷新和自动刷新同时进行,都会导致获得到重复消息数据。

    +

    先进先出。前一条请求处理完成前,阻止下一条请求。

    +

    3. 时间戳的有效性

    +
      +
    1. 如果返回的结果有数据,时间戳应当被更新替换掉
    2. +
    3. 如果返回的结果没有数据,下次请求依然使用该时间戳
    4. +
    +

    看似简单,其实不易。

    +
    + 在 GitHub 上编辑本页面 + + 更新时间: Fri, Aug 29, 2025 +
    + + diff --git a/nuxt.config.js b/nuxt.config.js deleted file mode 100644 index 6cdbada4..00000000 --- a/nuxt.config.js +++ /dev/null @@ -1,37 +0,0 @@ -import theme from '@nuxt/content-theme-docs'; - -export default theme({ - loading: { color: '#00CD81' }, - i18n: { - locales: () => [ - { - code: 'zh', - iso: 'zh-CN', - file: 'zh-CN.js', - name: '简体中文' - } - ], - defaultLocale: 'zh' - }, - buildModules: ['@nuxtjs/google-analytics', '@nuxtjs/google-adsense', '@nuxtjs/sitemap'], - content: { - liveEdit: false - }, - components: true, - pwa: { - manifest: { - name: '团队领袖计划' - } - }, - googleAnalytics: { - id: 'UA-33096931-4' - }, - 'google-adsense': { - id: 'ca-pub-5059418763237956', - pageLevelAds: true, - overlayBottom: true - }, - sitemap: { - hostname: 'https://leader.js.cool' - } -}); diff --git a/package.json b/package.json deleted file mode 100644 index 3652b545..00000000 --- a/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "leader.js.cool", - "version": "5.0.0", - "description": "不可替代的团队领袖培养计划", - "private": true, - "scripts": { - "dev": "nuxt", - "build": "nuxt build", - "start": "nuxt start", - "generate": "nuxt generate" - }, - "dependencies": { - "@nuxt/content-theme-docs": "^0.11.1", - "@nuxtjs/google-adsense": "^1.4.0", - "@nuxtjs/google-analytics": "^2.4.0", - "@nuxtjs/sitemap": "^2.4.0", - "nuxt": "^2.15.8" - }, - "devDependencies": { - "prettier": "^2.4.1" - }, - "repository": { - "type": "git", - "url": "git+ssh://git@github.com:willin/leader.js.cool.git" - }, - "keywords": [ - "leader", - "cool", - "js", - "w2mn" - ], - "author": "Willin Wang", - "license": "MIT", - "bugs": { - "url": "https://github.com/willin/leader.js.cool/issues" - }, - "homepage": "https://leader.js.cool/", - "collective": { - "type": "opencollective", - "url": "https://opencollective.com/willin" - } -} diff --git a/releases/index.html b/releases/index.html new file mode 100644 index 00000000..287d4f5c --- /dev/null +++ b/releases/index.html @@ -0,0 +1,229 @@ + + + + Releases - 团队领袖计划 + + +

    Releases

    + + diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..b01c5db3 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://leader.js.cool/https://leader.js.cool/releases \ No newline at end of file diff --git a/sw.js b/sw.js new file mode 100644 index 00000000..4e4d9c54 --- /dev/null +++ b/sw.js @@ -0,0 +1,114 @@ +const options = {"workboxURL":"https://cdn.jsdelivr.net/npm/workbox-cdn@5.1.4/workbox/workbox-sw.js","importScripts":[],"config":{"debug":false},"cacheOptions":{"cacheId":"leader.js.cool-prod","directoryIndex":"/","revision":"MYalBbgfpRbc"},"clientsClaim":true,"skipWaiting":true,"cleanupOutdatedCaches":true,"offlineAnalytics":false,"preCaching":[{"revision":"MYalBbgfpRbc","url":"/?standalone=true"}],"runtimeCaching":[{"urlPattern":"/_nuxt/","handler":"CacheFirst","method":"GET","strategyPlugins":[]},{"urlPattern":"/","handler":"NetworkFirst","method":"GET","strategyPlugins":[]}],"offlinePage":null,"pagesURLPattern":"/","offlineStrategy":"NetworkFirst"} + +importScripts(...[options.workboxURL, ...options.importScripts]) + +initWorkbox(workbox, options) +workboxExtensions(workbox, options) +precacheAssets(workbox, options) +cachingExtensions(workbox, options) +runtimeCaching(workbox, options) +offlinePage(workbox, options) +routingExtensions(workbox, options) + +function getProp(obj, prop) { + return prop.split('.').reduce((p, c) => p[c], obj) +} + +function initWorkbox(workbox, options) { + if (options.config) { + // Set workbox config + workbox.setConfig(options.config) + } + + if (options.cacheNames) { + // Set workbox cache names + workbox.core.setCacheNameDetails(options.cacheNames) + } + + if (options.clientsClaim) { + // Start controlling any existing clients as soon as it activates + workbox.core.clientsClaim() + } + + if (options.skipWaiting) { + workbox.core.skipWaiting() + } + + if (options.cleanupOutdatedCaches) { + workbox.precaching.cleanupOutdatedCaches() + } + + if (options.offlineAnalytics) { + // Enable offline Google Analytics tracking + workbox.googleAnalytics.initialize() + } +} + +function precacheAssets(workbox, options) { + if (options.preCaching.length) { + workbox.precaching.precacheAndRoute(options.preCaching, options.cacheOptions) + } +} + + +function runtimeCaching(workbox, options) { + const requestInterceptor = { + requestWillFetch({ request }) { + if (request.cache === 'only-if-cached' && request.mode === 'no-cors') { + return new Request(request.url, { ...request, cache: 'default', mode: 'no-cors' }) + } + return request + }, + fetchDidFail(ctx) { + ctx.error.message = + '[workbox] Network request for ' + ctx.request.url + ' threw an error: ' + ctx.error.message + console.error(ctx.error, 'Details:', ctx) + }, + handlerDidError(ctx) { + ctx.error.message = + `[workbox] Network handler threw an error: ` + ctx.error.message + console.error(ctx.error, 'Details:', ctx) + return null + } + } + + for (const entry of options.runtimeCaching) { + const urlPattern = new RegExp(entry.urlPattern) + const method = entry.method || 'GET' + + const plugins = (entry.strategyPlugins || []) + .map(p => new (getProp(workbox, p.use))(...p.config)) + + plugins.unshift(requestInterceptor) + + const strategyOptions = { ...entry.strategyOptions, plugins } + + const strategy = new workbox.strategies[entry.handler](strategyOptions) + + workbox.routing.registerRoute(urlPattern, strategy, method) + } +} + +function offlinePage(workbox, options) { + if (options.offlinePage) { + // Register router handler for offlinePage + workbox.routing.registerRoute(new RegExp(options.pagesURLPattern), ({ request, event }) => { + const strategy = new workbox.strategies[options.offlineStrategy] + return strategy + .handle({ request, event }) + .catch(() => caches.match(options.offlinePage)) + }) + } +} + +function workboxExtensions(workbox, options) { + +} + +function cachingExtensions(workbox, options) { + +} + +function routingExtensions(workbox, options) { + +} diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index 7dd93b12..00000000 --- a/tailwind.config.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - theme: { - extend: { - colors: { - primary: { - 100: '#E6FAF2', - 200: '#BFF3E0', - 300: '#99EBCD', - 400: '#4DDCA7', - 500: '#00CD81', - 600: '#00B974', - 700: '#007B4D', - 800: '#005C3A', - 900: '#003E27' - } - } - } - } -} diff --git a/static/touch-icon-ipad-retina.png b/touch-icon-ipad-retina.png similarity index 100% rename from static/touch-icon-ipad-retina.png rename to touch-icon-ipad-retina.png diff --git a/static/touch-icon-ipad.png b/touch-icon-ipad.png similarity index 100% rename from static/touch-icon-ipad.png rename to touch-icon-ipad.png diff --git a/static/touch-icon-iphone-retina.png b/touch-icon-iphone-retina.png similarity index 100% rename from static/touch-icon-iphone-retina.png rename to touch-icon-iphone-retina.png diff --git a/static/touch-icon-iphone.png b/touch-icon-iphone.png similarity index 100% rename from static/touch-icon-iphone.png rename to touch-icon-iphone.png diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 0e2eecdb..00000000 --- a/yarn.lock +++ /dev/null @@ -1,10312 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@algolia/cache-browser-local-storage@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.11.0.tgz#1c168add00b398a860db6c86039e33b2843a9425" - integrity sha512-4sr9vHIG1fVA9dONagdzhsI/6M5mjs/qOe2xUP0yBmwsTsuwiZq3+Xu6D3dsxsuFetcJgC6ydQoCW8b7fDJHYQ== - dependencies: - "@algolia/cache-common" "4.11.0" - -"@algolia/cache-common@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.11.0.tgz#066fe6d58b18e4b028dbef9bb8de07c5e22a3594" - integrity sha512-lODcJRuPXqf+6mp0h6bOxPMlbNoyn3VfjBVcQh70EDP0/xExZbkpecgHyyZK4kWg+evu+mmgvTK3GVHnet/xKw== - -"@algolia/cache-in-memory@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.11.0.tgz#763c8cb655e6fd2261588e04214fca0959ac07c1" - integrity sha512-aBz+stMSTBOBaBEQ43zJXz2DnwS7fL6dR0e2myehAgtfAWlWwLDHruc/98VOy1ZAcBk1blE2LCU02bT5HekGxQ== - dependencies: - "@algolia/cache-common" "4.11.0" - -"@algolia/client-account@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.11.0.tgz#67fadd3b0802b013ebaaa4b47bb7babae892374e" - integrity sha512-jwmFBoUSzoMwMqgD3PmzFJV/d19p1RJXB6C1ADz4ju4mU7rkaQLtqyZroQpheLoU5s5Tilmn/T8/0U2XLoJCRQ== - dependencies: - "@algolia/client-common" "4.11.0" - "@algolia/client-search" "4.11.0" - "@algolia/transporter" "4.11.0" - -"@algolia/client-analytics@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.11.0.tgz#cbdc8128205e2da749cafc79e54708d14c413974" - integrity sha512-v5U9585aeEdYml7JqggHAj3E5CQ+jPwGVztPVhakBk8H/cmLyPS2g8wvmIbaEZCHmWn4TqFj3EBHVYxAl36fSA== - dependencies: - "@algolia/client-common" "4.11.0" - "@algolia/client-search" "4.11.0" - "@algolia/requester-common" "4.11.0" - "@algolia/transporter" "4.11.0" - -"@algolia/client-common@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.11.0.tgz#9a2d1f6f8eaad25ba5d6d4ce307ba5bd84e6f999" - integrity sha512-Qy+F+TZq12kc7tgfC+FM3RvYH/Ati7sUiUv/LkvlxFwNwNPwWGoZO81AzVSareXT/ksDDrabD4mHbdTbBPTRmQ== - dependencies: - "@algolia/requester-common" "4.11.0" - "@algolia/transporter" "4.11.0" - -"@algolia/client-personalization@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.11.0.tgz#d3bf0e760f85df876b4baf5b81996f0aa3a59940" - integrity sha512-mI+X5IKiijHAzf9fy8VSl/GTT67dzFDnJ0QAM8D9cMPevnfX4U72HRln3Mjd0xEaYUOGve8TK/fMg7d3Z5yG6g== - dependencies: - "@algolia/client-common" "4.11.0" - "@algolia/requester-common" "4.11.0" - "@algolia/transporter" "4.11.0" - -"@algolia/client-search@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.11.0.tgz#c1105d715a2a04ba27231eca86f5d6620f68f4ae" - integrity sha512-iovPLc5YgiXBdw2qMhU65sINgo9umWbHFzInxoNErWnYoTQWfXsW6P54/NlKx5uscoLVjSf+5RUWwFu5BX+lpw== - dependencies: - "@algolia/client-common" "4.11.0" - "@algolia/requester-common" "4.11.0" - "@algolia/transporter" "4.11.0" - -"@algolia/logger-common@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.11.0.tgz#bac1c2d59d29dee378b57412c8edd435b97de663" - integrity sha512-pRMJFeOY8hoWKIxWuGHIrqnEKN/kqKh7UilDffG/+PeEGxBuku+Wq5CfdTFG0C9ewUvn8mAJn5BhYA5k8y0Jqg== - -"@algolia/logger-console@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.11.0.tgz#ced19e3abb22eb782ed5268d51efb5aa9ef109ef" - integrity sha512-wXztMk0a3VbNmYP8Kpc+F7ekuvaqZmozM2eTLok0XIshpAeZ/NJDHDffXK2Pw+NF0wmHqurptLYwKoikjBYvhQ== - dependencies: - "@algolia/logger-common" "4.11.0" - -"@algolia/requester-browser-xhr@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.11.0.tgz#f9e1ad56f185432aa8dde8cad53ae271fd5d6181" - integrity sha512-Fp3SfDihAAFR8bllg8P5ouWi3+qpEVN5e7hrtVIYldKBOuI/qFv80Zv/3/AMKNJQRYglS4zWyPuqrXm58nz6KA== - dependencies: - "@algolia/requester-common" "4.11.0" - -"@algolia/requester-common@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.11.0.tgz#d16de98d3ff72434bac39e4d915eab08035946a9" - integrity sha512-+cZGe/9fuYgGuxjaBC+xTGBkK7OIYdfapxhfvEf03dviLMPmhmVYFJtJlzAjQ2YmGDJpHrGgAYj3i/fbs8yhiA== - -"@algolia/requester-node-http@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.11.0.tgz#beb2b6b68d5f4ce15aec80ede623f0ac96991368" - integrity sha512-qJIk9SHRFkKDi6dMT9hba8X1J1z92T5AZIgl+tsApjTGIRQXJLTIm+0q4yOefokfu4CoxYwRZ9QAq+ouGwfeOg== - dependencies: - "@algolia/requester-common" "4.11.0" - -"@algolia/transporter@4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.11.0.tgz#a8de3c173093ceceb02b26b577395ce3b3d4b96f" - integrity sha512-k4dyxiaEfYpw4UqybK9q7lrFzehygo6KV3OCYJMMdX0IMWV0m4DXdU27c1zYRYtthaFYaBzGF4Kjcl8p8vxCKw== - dependencies: - "@algolia/cache-common" "4.11.0" - "@algolia/logger-common" "4.11.0" - "@algolia/requester-common" "4.11.0" - -"@babel/code-frame@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" - integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== - dependencies: - "@babel/highlight" "^7.16.0" - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.0", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" - integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== - -"@babel/core@^7.14.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" - integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helpers" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" - integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== - dependencies: - "@babel/types" "^7.16.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" - integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" - integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" - integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== - dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" - integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - -"@babel/helper-create-regexp-features-plugin@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" - integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - regexpu-core "^4.7.1" - -"@babel/helper-define-polyfill-provider@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" - integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-explode-assignable-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" - integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" - integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== - dependencies: - "@babel/helper-get-function-arity" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-get-function-arity@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" - integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-hoist-variables@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" - integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-member-expression-to-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" - integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" - integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-transforms@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" - integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-simple-access" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-optimise-call-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" - integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" - integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-wrap-function" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-replace-supers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" - integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-simple-access@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" - integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" - integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-validator-identifier@^7.15.7": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" - integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - -"@babel/helper-wrap-function@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" - integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== - dependencies: - "@babel/helper-function-name" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helpers@^7.16.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" - integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== - dependencies: - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.3" - "@babel/types" "^7.16.0" - -"@babel/highlight@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" - integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.9", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.9.6": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" - integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": - version "7.16.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" - integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" - integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - -"@babel/plugin-proposal-async-generator-functions@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" - integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.4" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" - integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-proposal-class-static-block@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" - integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-decorators@^7.13.15": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz#9b35ce0716425a93b978e79099e5f7ba217c1364" - integrity sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-decorators" "^7.16.0" - -"@babel/plugin-proposal-dynamic-import@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" - integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" - integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" - integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" - integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" - integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" - integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" - integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== - dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.0" - -"@babel/plugin-proposal-optional-catch-binding@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" - integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" - integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.13.0", "@babel/plugin-proposal-private-methods@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" - integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-proposal-private-property-in-object@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" - integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" - integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz#eb8d811cdd1060f6ac3c00956bf3f6335505a32f" - integrity sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1" - integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-arrow-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" - integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-async-to-generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" - integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.0" - -"@babel/plugin-transform-block-scoped-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" - integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-block-scoping@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" - integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-classes@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" - integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" - integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-destructuring@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" - integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" - integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-duplicate-keys@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" - integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-exponentiation-operator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" - integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-for-of@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" - integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" - integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== - dependencies: - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" - integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-member-expression-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" - integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-modules-amd@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" - integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== - dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" - integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.16.0" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" - integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== - dependencies: - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-identifier" "^7.15.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" - integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== - dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" - integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - -"@babel/plugin-transform-new-target@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" - integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-object-super@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" - integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.16.0" - -"@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" - integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" - integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-regenerator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" - integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" - integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-runtime@^7.13.15": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8" - integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" - integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-spread@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" - integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - -"@babel/plugin-transform-sticky-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" - integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-template-literals@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" - integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-typeof-symbol@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" - integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-unicode-escapes@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" - integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-unicode-regex@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" - integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/preset-env@^7.14.1": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" - integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.3" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-async-generator-functions" "^7.16.4" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-class-static-block" "^7.16.0" - "@babel/plugin-proposal-dynamic-import" "^7.16.0" - "@babel/plugin-proposal-export-namespace-from" "^7.16.0" - "@babel/plugin-proposal-json-strings" "^7.16.0" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-object-rest-spread" "^7.16.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-proposal-private-property-in-object" "^7.16.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.0" - "@babel/plugin-transform-async-to-generator" "^7.16.0" - "@babel/plugin-transform-block-scoped-functions" "^7.16.0" - "@babel/plugin-transform-block-scoping" "^7.16.0" - "@babel/plugin-transform-classes" "^7.16.0" - "@babel/plugin-transform-computed-properties" "^7.16.0" - "@babel/plugin-transform-destructuring" "^7.16.0" - "@babel/plugin-transform-dotall-regex" "^7.16.0" - "@babel/plugin-transform-duplicate-keys" "^7.16.0" - "@babel/plugin-transform-exponentiation-operator" "^7.16.0" - "@babel/plugin-transform-for-of" "^7.16.0" - "@babel/plugin-transform-function-name" "^7.16.0" - "@babel/plugin-transform-literals" "^7.16.0" - "@babel/plugin-transform-member-expression-literals" "^7.16.0" - "@babel/plugin-transform-modules-amd" "^7.16.0" - "@babel/plugin-transform-modules-commonjs" "^7.16.0" - "@babel/plugin-transform-modules-systemjs" "^7.16.0" - "@babel/plugin-transform-modules-umd" "^7.16.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" - "@babel/plugin-transform-new-target" "^7.16.0" - "@babel/plugin-transform-object-super" "^7.16.0" - "@babel/plugin-transform-parameters" "^7.16.3" - "@babel/plugin-transform-property-literals" "^7.16.0" - "@babel/plugin-transform-regenerator" "^7.16.0" - "@babel/plugin-transform-reserved-words" "^7.16.0" - "@babel/plugin-transform-shorthand-properties" "^7.16.0" - "@babel/plugin-transform-spread" "^7.16.0" - "@babel/plugin-transform-sticky-regex" "^7.16.0" - "@babel/plugin-transform-template-literals" "^7.16.0" - "@babel/plugin-transform-typeof-symbol" "^7.16.0" - "@babel/plugin-transform-unicode-escapes" "^7.16.0" - "@babel/plugin-transform-unicode-regex" "^7.16.0" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.0" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime@^7.14.0", "@babel/runtime@^7.8.4": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" - integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/traverse@^7.13.0", "@babel/traverse@^7.14.9", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" - integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.3" - "@babel/types" "^7.16.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" - integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - to-fast-properties "^2.0.0" - -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== - -"@docsearch/css@^1.0.0-alpha.28": - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-1.0.0-alpha.28.tgz#c8a2cd8c1bb3a6855c51892e9dbdab5d42fe6e23" - integrity sha512-1AhRzVdAkrWwhaxTX6/R7SnFHz8yLz1W8I/AldlTrfbNvZs9INk1FZiEFTJdgHaP68nhgQNWSGlQiDiI3y2RYg== - -"@docsearch/js@^1.0.0-alpha.28": - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-1.0.0-alpha.28.tgz#f0fde7b8a6b1e1d8a7ae1e7655c43d959b457b2b" - integrity sha512-2g7aPhBy7FoEyeZW2G3LYHWVa8CFvqyozEz8PXt3hyywdFcmEIqmoCRwn8kboVftrOKCjtPcuLCewsaBoB3uiw== - dependencies: - "@docsearch/react" "^1.0.0-alpha.28" - preact "^10.0.0" - -"@docsearch/react@^1.0.0-alpha.28": - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-1.0.0-alpha.28.tgz#4f039ed79f8b3332b19a57677b219aebc5010e9d" - integrity sha512-XjJOnCBXn+UZmtuDmgzlVIHnnvh6yHVwG4aFq8AXN6xJEIX3f180FvGaowFWAxgdtHplJxFGux0Xx4piHqBzIw== - dependencies: - "@docsearch/css" "^1.0.0-alpha.28" - "@francoischalifour/autocomplete-core" "^1.0.0-alpha.28" - "@francoischalifour/autocomplete-preset-algolia" "^1.0.0-alpha.28" - algoliasearch "^4.0.0" - -"@francoischalifour/autocomplete-core@^1.0.0-alpha.28": - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/@francoischalifour/autocomplete-core/-/autocomplete-core-1.0.0-alpha.28.tgz#6b9d8491288e77f831e9b345d461623b0d3f5005" - integrity sha512-rL9x+72btViw+9icfBKUJjZj87FgjFrD2esuTUqtj4RAX3s4AuVZiN8XEsfjQBSc6qJk31cxlvqZHC/BIyYXgg== - -"@francoischalifour/autocomplete-preset-algolia@^1.0.0-alpha.28": - version "1.0.0-alpha.28" - resolved "https://registry.yarnpkg.com/@francoischalifour/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.0.0-alpha.28.tgz#a5ad7996f42e43e4acbb4e0010d663746d0e9997" - integrity sha512-bprfNmYt1opFUFEtD2XfY/kEsm13bzHQgU80uMjhuK0DJ914IjolT1GytpkdM6tJ4MBvyiJPP+bTtWO+BZ7c7w== - -"@fullhuman/postcss-purgecss@^2.1.2": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz#50a954757ec78696615d3e118e3fee2d9291882e" - integrity sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw== - dependencies: - postcss "7.0.32" - purgecss "^2.3.0" - -"@gar/promisify@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" - integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== - -"@intlify/shared@^9.0.0": - version "9.1.9" - resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.1.9.tgz#0baaf96128b85560666bec784ffb01f6623cc17a" - integrity sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw== - -"@intlify/vue-i18n-extensions@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@intlify/vue-i18n-extensions/-/vue-i18n-extensions-1.0.2.tgz#ab7f8507f7d423c368e44fa21d6dece700261fca" - integrity sha512-rnfA0ScyBXyp9xsSD4EAMGeOh1yv/AE7fhqdAdSOr5X8N39azz257umfRtzNT9sHXAKSSzpCVhIbMAkp5c/gjQ== - dependencies: - "@babel/parser" "^7.9.6" - -"@intlify/vue-i18n-loader@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@intlify/vue-i18n-loader/-/vue-i18n-loader-1.1.0.tgz#eecc6460823676f533784b3641665c5a609eccf0" - integrity sha512-9LXiztMtYKTE8t/hRwwGUp+ofrwU0sxLQLzFEOZ38zvn0DonUIQmZUj1cfz5p1Lu8BllxKbCrn6HnsRJ+LYA6g== - dependencies: - "@intlify/shared" "^9.0.0" - js-yaml "^3.13.1" - json5 "^2.1.1" - -"@koa/router@^9.0.1": - version "9.4.0" - resolved "https://registry.yarnpkg.com/@koa/router/-/router-9.4.0.tgz#734b64c0ae566eb5af752df71e4143edc4748e48" - integrity sha512-dOOXgzqaDoHu5qqMEPLKEgLz5CeIA7q8+1W62mCvFVCOqeC71UoTGJ4u1xUSOpIl2J1x2pqrNULkFteUeZW3/A== - dependencies: - debug "^4.1.1" - http-errors "^1.7.3" - koa-compose "^4.1.0" - methods "^1.1.2" - path-to-regexp "^6.1.0" - -"@lokidb/full-text-search@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@lokidb/full-text-search/-/full-text-search-2.1.0.tgz#5f0b36dc0d67ba365f84663a9c0438537c186a76" - integrity sha512-KZm8CV0tW/DE+ca4RF8/7kiZnMWqk4x6xrwOImOw1xgMQVzS3jtxHOhWIRk+valUlimDzNxhrstMjBWsdzgqFg== - optionalDependencies: - "@lokidb/loki" "2.1.0" - -"@lokidb/loki@2.1.0", "@lokidb/loki@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@lokidb/loki/-/loki-2.1.0.tgz#f707e184016ce57d6dd12013938c33f9c540960e" - integrity sha512-u2VH/4h4kZww23bak5I/oRai8VqIZCSuqiLbuSHpYXHB9Na5E9KNazh59prgUyvMzfooY7XKiHejbKVxFoAEOQ== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@npmcli/fs@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" - integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@nuxt/babel-preset-app@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/babel-preset-app/-/babel-preset-app-2.15.8.tgz#c78eb8c47c1cafec1c5aba6a52385a3ce877b968" - integrity sha512-z23bY5P7dLTmIbk0ZZ95mcEXIEER/mQCOqEp2vxnzG2nurks+vq6tNcUAXqME1Wl6aXWTXlqky5plBe7RQHzhQ== - dependencies: - "@babel/compat-data" "^7.14.0" - "@babel/core" "^7.14.0" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-imports" "^7.13.12" - "@babel/plugin-proposal-class-properties" "^7.13.0" - "@babel/plugin-proposal-decorators" "^7.13.15" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" - "@babel/plugin-proposal-private-methods" "^7.13.0" - "@babel/plugin-transform-runtime" "^7.13.15" - "@babel/preset-env" "^7.14.1" - "@babel/runtime" "^7.14.0" - "@vue/babel-preset-jsx" "^1.2.4" - core-js "^2.6.5" - core-js-compat "^3.12.1" - regenerator-runtime "^0.13.7" - -"@nuxt/builder@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/builder/-/builder-2.15.8.tgz#66ead4be0a2ce6932a2b7e521cfe1621e49290e7" - integrity sha512-WVhN874LFMdgRiJqpxmeKI+vh5lhCUBVOyR9PhL1m1V/GV3fb+Dqc1BKS6XgayrWAWavPLveCJmQ/FID0puOfQ== - dependencies: - "@nuxt/devalue" "^1.2.5" - "@nuxt/utils" "2.15.8" - "@nuxt/vue-app" "2.15.8" - "@nuxt/webpack" "2.15.8" - chalk "^4.1.1" - chokidar "^3.5.1" - consola "^2.15.3" - fs-extra "^9.1.0" - glob "^7.1.7" - hash-sum "^2.0.0" - ignore "^5.1.8" - lodash "^4.17.21" - pify "^5.0.0" - serialize-javascript "^5.0.1" - upath "^2.0.1" - -"@nuxt/cli@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/cli/-/cli-2.15.8.tgz#3b946ee08c7b5b3223c8952873c65727e775ec30" - integrity sha512-KcGIILW/dAjBKea1DHsuLCG1sNzhzETShwT23DhXWO304qL8ljf4ndYKzn2RenzauGRGz7MREta80CbJCkLSHw== - dependencies: - "@nuxt/config" "2.15.8" - "@nuxt/utils" "2.15.8" - boxen "^5.0.1" - chalk "^4.1.1" - compression "^1.7.4" - connect "^3.7.0" - consola "^2.15.3" - crc "^3.8.0" - defu "^4.0.1" - destr "^1.1.0" - execa "^5.0.0" - exit "^0.1.2" - fs-extra "^9.1.0" - globby "^11.0.3" - hable "^3.0.0" - lodash "^4.17.21" - minimist "^1.2.5" - opener "1.5.2" - pretty-bytes "^5.6.0" - semver "^7.3.5" - serve-static "^1.14.1" - std-env "^2.3.0" - upath "^2.0.1" - wrap-ansi "^7.0.0" - -"@nuxt/components@^2.1.8": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@nuxt/components/-/components-2.2.1.tgz#49c4442ac5a0ef49f49ef7d9960f4376fc3e7c78" - integrity sha512-r1LHUzifvheTnJtYrMuA+apgsrEJbxcgFKIimeXKb+jl8TnPWdV3egmrxBCaDJchrtY/wmHyP47tunsft7AWwg== - dependencies: - chalk "^4.1.2" - chokidar "^3.5.2" - glob "^7.1.7" - globby "^11.0.4" - scule "^0.2.1" - semver "^7.3.5" - upath "^2.0.1" - vue-template-compiler "^2.6.14" - -"@nuxt/config@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/config/-/config-2.15.8.tgz#56cc1b052871072a26f76c6d3b69d9b53808ce52" - integrity sha512-KMQbjmUf9RVHeTZEf7zcuFnh03XKZioYhok6GOCY+leu3g5n/UhyPvLnTsgTfsLWohqoRoOm94u4A+tNYwn9VQ== - dependencies: - "@nuxt/utils" "2.15.8" - consola "^2.15.3" - defu "^4.0.1" - destr "^1.1.0" - dotenv "^9.0.2" - lodash "^4.17.21" - rc9 "^1.2.0" - std-env "^2.3.0" - ufo "^0.7.4" - -"@nuxt/content-theme-docs@^0.11.1": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@nuxt/content-theme-docs/-/content-theme-docs-0.11.1.tgz#99b2e2c9739c379842f83267441c616b2d33dc2e" - integrity sha512-JQNeWqa5mNtVtnf/n3RGsKr9EoZ6Nw8zcCn232jMNmVqrkbNGAB6dOjCAh26NGlxNgLwcZ0DxsPSXbTTCTeEXw== - dependencies: - "@docsearch/css" "^1.0.0-alpha.28" - "@docsearch/js" "^1.0.0-alpha.28" - "@nuxt/content" "^1.15.1" - "@nuxt/types" "^2.15.2" - "@nuxtjs/color-mode" "^2.0.3" - "@nuxtjs/google-fonts" "1.2.0" - "@nuxtjs/pwa" "^3.3.5" - "@nuxtjs/tailwindcss" "^3.4.2" - "@tailwindcss/typography" "0.2.0" - clipboard "^2.0.6" - defu "^3.2.2" - lodash.groupby "^4.6.0" - marked "^2.0.1" - nuxt-i18n "^6.20.4" - prism-themes "^1.5.0" - tailwind-css-variables "^2.0.3" - theme-colors "^0.0.5" - vue-scrollactive "^0.9.3" - -"@nuxt/content@^1.15.1": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@nuxt/content/-/content-1.15.1.tgz#bd2c7ff9e9523b6a6a3f4edaec78495acc72a41e" - integrity sha512-nCTKwNcs59KgwwGQkSW8Z/otoiYX+OKDBjdOLn7tty3WdEfPQYcEkTX6WKP5IVYI976FihZExppRiezkm2N0mQ== - dependencies: - "@lokidb/full-text-search" "^2.1.0" - "@lokidb/loki" "^2.1.0" - "@nuxt/types" "^2.15.2" - "@types/js-yaml" "^4.0.0" - "@types/xml2js" "^0.4.8" - change-case "^4.1.2" - chokidar "^3.5.1" - consola "^2.15.3" - csvtojson "^2.0.10" - defu "^3.2.2" - detab "^2.0.4" - escape-html "^1.0.3" - graceful-fs "^4.2.6" - gray-matter "^4.0.2" - hasha "^5.2.2" - hookable "^4.4.1" - html-tags "^3.1.0" - js-yaml "4.0.0" - json5 "^2.2.0" - mdast-util-to-hast "^10.2.0" - mkdirp "^1.0.4" - node-req "^2.1.2" - node-res "^5.0.1" - p-queue "6.6.2" - prismjs "^1.23.0" - property-information "^5.6.0" - rehype-raw "^5.0.0" - rehype-sort-attribute-values "^3.0.2" - rehype-sort-attributes "^3.0.2" - remark-autolink-headings "^6.0.1" - remark-external-links "^8.0.0" - remark-footnotes "^3.0.0" - remark-gfm "^1.0.0" - remark-parse "^9.0.0" - remark-rehype "^8.0.0" - remark-slug "^6.0.0" - remark-squeeze-paragraphs "^4.0.0" - unified "^9.2.1" - unist-builder "^2.0.3" - ws "^7.4.3" - xml2js "^0.4.23" - -"@nuxt/core@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/core/-/core-2.15.8.tgz#443d13da9edc5c4ae47d7902f1d6504a8cce27a2" - integrity sha512-31pipWRvwHiyB5VDqffgSO7JtmHxyzgshIzuZzSinxMbVmK3BKsOwacD/51oEyELgrPlUgLqcY9dg+RURgmHGQ== - dependencies: - "@nuxt/config" "2.15.8" - "@nuxt/server" "2.15.8" - "@nuxt/utils" "2.15.8" - consola "^2.15.3" - fs-extra "^9.1.0" - hable "^3.0.0" - hash-sum "^2.0.0" - lodash "^4.17.21" - -"@nuxt/devalue@^1.2.5": - version "1.2.5" - resolved "https://registry.yarnpkg.com/@nuxt/devalue/-/devalue-1.2.5.tgz#8d95e3e74b3332d3eb713342c5c4d18096047d66" - integrity sha512-Tg86C7tqzvZtZli2BQVqgzZN136mZDTgauvJXagglKkP2xt5Kw3NUIiJyjX0Ww/IZy2xVmD0LN+CEPpij4dB2g== - dependencies: - consola "^2.9.0" - -"@nuxt/friendly-errors-webpack-plugin@^2.5.1": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.5.2.tgz#982a43ee2da61611f7396439e57038392d3944d5" - integrity sha512-LLc+90lnxVbpKkMqk5z1EWpXoODhc6gRkqqXJCInJwF5xabHAE7biFvbULfvTRmtaTzAaP8IV4HQDLUgeAUTTw== - dependencies: - chalk "^2.3.2" - consola "^2.6.0" - error-stack-parser "^2.0.0" - string-width "^4.2.3" - -"@nuxt/generator@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/generator/-/generator-2.15.8.tgz#d6bd4a677edf14f34d516e13bcb70d62cdd4c5b4" - integrity sha512-hreLdYbBIe3SWcP8LsMG7OlDTx2ZVucX8+f8Vrjft3Q4r8iCwLMYC1s1N5etxeHAZfS2kZiLmF92iscOdfbgMQ== - dependencies: - "@nuxt/utils" "2.15.8" - chalk "^4.1.1" - consola "^2.15.3" - defu "^4.0.1" - devalue "^2.0.1" - fs-extra "^9.1.0" - html-minifier "^4.0.0" - node-html-parser "^3.2.0" - ufo "^0.7.4" - -"@nuxt/loading-screen@^2.0.3": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nuxt/loading-screen/-/loading-screen-2.0.4.tgz#756abd861f77c57001be4d21d47534723afb4f3a" - integrity sha512-xpEDAoRu75tLUYCkUJCIvJkWJSuwr8pqomvQ+fkXpSrkxZ/9OzlBFjAbVdOAWTMj4aV/LVQso4vcEdircKeFIQ== - dependencies: - connect "^3.7.0" - defu "^5.0.0" - get-port-please "^2.2.0" - node-res "^5.0.1" - serve-static "^1.14.1" - -"@nuxt/opencollective@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@nuxt/opencollective/-/opencollective-0.3.2.tgz#83cb70cdb2bac5fad6f8c93529e7b11187d49c02" - integrity sha512-XG7rUdXG9fcafu9KTDIYjJSkRO38EwjlKYIb5TQ/0WDbiTUTtUtgncMscKOYzfsY86kGs05pAuMOR+3Fi0aN3A== - dependencies: - chalk "^4.1.0" - consola "^2.15.0" - node-fetch "^2.6.1" - -"@nuxt/server@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/server/-/server-2.15.8.tgz#ec733897de78f858ae0eebd174e8549f247c4e99" - integrity sha512-E4EtXudxtWQBUHMHOxFwm5DlPOkJbW+iF1+zc0dGmXLscep1KWPrlP+4nrpZj8/UKzpupamE8ZTS9I4IbnExVA== - dependencies: - "@nuxt/utils" "2.15.8" - "@nuxt/vue-renderer" "2.15.8" - "@nuxtjs/youch" "^4.2.3" - compression "^1.7.4" - connect "^3.7.0" - consola "^2.15.3" - etag "^1.8.1" - fresh "^0.5.2" - fs-extra "^9.1.0" - ip "^1.1.5" - launch-editor-middleware "^2.2.1" - on-headers "^1.0.2" - pify "^5.0.0" - serve-placeholder "^1.2.3" - serve-static "^1.14.1" - server-destroy "^1.0.1" - ufo "^0.7.4" - -"@nuxt/telemetry@^1.3.3": - version "1.3.6" - resolved "https://registry.yarnpkg.com/@nuxt/telemetry/-/telemetry-1.3.6.tgz#a27a27b2f56a2ad4ef2c1bef82e12f0bc0dc40ac" - integrity sha512-sZpLf/rU3cvN8/alR1HpJIl3mHPA1GOg41GKdOOrtw7Gi/lCEVk4hK+lpXgYInZ2n6i1JyknpKhM9YzX2RU33w== - dependencies: - arg "^5.0.0" - chalk "^4.1.1" - ci-info "^3.1.1" - consola "^2.15.3" - create-require "^1.1.1" - defu "^5.0.0" - destr "^1.1.0" - dotenv "^9.0.2" - fs-extra "^8.1.0" - git-url-parse "^11.4.4" - inquirer "^7.3.3" - is-docker "^2.2.1" - jiti "^1.9.2" - nanoid "^3.1.23" - node-fetch "^2.6.1" - parse-git-config "^3.0.0" - rc9 "^1.2.0" - std-env "^2.3.0" - -"@nuxt/types@^2.15.2": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/types/-/types-2.15.8.tgz#1249de448f68169fe17e9379ee7b5caa0eb336b0" - integrity sha512-zBAG5Fy+SIaZIerOVF1vxy1zz16ZK07QSbsuQAjdtEFlvr+vKK+0AqCv8r8DBY5IVqdMIaw5FgNUz5py0xWdPg== - dependencies: - "@types/autoprefixer" "9.7.2" - "@types/babel__core" "7.1.14" - "@types/compression" "1.7.0" - "@types/connect" "3.4.34" - "@types/etag" "1.8.0" - "@types/file-loader" "5.0.0" - "@types/html-minifier" "4.0.0" - "@types/less" "3.0.2" - "@types/node" "12.20.12" - "@types/optimize-css-assets-webpack-plugin" "5.0.3" - "@types/pug" "2.0.4" - "@types/sass-loader" "8.0.1" - "@types/serve-static" "1.13.9" - "@types/terser-webpack-plugin" "4.2.1" - "@types/webpack" "4.41.28" - "@types/webpack-bundle-analyzer" "3.9.3" - "@types/webpack-dev-middleware" "4.1.2" - "@types/webpack-hot-middleware" "2.25.4" - sass-loader "10.1.1" - -"@nuxt/utils@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/utils/-/utils-2.15.8.tgz#0c3594f01be63ab521583904cafd32215b719d4c" - integrity sha512-e0VBarUbPiQ4ZO1T58puoFIuXme7L5gk1QfwyxOONlp2ryE7aRyZ8X/mryuOiIeyP64c4nwSUtN7q9EUWRb7Lg== - dependencies: - consola "^2.15.3" - create-require "^1.1.1" - fs-extra "^9.1.0" - hash-sum "^2.0.0" - jiti "^1.9.2" - lodash "^4.17.21" - proper-lockfile "^4.1.2" - semver "^7.3.5" - serialize-javascript "^5.0.1" - signal-exit "^3.0.3" - ua-parser-js "^0.7.28" - ufo "^0.7.4" - -"@nuxt/vue-app@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/vue-app/-/vue-app-2.15.8.tgz#46b7ec8fc93f8d1f4cdf4f6b04134cb40ceb7c4a" - integrity sha512-FJf9FSMPsWT3BqkS37zEuPTxLKzSg2EIwp1sP8Eou25eE08qxRfe2PwTVA8HnXUPNdpz2uk/T9DlNw+JraiFRQ== - dependencies: - node-fetch "^2.6.1" - ufo "^0.7.4" - unfetch "^4.2.0" - vue "^2.6.12" - vue-client-only "^2.0.0" - vue-meta "^2.4.0" - vue-no-ssr "^1.1.1" - vue-router "^3.5.1" - vue-template-compiler "^2.6.12" - vuex "^3.6.2" - -"@nuxt/vue-renderer@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/vue-renderer/-/vue-renderer-2.15.8.tgz#1cd781de18724a98e27655e89bfe64cd5521491e" - integrity sha512-54I/k+4G6axP9XVYYdtH6M1S6T49OIkarpF6/yIJj0yi3S/2tdJ9eUyfoLZ9EbquZFDDRHBxSswTtr2l/eakPw== - dependencies: - "@nuxt/devalue" "^1.2.5" - "@nuxt/utils" "2.15.8" - consola "^2.15.3" - defu "^4.0.1" - fs-extra "^9.1.0" - lodash "^4.17.21" - lru-cache "^5.1.1" - ufo "^0.7.4" - vue "^2.6.12" - vue-meta "^2.4.0" - vue-server-renderer "^2.6.12" - -"@nuxt/webpack@2.15.8": - version "2.15.8" - resolved "https://registry.yarnpkg.com/@nuxt/webpack/-/webpack-2.15.8.tgz#6169b4b8a13ee2cdb4987df6c5a401e18c412ef1" - integrity sha512-CzJYFed23Ow/UK0+cI1FVthDre1p2qc8Q97oizG39d3/SIh3aUHjgj8c60wcR+RSxVO0FzZMXkmq02NmA7vWJg== - dependencies: - "@babel/core" "^7.14.0" - "@nuxt/babel-preset-app" "2.15.8" - "@nuxt/friendly-errors-webpack-plugin" "^2.5.1" - "@nuxt/utils" "2.15.8" - babel-loader "^8.2.2" - cache-loader "^4.1.0" - caniuse-lite "^1.0.30001228" - consola "^2.15.3" - css-loader "^4.3.0" - cssnano "^4.1.11" - eventsource-polyfill "^0.9.6" - extract-css-chunks-webpack-plugin "^4.9.0" - file-loader "^6.2.0" - glob "^7.1.7" - hard-source-webpack-plugin "^0.13.1" - hash-sum "^2.0.0" - html-webpack-plugin "^4.5.1" - lodash "^4.17.21" - memory-fs "^0.5.0" - optimize-css-assets-webpack-plugin "^5.0.4" - pify "^5.0.0" - pnp-webpack-plugin "^1.6.4" - postcss "^7.0.32" - postcss-import "^12.0.1" - postcss-import-resolver "^2.0.0" - postcss-loader "^3.0.0" - postcss-preset-env "^6.7.0" - postcss-url "^8.0.0" - semver "^7.3.5" - std-env "^2.3.0" - style-resources-loader "^1.4.1" - terser-webpack-plugin "^4.2.3" - thread-loader "^3.0.4" - time-fix-plugin "^2.0.7" - ufo "^0.7.4" - url-loader "^4.1.1" - vue-loader "^15.9.7" - vue-style-loader "^4.1.3" - vue-template-compiler "^2.6.12" - webpack "^4.46.0" - webpack-bundle-analyzer "^4.4.1" - webpack-dev-middleware "^4.2.0" - webpack-hot-middleware "^2.25.0" - webpack-node-externals "^3.0.0" - webpackbar "^4.0.0" - -"@nuxtjs/color-mode@^2.0.3": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@nuxtjs/color-mode/-/color-mode-2.1.1.tgz#374f995f56a8fe27c6263ab865a034a50e90c1ea" - integrity sha512-kGB/FoICF4RwZkfNBhL/yGrHfaUFpviYq6HGvSkZEm2dCpjRXIv9VsWoP0uzwxnoaRAQQOkkWjaGv/nSk0gUSQ== - dependencies: - defu "^5.0.0" - lodash.template "^4.5.0" - -"@nuxtjs/google-adsense@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@nuxtjs/google-adsense/-/google-adsense-1.4.0.tgz#c86eedf10fa8cc9ae5e4b3bb45998bd462d9634b" - integrity sha512-C5PfE/IE/VhqhomZWNNbTmVIPjB2o+2iRXZA16QoPMA0n2cotfGqt1CkECTYPyFhN89beMa7ioOic9/+ESLPXg== - -"@nuxtjs/google-analytics@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@nuxtjs/google-analytics/-/google-analytics-2.4.0.tgz#3bb9f398a05cc23340d1f423f8d8653dc4114f46" - integrity sha512-rDQTwHIjyjVrx8GywHPuWykJ3jRFGaHl5Iqji/y8tQWUc0yGEeHxOoR0yimzxnTS1Ph2/PubQYpgnVeEPEdL/A== - dependencies: - vue-analytics "^5.22.1" - -"@nuxtjs/google-fonts@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@nuxtjs/google-fonts/-/google-fonts-1.2.0.tgz#b226683f2ccfdb1caab02729ff1c513062b9e868" - integrity sha512-uxH3A9j0kyPDyhq4yFxT4GZjYinVzOFRFSTT1Tx5mqXvAaiqa9u6wie2KnN8i+LFypn/WKp1mREPO17cgdlZkQ== - dependencies: - consola "^2.15.0" - google-fonts-helper "^1.1.1" - -"@nuxtjs/pwa@^3.3.5": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@nuxtjs/pwa/-/pwa-3.3.5.tgz#db7c905536ebe8a464a347b6ae3215810642c044" - integrity sha512-8tTmW8DBspWxlJwTimOHTkwfkwPpL9wIcGmy75Gcmin+c9YtX2Ehxmhgt/TLFOC9XsLAqojqynw3/Agr/9OE1w== - dependencies: - clone-deep "^4.0.1" - defu "^3.2.2" - execa "^5.0.0" - fs-extra "^9.1.0" - hasha "^5.2.2" - jimp-compact "^0.16.1" - lodash.template "^4.5.0" - serve-static "^1.14.1" - workbox-cdn "^5.1.4" - -"@nuxtjs/sitemap@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@nuxtjs/sitemap/-/sitemap-2.4.0.tgz#6a9fa1c35e161f87375d59949d973568cec40614" - integrity sha512-TVgIYOtPp7KAfaUo76WRpGbO20j4D/xi/A7shFIGjARHs+FvfAWXNCtBT87dTwe/RoYzAsEKtijFFUTaSu5bUA== - dependencies: - async-cache "^1.1.0" - consola "^2.13.0" - etag "^1.8.1" - fresh "^0.5.2" - fs-extra "^8.1.0" - is-https "^2.0.2" - lodash.unionby "^4.8.0" - minimatch "^3.0.4" - sitemap "^4.1.1" - -"@nuxtjs/tailwindcss@^3.4.2": - version "3.4.3" - resolved "https://registry.yarnpkg.com/@nuxtjs/tailwindcss/-/tailwindcss-3.4.3.tgz#8239b11857d395000d9ff5df52b18644d631629d" - integrity sha512-W2FIB5zzvkPkNayQ3mTy7jcP0rTDwnrjv79v96/CRTptFbY5TxvZVJI7N0r8ova/IWPSdkgjdCb7wbzolzzgjg== - dependencies: - chalk "^4.1.0" - clear-module "^4.1.1" - consola "^2.15.3" - defu "^3.2.2" - fs-extra "^9.1.0" - tailwind-config-viewer "^1.5.0" - tailwindcss "^1.9.6" - ufo "^0.6.9" - -"@nuxtjs/youch@^4.2.3": - version "4.2.3" - resolved "https://registry.yarnpkg.com/@nuxtjs/youch/-/youch-4.2.3.tgz#36f8b22df5a0efaa81373109851e1d857aca6bed" - integrity sha512-XiTWdadTwtmL/IGkNqbVe+dOlT+IMvcBu7TvKI7plWhVQeBCQ9iKhk3jgvVWFyiwL2yHJDlEwOM5v9oVES5Xmw== - dependencies: - cookie "^0.3.1" - mustache "^2.3.0" - stack-trace "0.0.10" - -"@polka/url@^1.0.0-next.20": - version "1.0.0-next.21" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" - integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== - -"@sindresorhus/is@^4.0.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - -"@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - -"@tailwindcss/typography@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.2.0.tgz#b597c83502e3c3c6641a8aaabda223cd494ab349" - integrity sha512-aPgMH+CjQiScLZculoDNOQUrrK2ktkbl3D6uCLYp1jgYRlNDrMONu9nMu8LfwAeetYNpVNeIGx7WzHSu0kvECg== - -"@types/anymatch@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-3.0.0.tgz#c95ff14401dbb2869913afac3935af4ad0d37f1a" - integrity sha512-qLChUo6yhpQ9k905NwL74GU7TxH+9UODwwQ6ICNI+O6EDMExqH/Cv9NsbmcZ7yC/rRXJ/AHCzfgjsFRY5fKjYw== - dependencies: - anymatch "*" - -"@types/autoprefixer@9.7.2": - version "9.7.2" - resolved "https://registry.yarnpkg.com/@types/autoprefixer/-/autoprefixer-9.7.2.tgz#64b3251c9675feef5a631b7dd34cfea50a8fdbcc" - integrity sha512-QX7U7YW3zX3ex6MECtWO9folTGsXeP4b8bSjTq3I1ODM+H+sFHwGKuof+T+qBcDClGlCGtDb3SVfiTVfmcxw4g== - dependencies: - "@types/browserslist" "*" - postcss "7.x.x" - -"@types/babel__core@7.1.14": - version "7.1.14" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" - integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" - integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/body-parser@*": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/browserslist@*": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@types/browserslist/-/browserslist-4.15.0.tgz#ba0265b33003a2581df1fc5f483321a30205f2d2" - integrity sha512-h9LyKErRGZqMsHh9bd+FE8yCIal4S0DxKTOeui56VgVXqa66TKiuaIUxCAI7c1O0LjaUzOTcsMyOpO9GetozRA== - dependencies: - browserslist "*" - -"@types/cacheable-request@^6.0.1": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" - integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "*" - "@types/node" "*" - "@types/responselike" "*" - -"@types/clean-css@*": - version "4.2.5" - resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.5.tgz#69ce62cc13557c90ca40460133f672dc52ceaf89" - integrity sha512-NEzjkGGpbs9S9fgC4abuBvTpVwE3i+Acu9BBod3PUyjDVZcNsGx61b8r2PphR61QGPnn0JHVs5ey6/I4eTrkxw== - dependencies: - "@types/node" "*" - source-map "^0.6.0" - -"@types/compression@1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@types/compression/-/compression-1.7.0.tgz#8dc2a56604873cf0dd4e746d9ae4d31ae77b2390" - integrity sha512-3LzWUM+3k3XdWOUk/RO+uSjv7YWOatYq2QADJntK1pjkk4DfVP0KrIEPDnXRJxAAGKe0VpIPRmlINLDuCedZWw== - dependencies: - "@types/express" "*" - -"@types/connect@*": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/connect@3.4.34": - version "3.4.34" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" - integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== - dependencies: - "@types/node" "*" - -"@types/etag@1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@types/etag/-/etag-1.8.0.tgz#37f0b1f3ea46da7ae319bbedb607e375b4c99f7e" - integrity sha512-EdSN0x+Y0/lBv7YAb8IU4Jgm6DWM+Bqtz7o5qozl96fzaqdqbdfHS5qjdpFeIv7xQ8jSLyjMMNShgYtMajEHyQ== - dependencies: - "@types/node" "*" - -"@types/express-serve-static-core@^4.17.18": - version "4.17.25" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.25.tgz#e42f7046adc65ece2eb6059b77aecfbe9e9f82e0" - integrity sha512-OUJIVfRMFijZukGGwTpKNFprqCCXk5WjNGvUgB/CxxBR40QWSjsNK86+yvGKlCOGc7sbwfHLaXhkG+NsytwBaQ== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@*": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/file-loader@5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/file-loader/-/file-loader-5.0.0.tgz#c7d06c14a8fc0224661e9a29c4035ba47db826df" - integrity sha512-evodFzM0PLOXmMZy8DhPN+toP6QgJiIteF6e8iD9T0xGBUllQA/DAb1nZwCIoNh7vuLvqCGPUdsLf3GSbcHd4g== - dependencies: - "@types/webpack" "^4" - -"@types/hast@^2.0.0": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" - integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== - dependencies: - "@types/unist" "*" - -"@types/html-minifier-terser@^5.0.0": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" - integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== - -"@types/html-minifier@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier/-/html-minifier-4.0.0.tgz#2065cb9944f2d1b241146707c6935aa7b947d279" - integrity sha512-eFnGhrKmjWBlnSGNtunetE3UU2Tc/LUl92htFslSSTmpp9EKHQVcYQadCyYfnzUEFB5G/3wLWo/USQS/mEPKrA== - dependencies: - "@types/clean-css" "*" - "@types/relateurl" "*" - "@types/uglify-js" "*" - -"@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== - -"@types/js-yaml@^4.0.0": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" - integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== - -"@types/json-buffer@~3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/json-buffer/-/json-buffer-3.0.0.tgz#85c1ff0f0948fc159810d4b5be35bf8c20875f64" - integrity sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ== - -"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - -"@types/keyv@*": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" - -"@types/less@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/less/-/less-3.0.2.tgz#2761d477678c8374cb9897666871662eb1d1115e" - integrity sha512-62vfe65cMSzYaWmpmhqCMMNl0khen89w57mByPi1OseGfcV/LV03fO8YVrNj7rFQsRWNJo650WWyh6m7p8vZmA== - -"@types/mdast@^3.0.0": - version "3.0.10" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" - integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== - dependencies: - "@types/unist" "*" - -"@types/mime@^1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== - -"@types/node-sass@*": - version "4.11.2" - resolved "https://registry.yarnpkg.com/@types/node-sass/-/node-sass-4.11.2.tgz#ecdaa44a1ba8847bf7dea2aadbfe33a91a263514" - integrity sha512-pOFlTw/OtZda4e+yMjq6/QYuvY0RDMQ+mxXdWj7rfSyf18V8hS4SfgurO+MasAkQsv6Wt6edOGlwh5QqJml9gw== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "18.0.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" - integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== - -"@types/node@12.20.12": - version "12.20.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.12.tgz#fd9c1c2cfab536a2383ed1ef70f94adea743a226" - integrity sha512-KQZ1al2hKOONAs2MFv+yTQP1LkDWMrRJ9YCVRalXltOfXsBmH5IownLxQaiq0lnAHwAViLnh2aTYqrPcRGEbgg== - -"@types/node@^12.0.2": - version "12.20.37" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.37.tgz#abb38afa9d6e8a2f627a8cb52290b3c80fbe61ed" - integrity sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA== - -"@types/optimize-css-assets-webpack-plugin@5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#9bf5bdbb57b379f59a37a6775336f42cd6701852" - integrity sha512-PJgbI4KplJfyxKWVrBbEL+rePEBqeozJRMT0mBL3ynhvngASBV/XJ+BneLuJN74RjjMzO0gA5ns80mgubQdZAA== - dependencies: - "@types/webpack" "^4" - -"@types/parse5@^5.0.0": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" - integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== - -"@types/pug@2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.4.tgz#8772fcd0418e3cd2cc171555d73007415051f4b2" - integrity sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI= - -"@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== - -"@types/qs@*": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - -"@types/relateurl@*": - version "0.2.29" - resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.29.tgz#68ccecec3d4ffdafb9c577fe764f912afc050fe6" - integrity sha512-QSvevZ+IRww2ldtfv1QskYsqVVVwCKQf1XbwtcyyoRvLIQzfyPhj/C+3+PKzSDRdiyejaiLgnq//XTkleorpLg== - -"@types/responselike@*", "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== - dependencies: - "@types/node" "*" - -"@types/sass-loader@8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@types/sass-loader/-/sass-loader-8.0.1.tgz#628eb80c30cb34ce622056f9b9a1606a8147dcd0" - integrity sha512-kum0/5Im5K2WdDTRsLtrXXvX2VJc3rgq9favK+vIdWLn35miWUIYuPkiQlLCHks9//sZ3GWYs4uYzCdmoKKLcQ== - dependencies: - "@types/node-sass" "*" - "@types/sass" "*" - "@types/webpack" "^4" - -"@types/sass@*": - version "1.43.0" - resolved "https://registry.yarnpkg.com/@types/sass/-/sass-1.43.0.tgz#b4cebe057d887ed66dc6813fd6cbef22043057bb" - integrity sha512-DPSXNJ1rYLo88GyF9tuB4bsYGfpKI1a4+wOQmc+LI1SUoocm9QLRSpz0GxxuyjmJsYFIQo/dDlRSSpIXngff+w== - dependencies: - "@types/node" "*" - -"@types/sax@^1.2.0": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.3.tgz#b630ac1403ebd7812e0bf9a10de9bf5077afb348" - integrity sha512-+QSw6Tqvs/KQpZX8DvIl3hZSjNFLW/OqE5nlyHXtTwODaJvioN2rOWpBNEWZp2HZUFhOh+VohmJku/WxEXU2XA== - dependencies: - "@types/node" "*" - -"@types/serve-static@*": - version "1.13.10" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" - integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-static@1.13.9": - version "1.13.9" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" - integrity sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" - integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== - -"@types/terser-webpack-plugin@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@types/terser-webpack-plugin/-/terser-webpack-plugin-4.2.1.tgz#cbeccec2b011ad12a9ddcd60b4089c9e138a313a" - integrity sha512-x688KsgQKJF8PPfv4qSvHQztdZNHLlWJdolN9/ptAGimHVy3rY+vHdfglQDFh1Z39h7eMWOd6fQ7ke3PKQcdyA== - dependencies: - "@types/webpack" "^4" - terser "^4.6.13" - -"@types/uglify-js@*": - version "3.13.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" - integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== - dependencies: - source-map "^0.6.1" - -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" - integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== - -"@types/webpack-bundle-analyzer@3.9.3": - version "3.9.3" - resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.3.tgz#3a12025eb5d86069c30b47a157e62c0aca6e39a1" - integrity sha512-l/vaDMWGcXiMB3CbczpyICivLTB07/JNtn1xebsRXE9tPaUDEHgX3x7YP6jfznG5TOu7I4w0Qx1tZz61znmPmg== - dependencies: - "@types/webpack" "^4" - -"@types/webpack-dev-middleware@4.1.2": - version "4.1.2" - resolved "https://registry.yarnpkg.com/@types/webpack-dev-middleware/-/webpack-dev-middleware-4.1.2.tgz#c683adc6a44d0b66e98f1932ab33d1c32d558142" - integrity sha512-SxXzPCqeZ03fJ2dg3iD7cSXvqZymmS5/2GD9fANRcyWN7HYK1H3ty6q7IInXZKvPrdUqij831G3RLIeKK6aGdw== - dependencies: - "@types/connect" "*" - "@types/webpack" "^4" - -"@types/webpack-hot-middleware@2.25.4": - version "2.25.4" - resolved "https://registry.yarnpkg.com/@types/webpack-hot-middleware/-/webpack-hot-middleware-2.25.4.tgz#e439e9a3694158badf23b094bc1ad6051767ca05" - integrity sha512-6tQb9EBKIANZYUVLQYWiWfDFVe7FhXSj4bB2EF5QB7VtYWL3HDR+y/zqjZPAnCorv0spLqVMRqjRK8AmhfocMw== - dependencies: - "@types/connect" "*" - "@types/webpack" "^4" - -"@types/webpack-sources@*": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" - integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@4.41.28": - version "4.41.28" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.28.tgz#0069a2159b7ad4d83d0b5801942c17d54133897b" - integrity sha512-Nn84RAiJjKRfPFFCVR8LC4ueTtTdfWAMZ03THIzZWRJB+rX24BD3LqPSFnbMscWauEsT4segAsylPDIaZyZyLQ== - dependencies: - "@types/anymatch" "*" - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" - -"@types/webpack@^4", "@types/webpack@^4.41.8": - version "4.41.32" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" - integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== - dependencies: - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - anymatch "^3.0.0" - source-map "^0.6.0" - -"@types/xml2js@^0.4.8": - version "0.4.9" - resolved "https://registry.yarnpkg.com/@types/xml2js/-/xml2js-0.4.9.tgz#a38267d8c2fe121c96922b12ee3bd89a58a6e20e" - integrity sha512-CHiCKIihl1pychwR2RNX5mAYmJDACgFVCMT5OArMaO3erzwXVcBqPcusr+Vl8yeeXukxZqtF8mZioqX+mpjjdw== - dependencies: - "@types/node" "*" - -"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" - integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== - -"@vue/babel-plugin-transform-vue-jsx@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" - integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - html-tags "^2.0.0" - lodash.kebabcase "^4.1.1" - svg-tags "^1.0.0" - -"@vue/babel-preset-jsx@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" - integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== - dependencies: - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" - "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" - "@vue/babel-sugar-functional-vue" "^1.2.2" - "@vue/babel-sugar-inject-h" "^1.2.2" - "@vue/babel-sugar-v-model" "^1.2.3" - "@vue/babel-sugar-v-on" "^1.2.3" - -"@vue/babel-sugar-composition-api-inject-h@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" - integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-composition-api-render-instance@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" - integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-functional-vue@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" - integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-inject-h@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" - integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-v-model@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" - integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - html-tags "^2.0.0" - svg-tags "^1.0.0" - -"@vue/babel-sugar-v-on@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" - integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - -"@vue/component-compiler-utils@^3.1.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9" - integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== - dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^7.0.36" - postcss-selector-parser "^6.0.2" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" - optionalDependencies: - prettier "^1.18.2 || ^2.0.0" - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -accepts@^1.3.5, accepts@~1.3.5: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn-walk@^8.0.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.0.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.0.4: - version "8.6.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" - integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -algoliasearch@^4.0.0: - version "4.11.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.11.0.tgz#234befb3ac355c094077f0edf3777240b1ee013c" - integrity sha512-IXRj8kAP2WrMmj+eoPqPc6P7Ncq1yZkFiyDrjTBObV1ADNL8Z/KdZ+dWC5MmYcBLAbcB/mMCpak5N/D1UIZvsA== - dependencies: - "@algolia/cache-browser-local-storage" "4.11.0" - "@algolia/cache-common" "4.11.0" - "@algolia/cache-in-memory" "4.11.0" - "@algolia/client-account" "4.11.0" - "@algolia/client-analytics" "4.11.0" - "@algolia/client-common" "4.11.0" - "@algolia/client-personalization" "4.11.0" - "@algolia/client-search" "4.11.0" - "@algolia/logger-common" "4.11.0" - "@algolia/logger-console" "4.11.0" - "@algolia/requester-browser-xhr" "4.11.0" - "@algolia/requester-common" "4.11.0" - "@algolia/requester-node-http" "4.11.0" - "@algolia/transporter" "4.11.0" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html-community@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@*, anymatch@^3.0.0, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -arg@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -arg@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" - integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -async-cache@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/async-cache/-/async-cache-1.1.0.tgz#4a9a5a89d065ec5d8e5254bd9ee96ba76c532b5a" - integrity sha1-SppaidBl7F2OUlS9nulrp2xTK1o= - dependencies: - lru-cache "^4.0.0" - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async@^2.6.2: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@^9.4.5, autoprefixer@^9.6.1: - version "9.8.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" - integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== - dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - picocolors "^0.2.1" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" - -babel-loader@^8.2.2: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" - integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.0" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" - integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.0.2, base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bezier-easing@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bezier-easing/-/bezier-easing-2.1.0.tgz#c04dfe8b926d6ecaca1813d69ff179b7c2025d86" - integrity sha1-wE3+i5JtbsrKGBPWn/F5t8ICXYY= - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bluebird@^3.1.1, bluebird@^3.5.1, bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -boxen@^5.0.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@*, browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.6.4: - version "4.18.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" - integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== - dependencies: - caniuse-lite "^1.0.30001280" - electron-to-chromium "^1.3.896" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-json@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" - integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.1.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" - integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^15.0.5: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-content-type@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" - integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== - dependencies: - mime-types "^2.1.18" - ylru "^1.2.0" - -cache-loader@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" - integrity sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== - dependencies: - buffer-json "^2.0.0" - find-cache-dir "^3.0.0" - loader-utils "^1.2.3" - mkdirp "^0.5.1" - neo-async "^2.6.1" - schema-utils "^2.0.0" - -cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - -cacheable-request@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" - integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camel-case@^4.1.1, camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" - integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001280: - version "1.0.30001282" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" - integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== - -capital-case@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" - integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case-first "^2.0.2" - -ccount@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" - integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -"chalk@^3.0.0 || ^4.0.0", chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -change-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12" - integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== - dependencies: - camel-case "^4.1.2" - capital-case "^1.0.4" - constant-case "^3.0.4" - dot-case "^3.0.4" - header-case "^2.0.4" - no-case "^3.0.4" - param-case "^3.0.4" - pascal-case "^3.1.2" - path-case "^3.0.4" - sentence-case "^3.0.4" - snake-case "^3.0.4" - tslib "^2.0.3" - -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1, chokidar@^3.5.1, chokidar@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.1.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@^4.2.1, clean-css@^4.2.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" - integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -clear-module@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/clear-module/-/clear-module-4.1.2.tgz#5a58a5c9f8dccf363545ad7284cad3c887352a80" - integrity sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw== - dependencies: - parent-module "^2.0.0" - resolve-from "^5.0.0" - -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -clipboard@^2.0.6: - version "2.0.8" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" - integrity sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ== - dependencies: - good-listener "^1.2.2" - select "^1.1.2" - tiny-emitter "^2.0.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== - dependencies: - mimic-response "^1.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" - integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0, color@^3.1.2: - version "3.2.1" - resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" - integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== - dependencies: - color-convert "^1.9.3" - color-string "^1.6.0" - -colorette@^1.2.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" - integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== - -comma-separated-tokens@^1.0.0: - version "1.0.8" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" - integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== - -commander@^2.19.0, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -commander@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compress-brotli@^1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/compress-brotli/-/compress-brotli-1.3.8.tgz#0c0a60c97a989145314ec381e84e26682e7b38db" - integrity sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ== - dependencies: - "@types/json-buffer" "~3.0.0" - json-buffer "~3.0.1" - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -connect@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -consola@^2.10.0, consola@^2.13.0, consola@^2.15.0, consola@^2.15.3, consola@^2.6.0, consola@^2.9.0: - version "2.15.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" - integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - dependencies: - bluebird "^3.1.1" - -constant-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1" - integrity sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case "^2.0.2" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -content-disposition@~0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -cookie@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= - -cookie@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - -cookies@~0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" - integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== - dependencies: - depd "~2.0.0" - keygrip "~1.1.0" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.12.1, core-js-compat@^3.18.0, core-js-compat@^3.19.1: - version "3.19.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" - integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== - dependencies: - browserslist "^4.17.6" - semver "7.0.0" - -core-js@^2.6.5: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -crc@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-loader@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.3.0.tgz#c888af64b2a5b2e85462c72c0f4a85c7e2e0821e" - integrity sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg== - dependencies: - camelcase "^6.0.0" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^2.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.3" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^2.7.1" - semver "^7.3.2" - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" - integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== - dependencies: - boolbase "^1.0.0" - css-what "^5.0.0" - domhandler "^4.2.0" - domutils "^2.6.0" - nth-check "^2.0.0" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-unit-converter@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" - integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css-what@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== - -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" - integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.3" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^4.1.10, cssnano@^4.1.11: - version "4.1.11" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" - integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.8" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -csvtojson@^2.0.10: - version "2.0.10" - resolved "https://registry.yarnpkg.com/csvtojson/-/csvtojson-2.0.10.tgz#11e7242cc630da54efce7958a45f443210357574" - integrity sha512-lUWFxGKyhraKCW8Qghz6Z0f2l/PqB1W3AO0HKJzGIQ5JRSlR651ekJDiGJbBT4sRNNv5ddnSGVEnsxP9XRCVpQ== - dependencies: - bluebird "^3.5.1" - lodash "^4.17.3" - strip-bom "^2.0.0" - -cuint@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" - integrity sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs= - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@^3.1.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -deep-equal@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -defer-to-connect@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= - -defu@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/defu/-/defu-2.0.4.tgz#09659a6e87a8fd7178be13bd43e9357ebf6d1c46" - integrity sha512-G9pEH1UUMxShy6syWk01VQSRVs3CDWtlxtZu7A+NyqjxaCA4gSlWAKDBx6QiUEKezqS8+DUlXLI14Fp05Hmpwg== - -defu@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/defu/-/defu-3.2.2.tgz#be20f4cc49b9805d54ee6b610658d53894942e97" - integrity sha512-8UWj5lNv7HD+kB0e9w77Z7TdQlbUYDVWqITLHNqFIn6khrNHv5WQo38Dcm1f6HeNyZf0U7UbPf6WeZDSdCzGDQ== - -defu@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/defu/-/defu-4.0.1.tgz#9d7d7a48f9295f08285d153dcff174c89b9bcb22" - integrity sha512-lC+G0KvvWRbisQa50+iFelm3/eMmwo4IlBmfASOVlw9MZpHHyQeVsZxc5j23+TQy5ydgEoTVSrWl7ptou1kzJQ== - -defu@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/defu/-/defu-5.0.0.tgz#5768f0d402a555bfc4c267246b20f82ce8b5a10b" - integrity sha512-VHg73EDeRXlu7oYWRmmrNp/nl7QkdXUxkQQKig0Zk8daNmm84AbGoC8Be6/VVLJEKxn12hR0UBmz8O+xQiAPKQ== - -delegate@^3.1.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" - integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@^2.0.0, depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destr@^1.0.0, destr@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/destr/-/destr-1.1.0.tgz#2da6add6ba71e04fd0abfb1e642d4f6763235095" - integrity sha512-Ev/sqS5AzzDwlpor/5wFCDu0dYMQu/0x2D6XfAsQ0E7uQmamIgYJ6Dppo2T2EOFVkeVYWjc+PCLKaqZZ57qmLg== - -destroy@^1.0.4, destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detab@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" - integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== - dependencies: - repeat-string "^1.5.4" - -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= - -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - -devalue@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/devalue/-/devalue-2.0.1.tgz#5d368f9adc0928e47b77eea53ca60d2f346f9762" - integrity sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^4.0.0, domhandler@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" - integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== - dependencies: - domelementtype "^2.2.0" - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.5.2, domutils@^2.6.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotenv@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05" - integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.896: - version "1.3.907" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.907.tgz#c8e155a17cb642a1023481c601aa3ad9ee61f402" - integrity sha512-xoUPSkjimw51d9ryeH38XUwmR3HmCA+eky4hk0YEgsWeBWGyhb35OCvT3lWAdmvIkcGYCRNOB8LvtO00dJQpOA== - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@^1.0.2, encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.1, enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" - integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== - dependencies: - stackframe "^1.1.1" - -es-abstract@^1.17.2, es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@^1.0.3, escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esrecurse@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@^1.8.1, etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eventemitter3@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -eventsource-polyfill@^0.9.6: - version "0.9.6" - resolved "https://registry.yarnpkg.com/eventsource-polyfill/-/eventsource-polyfill-0.9.6.tgz#10e0d187f111b167f28fdab918843ce7d818f13c" - integrity sha1-EODRh/ERsWfyj9q5GIQ859gY8Tw= - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-css-chunks-webpack-plugin@^4.9.0: - version "4.9.0" - resolved "https://registry.yarnpkg.com/extract-css-chunks-webpack-plugin/-/extract-css-chunks-webpack-plugin-4.9.0.tgz#da5e6b1d8b39a398c817ffc98550f4ccb6d795e1" - integrity sha512-HNuNPCXRMqJDQ1OHAUehoY+0JVCnw9Y/H22FQzYVwo8Ulgew98AGDu0grnY5c7xwiXHjQa6yJ/1dxLCI/xqTyQ== - dependencies: - loader-utils "^2.0.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.1.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -finalhandler@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2, fresh@^0.5.2, fresh@~0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@^8.0.0, fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.1, fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-memo@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fs-memo/-/fs-memo-1.2.0.tgz#a2ec3be606b902077adbb37ec529c5ec5fb2e037" - integrity sha512-YEexkCpL4j03jn5SxaMHqcO6IuWuqm8JFUYhyCep7Ao89JIYmB8xoKhK7zXXJ9cCaNXpyNH5L3QtAmoxjoHW2w== - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-monkey@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" - integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-port-please@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-2.2.0.tgz#3fabbbe2f9d8e6b7c47e1cddd71fc4c593f1deac" - integrity sha512-1c7Np/cpA7XCB6IrPAdaBaJjlGHTqg4P82h/ZqyBL6dCdwRzZBOFGZO7FL2KaZ2uNvD6v8QilA7LZwMpmIggDQ== - dependencies: - fs-memo "^1.2.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -git-config-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-2.0.0.tgz#62633d61af63af4405a5024efd325762f58a181b" - integrity sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA== - -git-up@^4.0.0: - version "4.0.5" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" - integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA== - dependencies: - is-ssh "^1.3.0" - parse-url "^6.0.0" - -git-url-parse@^11.4.4: - version "11.6.0" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" - integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g== - dependencies: - git-up "^4.0.0" - -github-slugger@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" - integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globby@^11.0.3, globby@^11.0.4: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -good-listener@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" - integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= - dependencies: - delegate "^3.1.2" - -google-fonts-helper@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/google-fonts-helper/-/google-fonts-helper-1.2.0.tgz#32eb8ebf9816dbb2ec8acda81ad03a021ed44050" - integrity sha512-ojpHo6uwaqI2/tpXcCBY9u/3erd++Wjpf1UQkmb+ZUa/oMztiospubmQCwDQ0AHhFUkBMW1+R12am1kxQFqymg== - dependencies: - deepmerge "^4.2.2" - fs-extra "^9.0.1" - got "^11.8.1" - -got@^11.8.1: - version "11.8.5" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" - integrity sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== - -gray-matter@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" - integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== - dependencies: - js-yaml "^3.13.1" - kind-of "^6.0.2" - section-matter "^1.0.0" - strip-bom-string "^1.0.0" - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -hable@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/hable/-/hable-3.0.0.tgz#6de089b2df946635cf8134b9e4859f1b62de255f" - integrity sha512-7+G0/2/COR8pwteYFqHIVYfQpuEiO2HXwJrhCBJVgrNrl9O5eaUoJVDGXUJX+0RpGncNVTuestexjk1afj01wQ== - -hard-source-webpack-plugin@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.13.1.tgz#a99071e25b232f1438a5bc3c99f10a3869e4428e" - integrity sha512-r9zf5Wq7IqJHdVAQsZ4OP+dcUSvoHqDMxJlIzaE2J0TZWn3UjMMrHqwDHR8Jr/pzPfG7XxSe36E7Y8QGNdtuAw== - dependencies: - chalk "^2.4.1" - find-cache-dir "^2.0.0" - graceful-fs "^4.1.11" - lodash "^4.15.0" - mkdirp "^0.5.1" - node-object-hash "^1.2.0" - parse-json "^4.0.0" - pkg-dir "^3.0.0" - rimraf "^2.6.2" - semver "^5.6.0" - tapable "^1.0.0-beta.5" - webpack-sources "^1.0.1" - write-json-file "^2.3.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= - -hash-sum@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" - integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hasha@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" - integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== - dependencies: - is-stream "^2.0.0" - type-fest "^0.8.0" - -hast-to-hyperscript@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" - integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== - dependencies: - "@types/unist" "^2.0.3" - comma-separated-tokens "^1.0.0" - property-information "^5.3.0" - space-separated-tokens "^1.0.0" - style-to-object "^0.3.0" - unist-util-is "^4.0.0" - web-namespaces "^1.0.0" - -hast-util-from-parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" - integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== - dependencies: - "@types/parse5" "^5.0.0" - hastscript "^6.0.0" - property-information "^5.0.0" - vfile "^4.0.0" - vfile-location "^3.2.0" - web-namespaces "^1.0.0" - -hast-util-is-element@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz#3b3ed5159a2707c6137b48637fbfe068e175a425" - integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== - -hast-util-parse-selector@^2.0.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" - integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== - -hast-util-raw@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.1.0.tgz#e16a3c2642f65cc7c480c165400a40d604ab75d0" - integrity sha512-5FoZLDHBpka20OlZZ4I/+RBw5piVQ8iI1doEvffQhx5CbCyTtP8UCq8Tw6NmTAMtXgsQxmhW7Ly8OdFre5/YMQ== - dependencies: - "@types/hast" "^2.0.0" - hast-util-from-parse5 "^6.0.0" - hast-util-to-parse5 "^6.0.0" - html-void-elements "^1.0.0" - parse5 "^6.0.0" - unist-util-position "^3.0.0" - unist-util-visit "^2.0.0" - vfile "^4.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" - -hast-util-to-parse5@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" - integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== - dependencies: - hast-to-hyperscript "^9.0.0" - property-information "^5.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" - -hastscript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" - integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== - dependencies: - "@types/hast" "^2.0.0" - comma-separated-tokens "^1.0.0" - hast-util-parse-selector "^2.0.0" - property-information "^5.0.0" - space-separated-tokens "^1.0.0" - -he@1.2.0, he@^1.1.0, he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -header-case@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063" - integrity sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== - dependencies: - capital-case "^1.0.4" - tslib "^2.0.3" - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hookable@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/hookable/-/hookable-4.4.1.tgz#3d7154ac7e1f6f147e50fef583832f2645b9f04f" - integrity sha512-KWjZM8C7IVT2qne5HTXjM6R6VnRfjfRlf/oCnHd+yFxoHO1DzOl6B9LzV/VqGQK/IrFewq+EG+ePVrE9Tpc3fg== - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-entities@^2.1.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" - integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== - -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-minifier@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-4.0.0.tgz#cca9aad8bce1175e02e17a8c33e46d8988889f56" - integrity sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig== - dependencies: - camel-case "^3.0.0" - clean-css "^4.2.1" - commander "^2.19.0" - he "^1.2.0" - param-case "^2.1.1" - relateurl "^0.2.7" - uglify-js "^3.5.1" - -html-tags@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" - integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= - -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== - -html-void-elements@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" - integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== - -html-webpack-plugin@^4.5.1: - version "4.5.2" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" - integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.20" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-assert@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.5.0.tgz#c389ccd87ac16ed2dfa6246fd73b926aa00e6b8f" - integrity sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w== - dependencies: - deep-equal "~1.0.1" - http-errors "~1.8.0" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-errors@^1.6.3, http-errors@^1.7.3, http-errors@~1.8.0: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -ieee754@^1.1.13, ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore@^5.1.4, ignore@^5.1.8: - version "5.1.9" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" - integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3, infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -inquirer@^7.3.3: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-absolute-url@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - -is-core-module@^2.2.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-docker@^2.0.0, is-docker@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== - -is-https@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-https/-/is-https-2.0.2.tgz#7009d303c72580f15897d5c063d6b6bc1f838fef" - integrity sha512-UfUCKVQH/6PQRCh5Qk9vNu4feLZiFmV/gr8DjbtJD0IrCRIDTA6E+d/AVFGPulI5tqK5W45fYbn1Nir1O99rFw== - -is-https@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-https/-/is-https-4.0.0.tgz#9ee725a334fb517b988278d2674efc96e4f348ed" - integrity sha512-FeMLiqf8E5g6SdiVJsPcNZX8k4h2fBs1wp5Bb6uaNxn58ufK1axBqQZdmAQsqh0t9BuwFObybrdVJh6MKyPlyg== - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-obj@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-ssh@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" - integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== - dependencies: - protocols "^2.0.1" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-weakref@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" - integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== - dependencies: - call-bind "^1.0.0" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -jest-worker@^26.5.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jimp-compact@^0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.2.tgz#650bf90698eb7af797e20bf5f5cdccd137e7d08a" - integrity sha512-F/r0L283J46xiGUEvUb3jxUsei7aB94g3NRIMuJ4WhbpEcJV2U5GpaUNJLnBiOP2+x4lLTI4UiRVrmbrXQAOMA== - -jiti@^1.9.2: - version "1.12.9" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.12.9.tgz#2ce45b265cfc8dc91ebd70a5204807cf915291bc" - integrity sha512-TdcJywkQtcwLxogc4rSMAi479G2eDPzfW0fLySks7TPhgZZ4s/tM6stnzayIh3gS/db3zExWJyUx4cNWrwAmoQ== - -js-cookie@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.1.tgz#9e39b4c6c2f56563708d7d31f6f5f21873a92414" - integrity sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== - dependencies: - argparse "^2.0.1" - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-buffer@3.0.1, json-buffer@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.1, json5@^2.1.2, json5@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -keygrip@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" - integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== - dependencies: - tsscmp "1.0.6" - -keyv@^4.0.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.3.1.tgz#7970672f137d987945821b1a07b524ce5a4edd27" - integrity sha512-nwP7AQOxFzELXsNq3zCx/oh81zu4DHWwCE6W9RaeHb7OHO0JpmKS8n801ovVQC7PTsZDWtPA5j1QY+/WWtARYg== - dependencies: - compress-brotli "^1.3.8" - json-buffer "3.0.1" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -klona@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" - integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== - -koa-compose@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" - integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== - -koa-convert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-2.0.0.tgz#86a0c44d81d40551bae22fee6709904573eea4f5" - integrity sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA== - dependencies: - co "^4.6.0" - koa-compose "^4.1.0" - -koa-send@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79" - integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ== - dependencies: - debug "^4.1.1" - http-errors "^1.7.3" - resolve-path "^1.4.0" - -koa-static@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943" - integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== - dependencies: - debug "^3.1.0" - koa-send "^5.0.0" - -koa@^2.12.0: - version "2.13.4" - resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.4.tgz#ee5b0cb39e0b8069c38d115139c774833d32462e" - integrity sha512-43zkIKubNbnrULWlHdN5h1g3SEKXOEzoAlRsHOTFpnlDu8JlAOZSMJBLULusuXRequboiwJcj5vtYXKB3k7+2g== - dependencies: - accepts "^1.3.5" - cache-content-type "^1.0.0" - content-disposition "~0.5.2" - content-type "^1.0.4" - cookies "~0.8.0" - debug "^4.3.2" - delegates "^1.0.0" - depd "^2.0.0" - destroy "^1.0.4" - encodeurl "^1.0.2" - escape-html "^1.0.3" - fresh "~0.5.2" - http-assert "^1.3.0" - http-errors "^1.6.3" - is-generator-function "^1.0.7" - koa-compose "^4.1.0" - koa-convert "^2.0.0" - on-finished "^2.3.0" - only "~0.0.2" - parseurl "^1.3.2" - statuses "^1.5.0" - type-is "^1.6.16" - vary "^1.1.2" - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -launch-editor-middleware@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" - integrity sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg== - dependencies: - launch-editor "^2.2.1" - -launch-editor@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.2.1.tgz#871b5a3ee39d6680fcc26d37930b6eeda89db0ca" - integrity sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw== - dependencies: - chalk "^2.3.0" - shell-quote "^1.6.1" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-runner@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" - integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.groupby@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" - integrity sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E= - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.unionby@^4.8.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/lodash.unionby/-/lodash.unionby-4.8.0.tgz#883f098ff78f564a727b7508e09cdd539734bb83" - integrity sha1-iD8Jj/ePVkpye3UI4JzdU5c0u4M= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.15.0, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -longest-streak@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" - integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^4.0.0, lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -map-age-cleaner@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -markdown-table@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" - integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== - dependencies: - repeat-string "^1.0.0" - -marked@^2.0.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" - integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdast-squeeze-paragraphs@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" - integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== - dependencies: - unist-util-remove "^2.0.0" - -mdast-util-definitions@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" - integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== - dependencies: - unist-util-visit "^2.0.0" - -mdast-util-find-and-replace@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz#b7db1e873f96f66588c321f1363069abf607d1b5" - integrity sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== - dependencies: - escape-string-regexp "^4.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - -mdast-util-footnote@^0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/mdast-util-footnote/-/mdast-util-footnote-0.1.7.tgz#4b226caeab4613a3362c144c94af0fdd6f7e0ef0" - integrity sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w== - dependencies: - mdast-util-to-markdown "^0.6.0" - micromark "~2.11.0" - -mdast-util-from-markdown@^0.8.0: - version "0.8.5" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" - integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^2.0.0" - micromark "~2.11.0" - parse-entities "^2.0.0" - unist-util-stringify-position "^2.0.0" - -mdast-util-gfm-autolink-literal@^0.1.0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz#9c4ff399c5ddd2ece40bd3b13e5447d84e385fb7" - integrity sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== - dependencies: - ccount "^1.0.0" - mdast-util-find-and-replace "^1.1.0" - micromark "^2.11.3" - -mdast-util-gfm-strikethrough@^0.2.0: - version "0.2.3" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz#45eea337b7fff0755a291844fbea79996c322890" - integrity sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== - dependencies: - mdast-util-to-markdown "^0.6.0" - -mdast-util-gfm-table@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz#af05aeadc8e5ee004eeddfb324b2ad8c029b6ecf" - integrity sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== - dependencies: - markdown-table "^2.0.0" - mdast-util-to-markdown "~0.6.0" - -mdast-util-gfm-task-list-item@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz#70c885e6b9f543ddd7e6b41f9703ee55b084af10" - integrity sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== - dependencies: - mdast-util-to-markdown "~0.6.0" - -mdast-util-gfm@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz#8ecddafe57d266540f6881f5c57ff19725bd351c" - integrity sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== - dependencies: - mdast-util-gfm-autolink-literal "^0.1.0" - mdast-util-gfm-strikethrough "^0.2.0" - mdast-util-gfm-table "^0.1.0" - mdast-util-gfm-task-list-item "^0.1.0" - mdast-util-to-markdown "^0.6.1" - -mdast-util-to-hast@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz#61875526a017d8857b71abc9333942700b2d3604" - integrity sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - mdast-util-definitions "^4.0.0" - mdurl "^1.0.0" - unist-builder "^2.0.0" - unist-util-generated "^1.0.0" - unist-util-position "^3.0.0" - unist-util-visit "^2.0.0" - -mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-markdown@~0.6.0: - version "0.6.5" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" - integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== - dependencies: - "@types/unist" "^2.0.0" - longest-streak "^2.0.0" - mdast-util-to-string "^2.0.0" - parse-entities "^2.0.0" - repeat-string "^1.0.0" - zwitch "^1.0.0" - -mdast-util-to-string@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" - integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== - -mdast-util-to-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" - integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -mdurl@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -mem@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122" - integrity sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA== - dependencies: - map-age-cleaner "^0.1.3" - mimic-fn "^3.1.0" - -memfs@^3.2.2: - version "3.3.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.3.0.tgz#4da2d1fc40a04b170a56622c7164c6be2c4cbef2" - integrity sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg== - dependencies: - fs-monkey "1.0.3" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromark-extension-footnote@^0.3.0: - version "0.3.2" - resolved "https://registry.yarnpkg.com/micromark-extension-footnote/-/micromark-extension-footnote-0.3.2.tgz#129b74ef4920ce96719b2c06102ee7abb2b88a20" - integrity sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ== - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm-autolink-literal@~0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz#53866c1f0c7ef940ae7ca1f72c6faef8fed9f204" - integrity sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== - dependencies: - micromark "~2.11.3" - -micromark-extension-gfm-strikethrough@~0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz#96cb83356ff87bf31670eefb7ad7bba73e6514d1" - integrity sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm-table@~0.4.0: - version "0.4.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz#4d49f1ce0ca84996c853880b9446698947f1802b" - integrity sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm-tagfilter@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz#d9f26a65adee984c9ccdd7e182220493562841ad" - integrity sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== - -micromark-extension-gfm-task-list-item@~0.3.0: - version "0.3.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz#d90c755f2533ed55a718129cee11257f136283b8" - integrity sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== - dependencies: - micromark "~2.11.0" - -micromark-extension-gfm@^0.3.0: - version "0.3.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz#36d1a4c089ca8bdfd978c9bd2bf1a0cb24e2acfe" - integrity sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== - dependencies: - micromark "~2.11.0" - micromark-extension-gfm-autolink-literal "~0.5.0" - micromark-extension-gfm-strikethrough "~0.6.5" - micromark-extension-gfm-table "~0.4.0" - micromark-extension-gfm-tagfilter "~0.3.0" - micromark-extension-gfm-task-list-item "~0.3.0" - -micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3: - version "2.11.4" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" - integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== - dependencies: - debug "^4.0.0" - parse-entities "^2.0.0" - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-types@^2.1.18, mime-types@^2.1.19, mime-types@^2.1.27, mime-types@^2.1.30, mime-types@~2.1.24: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.3.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" - integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== - -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1: - version "3.1.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" - integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mustache@^2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5" - integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ== - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nan@^2.12.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - -nanoid@^3.1.23: - version "3.2.0" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" - integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-emoji@^1.8.1: - version "1.11.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-fetch@^2.6.1: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-html-parser@^3.2.0: - version "3.3.6" - resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-3.3.6.tgz#fdbb3ba16d1252d7197ec39f0260d9c10ef33590" - integrity sha512-VkWDHvNgFGB3mbQGMyzqRE1i/BG7TKX9wRXC8e/v8kL0kZR/Oy6RjYxXH91K6/+m3g8iQ8dTqRy75lTYoA2Cjg== - dependencies: - css-select "^4.1.3" - he "1.2.0" - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-object-hash@^1.2.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-1.4.2.tgz#385833d85b229902b75826224f6077be969a9e94" - integrity sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ== - -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== - -node-req@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/node-req/-/node-req-2.1.2.tgz#32db660855db03b456de370ee0d53ecd6220287e" - integrity sha512-zJqZ03vs0oHN8u+wn7kUT/vj63jQdQvNYWjbRMGNVu7ijV3mVz8UwX7pJl7LUugOT2x8vBKasKqbUqnh6GDKMQ== - dependencies: - accepts "^1.3.5" - fresh "^0.5.2" - parseurl "^1.3.2" - proxy-addr "^2.0.4" - qs "^6.5.2" - type-is "^1.6.16" - -node-res@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/node-res/-/node-res-5.0.1.tgz#ffaa462e206509d66d0ba28a4daf1f032daa6460" - integrity sha512-YOleO9c7MAqoHC+Ccu2vzvV1fL6Ku49gShq3PIMKWHRgrMSih3XcwL05NbLBi6oU2J471gTBfdpVVxwT6Pfhxg== - dependencies: - destroy "^1.0.4" - etag "^1.8.1" - mime-types "^2.1.19" - on-finished "^2.3.0" - vary "^1.1.2" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -normalize-url@^6.0.1, normalize-url@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -normalize.css@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3" - integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -nth-check@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -nuxt-i18n@^6.20.4: - version "6.28.1" - resolved "https://registry.yarnpkg.com/nuxt-i18n/-/nuxt-i18n-6.28.1.tgz#63e3e809fa41d855c5c7c443c0074eecaa97d273" - integrity sha512-JKRs8AmixVZ7k90Rrwq468McfnInP1ymuejYHRGA4VV0nZCLYsdDQXZxXl3JXaER9VatM9C24GM3ArAYFOtUhg== - dependencies: - "@babel/parser" "^7.14.9" - "@babel/traverse" "^7.14.9" - "@intlify/vue-i18n-extensions" "^1.0.2" - "@intlify/vue-i18n-loader" "^1.1.0" - cookie "^0.4.1" - devalue "^2.0.1" - is-https "^4.0.0" - js-cookie "^3.0.0" - klona "^2.0.4" - lodash.merge "^4.6.2" - ufo "^0.7.7" - vue-i18n "^8.25.0" - -nuxt@^2.15.8: - version "2.15.8" - resolved "https://registry.yarnpkg.com/nuxt/-/nuxt-2.15.8.tgz#946cba46bdaaf0e3918aa27fd9ea0fed8ed303b0" - integrity sha512-ceK3qLg/Baj7J8mK9bIxqw9AavrF+LXqwYEreBdY/a4Sj8YV4mIvhqea/6E7VTCNNGvKT2sJ/TTJjtfQ597lTA== - dependencies: - "@nuxt/babel-preset-app" "2.15.8" - "@nuxt/builder" "2.15.8" - "@nuxt/cli" "2.15.8" - "@nuxt/components" "^2.1.8" - "@nuxt/config" "2.15.8" - "@nuxt/core" "2.15.8" - "@nuxt/generator" "2.15.8" - "@nuxt/loading-screen" "^2.0.3" - "@nuxt/opencollective" "^0.3.2" - "@nuxt/server" "2.15.8" - "@nuxt/telemetry" "^1.3.3" - "@nuxt/utils" "2.15.8" - "@nuxt/vue-app" "2.15.8" - "@nuxt/vue-renderer" "2.15.8" - "@nuxt/webpack" "2.15.8" - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - -object-inspect@^1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== - -object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" - integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -on-finished@^2.3.0, on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@^1.0.2, on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -only@~0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" - integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= - -open@^7.0.4: - version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -opener@1.5.2, opener@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optimize-css-assets-webpack-plugin@^5.0.4: - version "5.0.8" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz#cbccdcf5a6ef61d4f8cc78cf083a67446e5f402a" - integrity sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q== - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-queue@6.6.2: - version "6.6.2" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" - integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== - dependencies: - eventemitter3 "^4.0.4" - p-timeout "^3.2.0" - -p-timeout@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - -param-case@^3.0.3, param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-2.0.0.tgz#fa71f88ff1a50c27e15d8ff74e0e3a9523bf8708" - integrity sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg== - dependencies: - callsites "^3.1.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" - integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - -parse-git-config@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-3.0.0.tgz#4a2de08c7b74a2555efa5ae94d40cd44302a6132" - integrity sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA== - dependencies: - git-config-path "^2.0.0" - ini "^1.3.5" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-path@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.4.tgz#4bf424e6b743fb080831f03b536af9fc43f0ffea" - integrity sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw== - dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - qs "^6.9.4" - query-string "^6.13.8" - -parse-url@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.2.tgz#4a30b057bfc452af64512dfb1a7755c103db3ea1" - integrity sha512-uCSjOvD3T+6B/sPWhR+QowAZcU/o4bjPrVBQBGFxcDF6J6FraCGIaDBsdoQawiaaAVdHvtqBe3w3vKlfBKySOQ== - dependencies: - is-ssh "^1.3.0" - normalize-url "^6.1.0" - parse-path "^4.0.4" - protocols "^1.4.0" - -parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@^1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f" - integrity sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@1.0.1, path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38" - integrity sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pnp-webpack-plugin@^1.6.4: - version "1.7.0" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9" - integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg== - dependencies: - ts-pnp "^1.1.6" - -portfinder@^1.0.26: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - -postcss-calc@^7.0.1: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" - integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== - dependencies: - postcss "^7.0.27" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" - -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" - integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== - dependencies: - postcss "^7.0.2" - -postcss-functions@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e" - integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4= - dependencies: - glob "^7.1.2" - object-assign "^4.1.1" - postcss "^6.0.9" - postcss-value-parser "^3.3.0" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-import-resolver@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz#95c61ac5489047bd93ff42a9cd405cfe9041e2c0" - integrity sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw== - dependencies: - enhanced-resolve "^4.1.1" - -postcss-import@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153" - integrity sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw== - dependencies: - postcss "^7.0.1" - postcss-value-parser "^3.2.3" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-initial@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" - integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== - dependencies: - postcss "^7.0.2" - -postcss-js@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-2.0.3.tgz#a96f0f23ff3d08cec7dc5b11bf11c5f8077cdab9" - integrity sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w== - dependencies: - camelcase-css "^2.0.1" - postcss "^7.0.18" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-load-config@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" - integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-nested@^4.1.1: - version "4.2.3" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-4.2.3.tgz#c6f255b0a720549776d220d00c4b70cd244136f6" - integrity sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw== - dependencies: - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== - dependencies: - postcss "^7.0.2" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@^6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" - integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" - integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-8.0.0.tgz#7b10059bd12929cdbb1971c60f61a0e5af86b4ca" - integrity sha512-E2cbOQ5aii2zNHh8F6fk1cxls7QVFZjLPSrqvmiza8OuXLzIpErij8BDS5Y3STPfJgpIMNCPEr8JlKQWEoozUw== - dependencies: - mime "^2.3.1" - minimatch "^3.0.4" - mkdirp "^0.5.0" - postcss "^7.0.2" - xxhashjs "^0.2.1" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@7.0.32: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@7.x.x, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.11, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^6.0.9: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -preact@^10.0.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.6.0.tgz#803e59c8670fb56f26e0a2a262fbaeafbfaa944e" - integrity sha512-5gpdQkPsfl8ycSQSLSZxSvkifZ9FM4Zqc1OSToSpgygvgmXjcj6Q5jNRt86ote8dn0RkdOaKv9UAZTU7a6wP+g== - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -"prettier@^1.18.2 || ^2.0.0", prettier@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" - integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== - -pretty-bytes@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - -pretty-hrtime@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - -pretty-time@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" - integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== - -prism-themes@^1.5.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/prism-themes/-/prism-themes-1.9.0.tgz#19c034f3205f1e28d75d89728e54ccd745f7e3dd" - integrity sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw== - -prismjs@^1.23.0: - version "1.27.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" - integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -proper-lockfile@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" - integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== - dependencies: - graceful-fs "^4.2.4" - retry "^0.12.0" - signal-exit "^3.0.2" - -property-information@^5.0.0, property-information@^5.3.0, property-information@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" - integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== - dependencies: - xtend "^4.0.0" - -protocols@^1.4.0: - version "1.4.8" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" - integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== - -protocols@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" - integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== - -proxy-addr@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -purgecss@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-2.3.0.tgz#5327587abf5795e6541517af8b190a6fb5488bb3" - integrity sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ== - dependencies: - commander "^5.0.0" - glob "^7.0.0" - postcss "7.0.32" - postcss-selector-parser "^6.0.2" - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@^6.5.2: - version "6.10.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" - integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== - dependencies: - side-channel "^1.0.4" - -qs@^6.9.4: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -query-string@^6.13.8: - version "6.14.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" - integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -rc9@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/rc9/-/rc9-1.2.0.tgz#ef098181fdde714efc4c426383d6e46c14b1254a" - integrity sha512-/jknmhG0USFAx5uoKkAKhtG40sONds9RWhFHrP1UzJ3OvVfqFWOypSUpmsQD0fFwAV7YtzHhsn3QNasfAoxgcQ== - dependencies: - defu "^2.0.4" - destr "^1.0.0" - flat "^5.0.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= - dependencies: - pify "^2.3.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -reduce-css-calc@^2.1.6: - version "2.1.8" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" - integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== - dependencies: - css-unit-converter "^1.1.1" - postcss-value-parser "^3.3.0" - -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== - dependencies: - jsesc "~0.5.0" - -rehype-raw@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-5.1.0.tgz#66d5e8d7188ada2d31bc137bc19a1000cf2c6b7e" - integrity sha512-MDvHAb/5mUnif2R+0IPCYJU8WjHa9UzGtM/F4AVy5GixPlDZ1z3HacYy4xojDU+uBa+0X/3PIfyQI26/2ljJNA== - dependencies: - hast-util-raw "^6.1.0" - -rehype-sort-attribute-values@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rehype-sort-attribute-values/-/rehype-sort-attribute-values-3.0.2.tgz#7f4b41c2dc46a67c26d42bc9fd872ab76fece194" - integrity sha512-6QGua2vM3DytGRJcL11UTYLP5w5ItRgaQI2PhS3zLhvgKFkO/sb+JgcYsLCnkli9MCTkSvuEYArkiA1txtAtPA== - dependencies: - hast-util-is-element "^1.0.0" - unist-util-visit "^2.0.0" - x-is-array "^0.1.0" - -rehype-sort-attributes@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rehype-sort-attributes/-/rehype-sort-attributes-3.0.2.tgz#18c7e86b34de4b0222d0d54412e860333bd74b7e" - integrity sha512-roPtOHX6BfLXge161TnxOh+jr8JhZwUDVdqYI/qobYpfAkXgBfnftpWlwcShdsExa+nbUd5zU7z9A0nHBi35+A== - dependencies: - unist-util-visit "^2.0.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remark-autolink-headings@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/remark-autolink-headings/-/remark-autolink-headings-6.1.0.tgz#45fa1f8860e0fc6b78bcbc4b0f5d5dd696170e04" - integrity sha512-oeMSIfjaNboWPDVKahQAjF8iJ8hsz5aI8KFzAmmBdznir7zBvkgUjYE/BrpWvd02DCf/mSQ1IklznLkl3dVvZQ== - dependencies: - "@types/hast" "^2.0.0" - extend "^3.0.0" - unified "^9.0.0" - unist-util-visit "^2.0.0" - -remark-external-links@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/remark-external-links/-/remark-external-links-8.0.0.tgz#308de69482958b5d1cd3692bc9b725ce0240f345" - integrity sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA== - dependencies: - extend "^3.0.0" - is-absolute-url "^3.0.0" - mdast-util-definitions "^4.0.0" - space-separated-tokens "^1.0.0" - unist-util-visit "^2.0.0" - -remark-footnotes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-3.0.0.tgz#5756b56f8464fa7ed80dbba0c966136305d8cb8d" - integrity sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg== - dependencies: - mdast-util-footnote "^0.1.0" - micromark-extension-footnote "^0.3.0" - -remark-gfm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-1.0.0.tgz#9213643001be3f277da6256464d56fd28c3b3c0d" - integrity sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== - dependencies: - mdast-util-gfm "^0.1.0" - micromark-extension-gfm "^0.3.0" - -remark-parse@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" - integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== - dependencies: - mdast-util-from-markdown "^0.8.0" - -remark-rehype@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-8.1.0.tgz#610509a043484c1e697437fa5eb3fd992617c945" - integrity sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA== - dependencies: - mdast-util-to-hast "^10.2.0" - -remark-slug@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-6.1.0.tgz#0503268d5f0c4ecb1f33315c00465ccdd97923ce" - integrity sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ== - dependencies: - github-slugger "^1.0.0" - mdast-util-to-string "^1.0.0" - unist-util-visit "^2.0.0" - -remark-squeeze-paragraphs@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" - integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== - dependencies: - mdast-squeeze-paragraphs "^4.0.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" - integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^3.0.1" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.0.0, repeat-string@^1.5.4, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -replace-in-file@^6.1.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/replace-in-file/-/replace-in-file-6.3.2.tgz#0f19835137177c89932f45df319f3539a019484f" - integrity sha512-Dbt5pXKvFVPL3WAaEB3ZX+95yP0CeAtIPJDwYzHbPP5EAHn+0UoegH/Wg3HKflU9dYBH8UnBC2NvY3P+9EZtTg== - dependencies: - chalk "^4.1.2" - glob "^7.2.0" - yargs "^17.2.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -resolve-alpn@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-path@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" - integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= - dependencies: - http-errors "~1.6.2" - path-is-absolute "1.0.1" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.1.7, resolve@^1.14.2, resolve@^1.2.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== - dependencies: - lowercase-keys "^2.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.6.0: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass-loader@10.1.1: - version "10.1.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.1.1.tgz#4ddd5a3d7638e7949065dd6e9c7c04037f7e663d" - integrity sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw== - dependencies: - klona "^2.0.4" - loader-utils "^2.0.0" - neo-async "^2.6.2" - schema-utils "^3.0.0" - semver "^7.3.2" - -sax@>=0.6.0, sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.0.0, schema-utils@^2.6.5, schema-utils@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -scule@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/scule/-/scule-0.2.1.tgz#0c1dc847b18e07219ae9a3832f2f83224e2079dc" - integrity sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg== - -section-matter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" - integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== - dependencies: - extend-shallow "^2.0.1" - kind-of "^6.0.0" - -select@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" - integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.2, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -sentence-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f" - integrity sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case-first "^2.0.2" - -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" - integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - -serve-placeholder@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/serve-placeholder/-/serve-placeholder-1.2.4.tgz#513eac9c435272c7fe9a86612c852ae9b1467fd4" - integrity sha512-jWD9cZXLcr4vHTTL5KEPIUBUYyOWN/z6v/tn0l6XxFhi9iqV3Fc5Y1aFeduUyz+cx8sALzGCUczkPfeOlrq9jg== - dependencies: - defu "^5.0.0" - -serve-static@^1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -server-destroy@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" - integrity sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" - integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.6" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sirv@^1.0.7: - version "1.0.18" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.18.tgz#105fab52fb656ce8a2bebbf36b11052005952899" - integrity sha512-f2AOPogZmXgJ9Ma2M22ZEhc1dNtRIzcEkiflMFeVTRq+OViOZMvH1IPMVOwrKaxpSaHioBJiDR0SluRqGa7atA== - dependencies: - "@polka/url" "^1.0.0-next.20" - mime "^2.3.1" - totalist "^1.0.0" - -sitemap@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-4.1.1.tgz#c9b459c7d797e629c61f56b86586d4f67dbf250b" - integrity sha512-+8yd66IxyIFEMFkFpVoPuoPwBvdiL7Ap/HS5YD7igqO4phkyTPFIprCAE9NMHehAY5ZGN3MkAze4lDrOAX3sVQ== - dependencies: - "@types/node" "^12.0.2" - "@types/sax" "^1.2.0" - arg "^4.1.1" - sax "^1.2.4" - xmlbuilder "^13.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@~0.5.12, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3, source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -space-separated-tokens@^1.0.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" - integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - -ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-trace@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - -stackframe@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" - integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0, statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -std-env@^2.2.1, std-env@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.3.1.tgz#d42271908819c243f8defc77a140fc1fcee336a1" - integrity sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g== - dependencies: - ci-info "^3.1.1" - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -style-resources-loader@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/style-resources-loader/-/style-resources-loader-1.4.1.tgz#87f520e6c8120a71e756726c1c53a78c544ca7db" - integrity sha512-UaAoQXq20relw6B633z4QZDxDyW7gevTt1e0y3MZtzdZfnvB90UL658czAgNc609Y7Kn5ErdthK9bSVhnykBUA== - dependencies: - glob "^7.1.6" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -style-to-object@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" - integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== - dependencies: - inline-style-parser "0.1.1" - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0, supports-color@^5.4.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= - -svgo@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -tailwind-config-viewer@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/tailwind-config-viewer/-/tailwind-config-viewer-1.6.2.tgz#656df8e53718d7794599e9c0c7a93e732abba1df" - integrity sha512-GEysLLUkHF/CW7idElDIsCUWwNfE5v4SpecNv5Z10KGtX8ez2ZUlHep/bJZ4E/Hk+IqJQt2hChFx43VkDN7WtQ== - dependencies: - "@koa/router" "^9.0.1" - commander "^6.0.0" - fs-extra "^9.0.1" - koa "^2.12.0" - koa-static "^5.0.0" - open "^7.0.4" - portfinder "^1.0.26" - replace-in-file "^6.1.0" - -tailwind-css-variables@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/tailwind-css-variables/-/tailwind-css-variables-2.0.3.tgz#3648e5fbadd40bb3393843828336b62c6915d529" - integrity sha512-GYf4fQgtahUao7JN87hrEaeJgRnuksbP/5GOtMxnWylDsCIZ02CQJ13/8MFTCH21LhLxRBD8BCDxkwEmXbqwlg== - -tailwindcss@^1.9.6: - version "1.9.6" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-1.9.6.tgz#0c5089911d24e1e98e592a31bfdb3d8f34ecf1a0" - integrity sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ== - dependencies: - "@fullhuman/postcss-purgecss" "^2.1.2" - autoprefixer "^9.4.5" - browserslist "^4.12.0" - bytes "^3.0.0" - chalk "^3.0.0 || ^4.0.0" - color "^3.1.2" - detective "^5.2.0" - fs-extra "^8.0.0" - html-tags "^3.1.0" - lodash "^4.17.20" - node-emoji "^1.8.1" - normalize.css "^8.0.1" - object-hash "^2.0.3" - postcss "^7.0.11" - postcss-functions "^3.0.0" - postcss-js "^2.0.0" - postcss-nested "^4.1.1" - postcss-selector-parser "^6.0.0" - postcss-value-parser "^4.1.0" - pretty-hrtime "^1.0.3" - reduce-css-calc "^2.1.6" - resolve "^1.14.2" - -tapable@^1.0.0, tapable@^1.0.0-beta.5, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tar@^6.0.2: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser-webpack-plugin@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" - integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ== - dependencies: - cacache "^15.0.5" - find-cache-dir "^3.3.1" - jest-worker "^26.5.0" - p-limit "^3.0.2" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - source-map "^0.6.1" - terser "^5.3.4" - webpack-sources "^1.4.3" - -terser@^4.1.2, terser@^4.6.13, terser@^4.6.3: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.3.4: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -theme-colors@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/theme-colors/-/theme-colors-0.0.5.tgz#88f91ccf78b5bc17fa53ee59f38b166395fedce6" - integrity sha512-EAxGOASXbsrhcaFxEWsCRZb29sHhII/cs8a+Cn3a3AI/FT9uCqNM8rMQBf10jtgqIdl8kxg2rQXz5I2JLHuplA== - -thread-loader@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-3.0.4.tgz#c392e4c0241fbc80430eb680e4886819b504a31b" - integrity sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA== - dependencies: - json-parse-better-errors "^1.0.2" - loader-runner "^4.1.0" - loader-utils "^2.0.0" - neo-async "^2.6.2" - schema-utils "^3.0.0" - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -time-fix-plugin@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/time-fix-plugin/-/time-fix-plugin-2.0.7.tgz#4ba70ae2e40cedf34dabe505eda7b71b1b244f50" - integrity sha512-uVFet1LQToeUX0rTcSiYVYVoGuBpc8gP/2jnlUzuHMHe+gux6XLsNzxLUweabMwiUj5ejhoIMsUI55nVSEa/Vw== - -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tiny-emitter@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" - integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== - -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== - -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsscmp@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" - integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.8.0: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@^1.6.16: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -ua-parser-js@^0.7.28: - version "0.7.31" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" - integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== - -ufo@^0.6.9: - version "0.6.11" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.6.11.tgz#69311ed4abc8ab671c83754b79ce0d396fea1075" - integrity sha512-Yu7TJThwlr23peOkX/+hm6LfkyBs+eDWV880468PTrjKBKjjsNWFFwIuOqDfmXngRo9TZ4+twFYueRH0OLl0Gw== - -ufo@^0.7.4, ufo@^0.7.7: - version "0.7.9" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.7.9.tgz#0268e3734b413c9ed6f3510201f42372821b875c" - integrity sha512-6t9LrLk3FhqTS+GW3IqlITtfRB5JAVr5MMNjpBECfK827W+Vh5Ilw/LhTcHWrt6b3hkeBvcbjx4Ti7QVFzmcww== - -uglify-js@^3.5.1: - version "3.14.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz#c0f25dfea1e8e5323eccf59610be08b6043c15cf" - integrity sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== - -unified@^9.0.0, unified@^9.2.1: - version "9.2.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" - integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unist-builder@^2.0.0, unist-builder@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" - integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== - -unist-util-generated@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" - integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== - -unist-util-is@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" - integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== - -unist-util-position@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" - integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== - -unist-util-remove@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" - integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== - dependencies: - unist-util-is "^4.0.0" - -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== - dependencies: - "@types/unist" "^2.0.2" - -unist-util-visit-parents@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" - integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - -unist-util-visit@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" - integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== - dependencies: - "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -upath@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" - integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== - -upper-case-first@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" - integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== - dependencies: - tslib "^2.0.3" - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - -upper-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a" - integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== - dependencies: - tslib "^2.0.3" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -vary@^1.1.2, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== - -vfile-location@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" - integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -vue-analytics@^5.22.1: - version "5.22.1" - resolved "https://registry.yarnpkg.com/vue-analytics/-/vue-analytics-5.22.1.tgz#9d6b32da56daee1b9dfb23a267b50349a03f710f" - integrity sha512-HPKQMN7gfcUqS5SxoO0VxqLRRSPkG1H1FqglsHccz6BatBatNtm/Vyy8brApktZxNCfnAkrSVDpxg3/FNDeOgQ== - -vue-client-only@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/vue-client-only/-/vue-client-only-2.1.0.tgz#1a67a47b8ecacfa86d75830173fffee3bf8a4ee3" - integrity sha512-vKl1skEKn8EK9f8P2ZzhRnuaRHLHrlt1sbRmazlvsx6EiC3A8oWF8YCBrMJzoN+W3OnElwIGbVjsx6/xelY1AA== - -vue-hot-reload-api@^2.3.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" - integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== - -vue-i18n@^8.25.0: - version "8.26.7" - resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.26.7.tgz#adfd48373449fe31438c48e3b3bd43044dc3a681" - integrity sha512-7apa5PvRg1YCLoraE3lOgpCG8hJGupLCtywQWedWsgBbvF0TOgFvhitqK9xRH0PBGG1G8aiJz9oklyNDFfDxLg== - -vue-loader@^15.9.7: - version "15.9.8" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.8.tgz#4b0f602afaf66a996be1e534fb9609dc4ab10e61" - integrity sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog== - dependencies: - "@vue/component-compiler-utils" "^3.1.0" - hash-sum "^1.0.2" - loader-utils "^1.1.0" - vue-hot-reload-api "^2.3.0" - vue-style-loader "^4.1.0" - -vue-meta@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/vue-meta/-/vue-meta-2.4.0.tgz#a419fb4b4135ce965dab32ec641d1989c2ee4845" - integrity sha512-XEeZUmlVeODclAjCNpWDnjgw+t3WA6gdzs6ENoIAgwO1J1d5p1tezDhtteLUFwcaQaTtayRrsx7GL6oXp/m2Jw== - dependencies: - deepmerge "^4.2.2" - -vue-no-ssr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vue-no-ssr/-/vue-no-ssr-1.1.1.tgz#875f3be6fb0ae41568a837f3ac1a80eaa137b998" - integrity sha512-ZMjqRpWabMPqPc7gIrG0Nw6vRf1+itwf0Itft7LbMXs2g3Zs/NFmevjZGN1x7K3Q95GmIjWbQZTVerxiBxI+0g== - -vue-router@^3.5.1: - version "3.5.3" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.3.tgz#041048053e336829d05dafacf6a8fb669a2e7999" - integrity sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg== - -vue-scrollactive@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/vue-scrollactive/-/vue-scrollactive-0.9.3.tgz#c191c6d90f6f2e572b27d9e0ab17bf8fd6da2bcd" - integrity sha512-W7Z2EQGDjnvgZ4h+/bpRVjiVU3bKWQDmT9f0bUL+zq3C/VSZaQiQ+qzWlMYDEpJbm13wJ6KIE6ry3HKLVyU4cQ== - dependencies: - bezier-easing "^2.0.3" - -vue-server-renderer@^2.6.12: - version "2.6.14" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.14.tgz#c8bffff152df6b47b858818ef8d524d2fc351654" - integrity sha512-HifYRa/LW7cKywg9gd4ZtvtRuBlstQBao5ZCWlg40fyB4OPoGfEXAzxb0emSLv4pBDOHYx0UjpqvxpiQFEuoLA== - dependencies: - chalk "^1.1.3" - hash-sum "^1.0.2" - he "^1.1.0" - lodash.template "^4.5.0" - lodash.uniq "^4.5.0" - resolve "^1.2.0" - serialize-javascript "^3.1.0" - source-map "0.5.6" - -vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" - integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== - dependencies: - hash-sum "^1.0.2" - loader-utils "^1.0.2" - -vue-template-compiler@^2.6.12, vue-template-compiler@^2.6.14: - version "2.6.14" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" - integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - -vue-template-es2015-compiler@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" - integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== - -vue@^2.6.12: - version "2.6.14" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235" - integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ== - -vuex@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.6.2.tgz#236bc086a870c3ae79946f107f16de59d5895e71" - integrity sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw== - -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" - -web-namespaces@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" - integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webpack-bundle-analyzer@^4.4.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz#1b0eea2947e73528754a6f9af3e91b2b6e0f79d5" - integrity sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ== - dependencies: - acorn "^8.0.4" - acorn-walk "^8.0.0" - chalk "^4.1.0" - commander "^7.2.0" - gzip-size "^6.0.0" - lodash "^4.17.20" - opener "^1.5.2" - sirv "^1.0.7" - ws "^7.3.1" - -webpack-dev-middleware@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz#179cc40795882cae510b1aa7f3710cbe93c9333e" - integrity sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w== - dependencies: - colorette "^1.2.2" - mem "^8.1.1" - memfs "^3.2.2" - mime-types "^2.1.30" - range-parser "^1.2.1" - schema-utils "^3.0.0" - -webpack-hot-middleware@^2.25.0: - version "2.25.1" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.1.tgz#581f59edf0781743f4ca4c200fd32c9266c6cf7c" - integrity sha512-Koh0KyU/RPYwel/khxbsDz9ibDivmUbrRuKSSQvW42KSDdO4w23WI3SkHpSUKHE76LrFnnM/L7JCrpBwu8AXYw== - dependencies: - ansi-html-community "0.0.8" - html-entities "^2.1.0" - querystring "^0.2.0" - strip-ansi "^6.0.0" - -webpack-node-externals@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" - integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== - -webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^4.46.0: - version "4.46.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -webpackbar@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-4.0.0.tgz#ee7a87f16077505b5720551af413c8ecd5b1f780" - integrity sha512-k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - consola "^2.10.0" - figures "^3.0.0" - pretty-time "^1.1.0" - std-env "^2.2.1" - text-table "^0.2.0" - wrap-ansi "^6.0.0" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -workbox-cdn@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-cdn/-/workbox-cdn-5.1.4.tgz#dbd8acee70b1978be70106207590bbb76af935cf" - integrity sha512-04gM3mi8QGutokkSaA9xunVfjURnLbo9TTWyi8+pSDCEW5cD8u5GbJiliLK1vB9CShk/9OY1UDfW+XcmD+d6KQ== - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^2.0.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-json-file@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" - integrity sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8= - dependencies: - detect-indent "^5.0.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - pify "^3.0.0" - sort-keys "^2.0.0" - write-file-atomic "^2.0.0" - -ws@^7.3.1, ws@^7.4.3: - version "7.5.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" - integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== - -x-is-array@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/x-is-array/-/x-is-array-0.1.0.tgz#de520171d47b3f416f5587d629b89d26b12dc29d" - integrity sha1-3lIBcdR7P0FvVYfWKbidJrEtwp0= - -xml2js@^0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xmlbuilder@^13.0.0: - version "13.0.2" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-13.0.2.tgz#02ae33614b6a047d1c32b5389c1fdacb2bce47a7" - integrity sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ== - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -xxhashjs@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" - integrity sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw== - dependencies: - cuint "^0.2.2" - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^17.2.1: - version "17.2.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz#e2c95b9796a0e1f7f3bf4427863b42e0418191ea" - integrity sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -ylru@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" - integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==