<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/hashnode/best-of/2021/08" -->

---
title: Best Hashnode posts — August 2021 | daily.dev
description: The most upvoted Hashnode posts from August 2021, curated by the daily.dev community.
canonical: https://daily.dev/sources/hashnode/best-of/2021/08
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/hashnode/best-of/2021/08
og:type: website
og:site_name: daily.dev
og:title: Best Hashnode posts — August 2021 | daily.dev
og:description: The most upvoted Hashnode posts from August 2021, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Hashnode — August 2021

1. 1  
[](https://daily.dev/posts/100-things-you-should-know-as-a-software-engineer-uwi-mb-am "100 Things You Should Know as a Software Engineer")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
100 Things You Should Know as a Software Engineer  
Premature optimization is the root of all evil. It is quite rare that you ever need to build something from scratch. Use code comments to explain why you are doing something. 100% line/branch coverage doesn't mean your code is bug-free. Write your tests to covers all functional requirements, not to cover lines/branches.  
180  
12
2. 2  
[](https://daily.dev/posts/6-awesome-css-layout-generators-n3cv8p4-m "🔥 6 Awesome CSS Layout Generators")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
🔥 6 Awesome CSS Layout Generators  
6 awesome CSS layout generators/tools that will help you in rapid prototyping and front-end development of CSS layouts for your projects. Quickly design web layouts, and get HTML and CSS code. Learn CSS Grid visually and build web layouts with this interactive CSS Grid Generator.  
141  
20
3. 3  
[](https://daily.dev/posts/7-trending-projects-on-github-for-javascript-developers-wg-97wojj "7 Trending projects on GitHub for JavaScript developers")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
7 Trending projects on GitHub for JavaScript developers  
Web Development for Beginners is a 12-week, 24-lesson curriculum all about JavaScript, CSS, and HTML basics. D3 is a JavaScript library for visualizing data using web standards. Mammoth is designed to convert .docx documents, such as those created by Microsoft Word, Google Docs, and LibreOffice, and convert them to HTML.  
113  
2
4. 4  
[](https://daily.dev/posts/from-zero-to-web-developer-hwtqizguv "From zero to Web developer")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
From zero to Web developer  
Web development is the work involved in developing a website or a web application. There are multiple paths you can take while learning web development. This is the one I would take if I had to do it all over again. These steps are going from the very beginning, so it's suited for beginners.  
84  
8
5. 5  
[](https://daily.dev/posts/javascript-clean-code-tips-good-practices-xk-a0rxzd "Javascript Clean Code Tips & Good Practices")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
Javascript Clean Code Tips & Good Practices  
Code should be written in such a way that is self-explanatory, easy to understand, and easy to modify or extend for the new features. Don't turn naming into a riddle game. Use default arguments instead of short-circuiting or conditionals. The smaller the function the better it is to understand and refactor.  
77  
11
6. 6  
[](https://daily.dev/posts/i-built-a-saas-startup-in-2-months-here-s-what-i-learned--aebkt9hb8 "I Built A SaaS Startup In 2 Months, Here's What I Learned.")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
I Built A SaaS Startup In 2 Months, Here's What I Learned.  
Upsocial aims to be an all-in-one social media dashboard built for content creators. It uses social media API's to track and store your profile and content growth over time, and display that information in a simple dashboard. Upsocial uses all of my favourite technologies, and is 100% serverless. It takes advantage of some of the same technologies that Hashnode utilizes too!  
76  
3
7. 7  
[](https://daily.dev/posts/20-mental-health-tips-for-developers-xkctjhp7j "20 Mental Health Tips for Developers")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
20 Mental Health Tips for Developers  
Mental health has been a major concern in the remote work environment. We've heard about boosters for mental health but we have forgotten about the root. Communities like hashnode enable us to adopt a friendly culture that boosts our minds. The problems cannot be cured by medicines and tranquilizers but only possible with the right people and community.  
65  
3
8. 8  
[](https://daily.dev/posts/the-best-vs-code-extensions-for-remote-working-bwm0eay5n "The best VS Code extensions for remote working")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
The best VS Code extensions for remote working  
The best VS Code extensions for remote teams. Real-time cross-IDE collaboration, merge conflict detection and video calls. Codetour allows you to record and playback guided walks of the codebase. GistPad is a great way to create code snippets, notes, or tasks lists.  
46  
1
9. 9  
[](https://daily.dev/posts/how-i-built-rozbnb-with-next-js-tailwind-css-styled-components-stripe-and-auth0--ul5jzmua3 "How I built Rozbnb 🛌 with Next.js , Tailwind CSS, Styled Components , Stripe💰 and Auth0 🔒")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
How I built Rozbnb 🛌 with Next.js , Tailwind CSS, Styled Components , Stripe💰 and Auth0 🔒  
A few weeks ago a great youtuber called Sonny Sangha hosted a 5day challenge of cloning Airbnb. After strategizing I planned to make that clone into a better website with authentication , animation , better UI and so on. The Motivation: I was exploring Auth0 for my website's Authentication so I came across this amazing Hackathon which was hosted by Auth0 and @Hashnode.  
43  
4
10. 10  
[](https://daily.dev/posts/how-to-enable-real-time-merge-conflict-detection-in-vs-code-8gbddw3up "How To Enable Real-Time Merge Conflict Detection in VS Code")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
How To Enable Real-Time Merge Conflict Detection in VS Code  
GitLive has an early warning system for merge conflicts. It will show you where your teammates have made changes compared to your version of the file. It can even update in real-time as you and your teammates are editing. For simple conflicts this can be a quick way to resolve them as identical changes on different branches will merge cleanly.  
38  
3
11. 11  
[](https://daily.dev/posts/let-me-introduce-you-to-inertia-js-something-you-didn-t-know-you-were-missing-g0f2i5wqd "Let me introduce you to Inertia.js, something you didn't know you were missing")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
Let me introduce you to Inertia.js, something you didn't know you were missing  
Inertia.js is a package built for Laravel allowing people to develop single-page applications without building an API. Inertia allows you to create client-side rendered apps, using React, Vue or Svelte by leveraging existing server-side frameworks.  
35  
7
12. 12  
[](https://daily.dev/posts/10-lessons-i-ve-learned-as-a-software-engineer-at-postman-8ec6w6bkf "10 lessons I've learned as a Software Engineer at Postman")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
10 lessons I've learned as a Software Engineer at Postman  
Vinit Shahdeo joined Postman as an intern two years ago. Three months ago, he was promoted to Software Engineer II. He shares what he's learned so far, both professionally and personally. If you're just starting out your career, the lessons below might be helpful.  
34  
2
13. 13  
[](https://daily.dev/posts/useful-vscode-shortcuts-e55zdcbw "useful vscode shortcuts")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
useful vscode shortcuts  
VSCode is one of the most popular editors for web development. When writing code, we often require certain formatting actions, and a lot of them are supported by VSCode itself. Having hands-on keyboard shortcuts can help improve your coding speed by a lot.Default shortcuts are for Mac, while shortcuts for Windows and Linux are mentioned below.  
32  
2
14. 14  
[](https://daily.dev/posts/visualize-and-learn-javascript-promise-apis-z-a5ucfol "visualize and learn JavaScript promise APIs")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
visualize and learn JavaScript promise APIs  
Promiviz is an open-source tool to try out the promise methods in intuitive ways. It captures the log of each of the operations so that your understanding gets firmed as you use it. In this article, we will learn the Promise API methods using the PromiViz tool.  
31  
4
15. 15  
[](https://daily.dev/posts/how-to-enable-real-time-merge-conflict-detection-in-intellij-vss3we8c8 "How To Enable Real-Time Merge Conflict Detection in IntelliJ")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
How To Enable Real-Time Merge Conflict Detection in IntelliJ  
IntelliJ has an early warning system for merge conflicts. If enabled there will be change indicators in the gutter of the editor. These will show you where your teammates have made changes compared to your version of the file. They can even update in real-time as you and your teammates are editing.  
28  
1
16. 16  
[](https://daily.dev/posts/top-7-javascript-array-sort-method-use-cases-io1i-febf "🔥 Top 7 JavaScript Array sort() Method Use Cases")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
🔥 Top 7 JavaScript Array sort() Method Use Cases  
The sort() method sorts the elements of an array and returns the sorted array, and no copy is made. The default sort order is ascending. In this article, we will see how we can utilise its power to the fullest. We can sort a simple array of strings using a functionless array sort()method like this.  
28  
7
17. 17  
[](https://daily.dev/posts/differences-between-arrow-function-and-regular-function-in-javascript-8f6kxyh1u "Differences between arrow function and regular function in JavaScript")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
Differences between arrow function and regular function in JavaScript  
JavaScript functions can be defined in many ways. One can use the right syntax for specific needs by understanding the differences. In this blog, I will discuss some main differences between regular functions and arrow functions. The value of this in case of arrow function is considerably different from that of regular function. Arrow function doesn't define it's own context of execution. The arrow function implicitly returns this expression without the use of the return keyword.  
24  
1
18. 18  
[](https://daily.dev/posts/building-a-restful-crud-api-with-node-js-express-and-mongodb-suymjlqhw "Building a Restful CRUD API with Node JS, Express, and MongoDB")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
Building a Restful CRUD API with Node JS, Express, and MongoDB  
An API is a software interface that enables two apps to communicate with one another. 60% of eBay transactions are via their API. We’ll be building a RESTful CRUD (Create, Retrieve, Update, Delete) API with Node.js, Express, and MongoDB. Create a new folder named nodejs-api and open it in any Code Editor.  
23
19. 19  
[](https://daily.dev/posts/gitlive-14-0-codeshare-without-calling-view-teammate-s-pushed-changes-and-more-pbqwtvmjd "GitLive 14.0: Codeshare without calling, view teammate's pushed changes, and more")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
GitLive 14.0: Codeshare without calling, view teammate's pushed changes, and more  
The latest version of Git is available on all versions of the operating system. New features include the ability to see and edit changes in a new window. The ability to share changes in the same window as the previous version of the software. A new tool that lets you see and comment on changes to the code you're working on.  
23  
1
20. 20  
[](https://daily.dev/posts/top-facebook-behavioral-interview-questions-part-2--pkujxlmv3 "Top Facebook Behavioral Interview Questions (Part 2)")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
Top Facebook Behavioral Interview Questions (Part 2)  
This article is the second part of the series on Top Facebook Behavioral Interview Questions. In the first part, we discussed the following:Introduction to Facebook behavioral Interview (Jedi Round) Tell me about a time you disagreed with someone Tell meabout a time. you showed leadership. Tell me. about the project that you are most proud of. Tell us about yourself? Why do you want to leave your current role? Do you have any questions for me?  
22  
3
21. 21  
[](https://daily.dev/posts/react-isn-t-fast-let-s-learn-why-8v9ic21y1 "React isn't fast, let's learn why")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
React isn't fast, let's learn why  
ReactJS was created in a way that just re-renders the entire component to deal with data inconsistency after any update to the state in the component or its child. Virtual DOM is a DOM-like structure that can be updated easily as changes in this virtual DOM aren't tied to a browser screen that also needs to be updated.  
22  
2
22. 22  
[](https://daily.dev/posts/how-to-see-which-branch-your-teammate-is-on-in-webstorm-zfp6anen2 "How to See Which Branch Your Teammate is on in Webstorm")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
How to See Which Branch Your Teammate is on in Webstorm  
GitLive lets you see which of your teammates are working on an issue. It also shows you what branch they are on and the name of the issue. If an issue has been connected to the branch you’ll see the issue name instead, if that's the case just hover your cursor over it.  
22  
2
23. 23  
[](https://daily.dev/posts/javascript-array-sort-method-use-cases-9r48eeabv "🔥 JavaScript Array sort() Method Use Cases")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
🔥 JavaScript Array sort() Method Use Cases  
21  
9
24. 24  
[](https://daily.dev/posts/javascript-async-and-await-zp3yzapua "JavaScript async and await")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
JavaScript async and await  
This is the third article in the series, Demystifying JavaScript Promises. We are going to discuss the use-cases and chances that we may use them together. The understanding of promises is the essential part of appreciating the existence of async/await. We will also discuss how to use the catch() method in the promise chain.  
19
25. 25  
[](https://daily.dev/posts/html-email-template-for-beginners-tcvc-zt0h "HTML Email Template for beginners")  
Article  
![Avatar of hashnode](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/4a287b2e7cb5499bae863f8e7137cdb4)Hashnode · 5y  
HTML Email Template for beginners  
The knowledge I have gained over the past 6-10 months, to create beautiful and compatible HTML email for my company’s campaigns. You can refer the below link for all the CSS properties which you can use while creating any email template. There is one easiest way to create an email template by using table HTML element.  
18

[See all Hashnode archives](/sources/hashnode/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/hashnode/best-of/2021/08#page","url":"https://daily.dev/sources/hashnode/best-of/2021/08","name":"Best Hashnode Posts — August 2021","description":"The most upvoted Hashnode posts from August 2021, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/hashnode/best-of/2021/08#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/100-things-you-should-know-as-a-software-engineer-uwi-mb-am","name":"100 Things You Should Know as a Software Engineer"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/6-awesome-css-layout-generators-n3cv8p4-m","name":"🔥 6 Awesome CSS Layout Generators"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/7-trending-projects-on-github-for-javascript-developers-wg-97wojj","name":"7 Trending projects on GitHub for JavaScript developers"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/from-zero-to-web-developer-hwtqizguv","name":"From zero to Web developer"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/javascript-clean-code-tips-good-practices-xk-a0rxzd","name":"Javascript Clean Code Tips & Good Practices"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/i-built-a-saas-startup-in-2-months-here-s-what-i-learned--aebkt9hb8","name":"I Built A SaaS Startup In 2 Months, Here's What I Learned."},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/20-mental-health-tips-for-developers-xkctjhp7j","name":"20 Mental Health Tips for Developers"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/the-best-vs-code-extensions-for-remote-working-bwm0eay5n","name":"The best VS Code extensions for remote working"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/how-i-built-rozbnb-with-next-js-tailwind-css-styled-components-stripe-and-auth0--ul5jzmua3","name":"How I built Rozbnb 🛌 with Next.js , Tailwind CSS, Styled Components , Stripe💰 and Auth0 🔒"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/how-to-enable-real-time-merge-conflict-detection-in-vs-code-8gbddw3up","name":"How To Enable Real-Time Merge Conflict Detection in VS Code"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/let-me-introduce-you-to-inertia-js-something-you-didn-t-know-you-were-missing-g0f2i5wqd","name":"Let me introduce you to Inertia.js, something you didn't know you were missing"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/10-lessons-i-ve-learned-as-a-software-engineer-at-postman-8ec6w6bkf","name":"10 lessons I've learned as a Software Engineer at Postman"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/useful-vscode-shortcuts-e55zdcbw","name":"useful vscode shortcuts"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/visualize-and-learn-javascript-promise-apis-z-a5ucfol","name":"visualize and learn JavaScript promise APIs"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/how-to-enable-real-time-merge-conflict-detection-in-intellij-vss3we8c8","name":"How To Enable Real-Time Merge Conflict Detection in IntelliJ"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/top-7-javascript-array-sort-method-use-cases-io1i-febf","name":"🔥 Top 7 JavaScript Array sort() Method Use Cases"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/differences-between-arrow-function-and-regular-function-in-javascript-8f6kxyh1u","name":"Differences between arrow function and regular function in JavaScript"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/building-a-restful-crud-api-with-node-js-express-and-mongodb-suymjlqhw","name":"Building a Restful CRUD API with Node JS, Express, and MongoDB"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/gitlive-14-0-codeshare-without-calling-view-teammate-s-pushed-changes-and-more-pbqwtvmjd","name":"GitLive 14.0: Codeshare without calling, view teammate's pushed changes, and more"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/top-facebook-behavioral-interview-questions-part-2--pkujxlmv3","name":"Top Facebook Behavioral Interview Questions (Part 2)"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/react-isn-t-fast-let-s-learn-why-8v9ic21y1","name":"React isn't fast, let's learn why"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/how-to-see-which-branch-your-teammate-is-on-in-webstorm-zfp6anen2","name":"How to See Which Branch Your Teammate is on in Webstorm"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/javascript-array-sort-method-use-cases-9r48eeabv","name":"🔥 JavaScript Array sort() Method Use Cases"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/javascript-async-and-await-zp3yzapua","name":"JavaScript async and await"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/html-email-template-for-beginners-tcvc-zt0h","name":"HTML Email Template for beginners"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"Hashnode","item":"https://daily.dev/sources/hashnode"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/hashnode/best-of"},{"@type":"ListItem","position":5,"name":"August 2021"}]}]}
```

