איך לחסוך כסף

איך לחסוך (לפחות) 100,000 שקל בשנה ?

זה לגמרי אפשרי לחסוך 100 אלף שקל בשנה.
זה אולי נשמע כמו משימה לא מציאותית, אבל עם קצת תכנון והרבה מודעות זה בהישג יד. לא מדובר בוויתורים קיצוניים או בחיים בסגנון של הומלס, אלא בשילוב של צעדים חכמים: צמצום בזבוזים, הגדלת הכנסות וניהול תקציב מדויק. במדריך הזה תמצאו שיטות פרקטיות, טיפים שכבר הוכיחו את עצמם וגם כמה טריקים שכנראה לא חשבתם עליהם. המטרה ברורה: לעזור לכם לחסוך 100,000 ש"ח יותר ולהרגיש בשליטה.

מה זה אומר לחסוך 100,000 ש"ח?

לפני שמתחילים לחסוך, חשוב להבין מה בכלל המשמעות של יעד כזה. חיסכון של 100,000 ש"ח בשנה נשמע מרשים, אבל כשפורטים אותו לחודשים, מדובר על בערך 8,300 ש"ח בחודש. זה יכול להיראות כהרבה אבל כשמשלבים הפחתת הוצאות עם הגדלת הכנסות, הסכום הזה כבר לא נשמע דמיוני.

היעד הזה רלוונטי כמעט לכל אחד: שכירים, עצמאים, זוגות, משפחות ואפילו צעירים בתחילת הדרך. לכל קבוצה יש אתגרי התקציב שלה, אבל גם הזדמנויות שונות לחיסכון. המפתח הוא גישה אישית שמותאמת להרגלים, להכנסות ולסדרי העדיפויות שלכם.

חשוב גם להבין מה נחשב חיסכון. חיסכון אמיתי הוא לא רק כששמים כסף בצד, אלא גם כשמצמצמים הוצאה מיותרת, נמנעים מקנייה אימפולסיבית, או בוחרים בדרך זולה יותר להגיע לאותה תוצאה. לפעמים אפילו שינוי קטן בהתנהלות היומיומית יכול לייצר הבדל של אלפי שקלים בשנה.

המטרה כאן היא לא רק לצבור סכום יפה, אלא גם לפתח הרגלים שיכולים ללוות אותכם לאורך זמן ולעזור לכם לבנות יציבות כלכלית אמיתית.

כדי להתחיל לחסוך, צריכים להבין קודם מה המצב שלכם

כדי להתחיל לחסוך ברצינות, השלב הראשון והכי חשוב הוא להבין איפה אתם עומדים היום. לפני שמתחילים לצמצם או להרוויח יותר, צריך תמונה ברורה של ההוצאות וההכנסות ממש כמו לשים מראה מול התקציב שלכם. בלי זה, החיסכון ירגיש כמו ניחוש.

למזלנו, היום זה הרבה יותר פשוט ממה שהיה פעם. יש שפע של אפליקציות, כלים ואקסלים שיכולים לעזור לכם לעקוב אחרי כל שקל שיוצא ונכנס  בלי כאב ראש.

אפליקציות לניהול תקציב הן דרך מעולה להתחיל. אפליקציות כמו RiseUp, או פמיליביז שיודעות להתחבר לחשבון הבנק (כחלק מפרוטוקל הבנקאות הפתוחה), לנתח תנועות ולחלק את ההוצאות לפי קטגוריות. תוך כמה ימים תתחילו לראות תבניות ברורות: כמה באמת אתם מוציאים על אוכל, כמה "בורח" לבילויים ואיפה יש פוטנציאל לחיסכון מיידי.

למי שמעדיף שליטה מלאה, קובץ אקסל פשוט יכול להספיק עם טבלה של הכנסות, הוצאות קבועות, משתנות וחיסכון חודשי. היתרון: אתם קובעים את הקטגוריות והמבנה, בלי תלות באפליקציה.

אנחנו כמובן ממליצים על האקסל לניהול תקציב של פיננקה.

האקסל לניהול תקציב של פיננקה עושה לכם סדר בכספים!
חדש! עכשיו בגרסה 3.0: תוכלו לעקוב בקלות אחרי ההכנסות וההוצאות, לתכנן את התקציב שלכם מראש ולראות גרפים ודוחות מתקדמים בלחיצה. הורידו עכשיו והתחילו לנהל את הכלכלה שלכם בצורה פשוטה, חכמה ויעילה!

צמצום הוצאות

אחרי שמיפיתם את ההוצאות והבנתם לאן הולך כל שקל, מגיע השלב שבו מתחילים להזיז דברים. ברוב המקרים, כבר בשלב הניתוח אפשר לזהות קטגוריות מנופחות, הרגלים מיותרים או הוצאות שגרתיות שאפשר להוזיל בלי לפגוע באמת באיכות החיים.

רלוונטי: למדו עוד על צמצום הוצאות

צמצום הוצאות לא אומר להפסיק לחיות. להפך – מדובר בהתנהלות חכמה יותר, כזו שמאפשרת ליהנות מאותם דברים, אבל במחיר נמוך יותר או בתדירות שמותאמת למציאות הכלכלית שלכם. הנה כמה תחומים מרכזיים שכדאי לבדוק:

דיור ומשכנתא – זה אחד הסעיפים הכי כבדים בתקציב החודשי. אם יש לכם משכנתא, כדאי לבדוק אפשרות למיחזור. ירידה אפילו של חצי אחוז בריבית יכולה לחסוך עשרות אלפי שקלים לאורך השנים. אם אתם שוכרים, אולי שווה לבדוק דירה זולה יותר, מעבר לעיר אחרת, או מעבר זמני עם שותפים כדי לצבור חיסכון.

תחבורה – החזקת רכב בישראל יקרה. ביטוח, טיפולים, דלק, טסט, חניה – הכול מצטבר. אפשר לבדוק מעבר לרכב קטן יותר, לעבור לתחבורה ציבורית (גם חלקית), לשלב נסיעות שיתופיות עם חברים לעבודה או לשקול ליסינג פרטי במקום רכישה.

מזון וקניות סופר – סעיף שיכול לצאת משליטה בקלות. תכנון שבועי של ארוחות, קניות עם רשימה מסודרת, מעבר לרשתות זולות יותר, קניית מותגי הבית, ובדיקה של מבצעים וקופונים – כל אלה יכולים להוריד את ההוצאה החודשית בצורה דרמטית.

בילויים וצריכה – לא חייבים לוותר על בילויים, אבל כן אפשר לבחור חכם. מסעדות פחות יקרות, פחות הזמנות מבחוץ, ערב ביתי עם חברים במקום יציאה, נטפליקס במקום כבלים. גם צריכה של בגדים, גאדג'טים ומוצרי "פינוק" יכולה להיבחן מחדש – במיוחד אם אלו קניות מהירות מהסמארטפון בשעות הלילה.

חשבונות שונים – ניהול נכון של שירותים חודשיים יכול להניב חיסכון מהיר. בדקו אם אתם משלמים על שירותים כפולים, האם יש לכם חבילות אינטרנט/סלולר/טלוויזיה שוות יותר. שיחת טלפון אחת לחברת הסלולר יכולה לחסוך עשרות שקלים בחודש.

קניות אונליין – קניות מהאינטרנט זה נוח, אבל לפעמים גם יקר ומפתה מדי. נסו להשוות מחירים, לחפש קופונים, לבדוק אם יש מבצע טוב יותר בחנות מקומית, או פשוט לדחות את הרכישה ב-24 שעות ולראות אם היא עדיין נראית הכרחית.

המטרה היא לא לקצץ בכל התחומים בבת אחת, אלא להתחיל באזורים שבהם יש הכי הרבה "שומן". גם שינוי קטן בסעיף אחד – כמו לצמצם 500 ש"ח בחודש על אוכל – כבר שווה 6,000 ש"ח בשנה. עכשיו תכפילו את זה בכמה סעיפים… והתחלתם להתקרב ליעד.

כמה כסף אפשר לחסוך מכל הסעיפים האלה?

שאלה מעולה! בוא נעשה הערכה ריאלית של כמה כסף אפשר לחסוך בכל אחד מהסעיפים שדיברנו עליהם, לא בצורה קיצונית אלא על בסיס צעדים פרקטיים שאפשר לבצע יחסית בקלות. כמובן, זה משתנה לפי סגנון החיים, אבל נלך על תרחיש ממוצע למשפחה עם הכנסה בינונית:

דיור ומשכנתא
חיסכון אפשרי ממיחזור משכנתא או מעבר לדירה זולה יותר:
400–1,200 ש"ח בחודש4,800–14,400 ש"ח בשנה

תחבורה
ירידה מדלק יקר, ביטוחים יקרים, חניה בתשלום או מעבר לרכב קטן/תחבורה ציבורית:
300–800 ש"ח בחודש3,600–9,600 ש"ח בשנה

מזון וקניות סופר
מעבר לרשת זולה יותר, קנייה חכמה לפי רשימה, פחות אוכל בחוץ:
500–1,000 ש"ח בחודש6,000–12,000 ש"ח בשנה

בילויים וצריכה
צמצום בהזמנות מבחוץ, מנויים מיותרים, קניות אימפולסיביות:
300–700 ש"ח בחודש3,600–8,400 ש"ח בשנה

חשבונות
מעבר לחבילה זולה בסלולר/אינטרנט/כבלים:
200–500 ש"ח בחודש2,400–6,000 ש"ח בשנה

קניות אונליין
דחיית רכישות, קופונים, השוואת מחירים, קנייה קבוצתית:
200–600 ש"ח בחודש2,400–7,200 ש"ח בשנה

סה"כ פוטנציאל חיסכון שנתי:
22,800–57,600 ש"ח בשנה

שוב, אלה הערכות ממוצעות. אם מישהו חי חיים מאוד יקרים אז הפוטנציאל לחיסכון גדול יותר. ואם כבר מתנהל בצורה חסכונית  המספרים יהיו נמוכים יותר.
בכל מקרה, חיסכון של 30–50 אלף ש"ח בשנה מהוצאות בלבד הוא יעד ריאלי מאוד לרוב האנשים ומשם הדרך ל-100,000 כבר הרבה יותר קצרה.

בוא נגיד שהצלחתם לחסוך רק 40,000 ש"ח, נשארו עוד 60 אלף. בואו נמשיך!

הגדלת הכנסות

כדי להגיע ליעד של 100,000 ש"ח בשנה, לא חייבים להסתפק רק בצמצום הוצאות. לפעמים דווקא החלק של הגדלת הכנסה הוא זה שעושה את ההבדל המשמעותי, במיוחד אם כבר יש לכם שליטה טובה על התקציב. והחדשות הטובות הן שאפשר להרוויח יותר, גם בלי לעזוב את מקום העבודה או לקחת סיכון גבוה.

רלוונטי: רוצים לדעת עוד על הגדלת הכנסות?

הנה כמה דרכים להכניס יותר כסף גם אם יש לכם לוח זמנים עמוס:

עבודות צד/פרילנס
אם יש לכם כישרון או ידע שאפשר לתרגם לשירות זה הזמן להשתמש בו. תרגום, כתיבה, גרפיקה, ניהול עמודים ברשתות החברתיות, תיקונים קטנים, שיעורים פרטיים, ייעוץ בתחום ההתמחות שלכם. כל אלה יכולים להניב כמה מאות עד אלפי שקלים בחודש. גם עבודה זמנית בערבים או סופי שבוע, כמו שליחויות, יכולה להוסיף סכום יפה.

השכרת נכסים או ציוד
אם יש לכם משהו שלא בשימוש יומיומי אז למה לא להרוויח ממנו? זה יכול להיות חדר פנוי בדירה (Airbnb), חניה במרכז העיר, מצלמה מקצועית, רמקולים, גנרטור או אפילו שולחן פינג פונג. יש אתרים ואפליקציות להשכרה של כמעט כל דבר.

מכירת חפצים מיותרים
כולם צוברים דברים כמו בגדים, מוצרי חשמל, רהיטים, ספרים, ציוד ספורט. מכירה של פריטים שלא בשימוש יכולה להכניס כמה מאות עד אלפי שקלים ולפנות מקום בבית (ובראש).

הכנסה פסיבית ושיווק שותפים
אם יש לכם נוכחות ברשת, בלוג, עמוד אינסטגרם או אפילו קבוצת פייסבוק קטנה אז אפשר להכניס כסף משיתופי פעולה, הפניות למוצרים, לינקים של אפיליאייט (כמו Booking או Amazon). זה לא דורש הרבה תחזוק, אבל כן דורש חשיבה יצירתית ואמינות מול העוקבים.

השקעות קטנות
אם יש לכם קצת כסף פנוי, אפשר להתחיל להשקיע באופן מושכל: קופות גמל להשקעה, קרנות סל, רכישת מניות או קריפטו בזהירות. חשוב להבין מה אתם עושים ולא להמר, אבל השקעות חכמות יכולות להניב הכנסה שוטפת או תשואה נאה לטווח הארוך.

החזרי מס, נקודות זיכוי והטבות
לא רבים בודקים את זכאותם להחזר מס ובמקרים רבים מדובר על אלפי שקלים שאפשר לקבל ישירות לחשבון. כדאי לבדוק גם אם אתם זכאים להטבות מס, נקודות זיכוי על ילדים, חינוך, מגורים בפריפריה ועוד.

 

החזר מס עם finupp

בדיקה חינם של זכאות להחזר מס ו-10% הנחה לגולשי פיננקה בהגשת הדו"ח.
גולשי פיננקה קיבלו כבר למעלה מ-230,000 ש"ח בחזרה. רוצים גם?
להרשמה עם ההנחה לחצו על הכפתור
הטבה מפנקת

חיבור של אפילו אחת או שתיים מהדרכים האלו יכול להוסיף בין 500 ל-3,000 ש"ח בחודש  שזה כבר 6,000–36,000 ש"ח בשנה, בלי קשר לצמצום הוצאות. השילוב בין ניהול חכם, חיסכון והכנסה נוספת זו הדרך הבטוחה להתקרב במהירות ליעד של 100,000 ש"ח.

אז בואו נניח שתוכלו להגדיל את ההכנסות ב- 25,000 ש"ח, אז אם מחברים את זה מהסעיף הקודם אנחנו כבר עומדים על חיסכון של 65,000 ש"ח.

סדר בביטוחים ובפנסיה

עוד תחום שכדאי מאוד לעצור ולהתעמק בו הוא ביטוחים ופנסיות. כן, זה נשמע קצת יבש, אולי אפילו מסובך, אבל האמת היא שיש כאן פוטנציאל אדיר לחיסכון. לפעמים של אלפי שקלים בשנה מבלי לשנות את סגנון החיים אפילו בקצת.

כפל ביטוחים
רבים מאיתנו מבוטחים פעמיים (או יותר) על אותם דברים: בריאות, תאונות אישיות, אובדן כושר עבודה ועוד. זה קורה בגלל שינויי מקום עבודה, שיחות מכירה טלפוניות של חברות ביטוח, או פשוט חוסר תשומת לב. אפשר להיכנס לאתר הר הביטוח ולראות בדיוק אילו פוליסות יש לכם, באיזו חברה, ועל מה אתם משלמים. ברוב המקרים תמצאו לפחות פוליסה אחת מיותרת שאפשר לבטל ולחסוך בין 50 ל-300 ש"ח בחודש.

כיסוי לא מעודכן או מיותר
גם אם אין כפל, ייתכן שיש כיסויים שאתם לא צריכים כלומר או שאתם משלמים עליהם סכום גבוה מדי. כדאי לפנות ליועץ ביטוח (רצוי בלתי תלוי) שיעבור איתכם על הפוליסות ויוודא שאתם לא משלמים סתם על דברים שאתם לא צריכים או שמכוסים כבר במקום אחר.

פנסיה שלא במעקב
אם לא עקבתם אחרי הפנסיה שלכם בשנים האחרונות אז יש מצב שהיא מתנהלת במסלול יקר, בדמי ניהול גבוהים, או שהיא מפוזרת בכמה קרנות. דרך הר הביטוח והפנסיה תוכלו לבדוק את המצב העדכני. מעבר למסלול זול או איחוד של כמה קופות לקרן אחת עם דמי ניהול טובים יותר יכול לחסוך לכם עשרות אלפי שקלים לעתיד ואפילו לשחרר עוד כמה מאות שקלים פנויים בהווה (אם דמי הניהול יורדים משמעותית).

שיפור תנאים דרך מקום העבודה
לעובדים רבים מגיעים תנאים מועדפים דרך מקום העבודה: דמי ניהול נמוכים בפנסיה, ביטוח חיים מוזל, הטבות במסלול קופת גמל או קרן השתלמות. כדאי לדבר עם מחלקת משאבי אנוש או סוכן ההטבות במקום העבודה ולבדוק אם אתם מקבלים את כל מה שמגיע לכם.

הזנחה של התחום הזה שווה לפעמים 5,000–10,000 ש"ח בשנה שיורדים לטמיון, בעוד שסדר קטן שלוקח אולי שעה שעתיים יכול להחזיר לכם שליטה, כסף, ושקט נפשי.

כשמדובר בפנסיות וביטוחים, החיסכון הוא לא רק חודשי אלא גם מצטבר ומושקע לטווח ארוך, ולכן יכול להיות שווה הרבה יותר ממה שנדמה. בוא נפרוט את זה רגע:

נניח שחוסכים 500 ש"ח בחודש בדמי ניהול וביטוחים מיותרים:

500 ש"ח × 12 חודשים = 6,000 ש"ח בשנה

אם את הסכום הזה לא מוציאים – אלא מעבירים אותו לחיסכון או משאירים אותו בפנסיה עצמה – הוא לא רק נשמר, אלא גם צובר תשואה שנתית ממוצעת (נניח 5% לשנה, שמרני לחלוטין).

כמה זה שווה בטווח של 20 שנה?

אם נשקיע 6,000 ש"ח בשנה (כל שנה), עם תשואה של 5% לשנה  החיסכון המצטבר יהיה בערך 198,000 ש"ח (!)

יחד עם הסעיפים הקודמים כבר עברנו את 100,000ש"ח בשנה בהרבה!

 

לדעת כמה חסכתם וכמה אתם משלמים

הפלטפורמה של cover משקפת לכם את החסכונות הפנסיוניים והביטוחים מכל החברות, ומציגה המלצות לשיפור התנאים והכיסויים כדי לוודא שהם במצב אופטימלי
בדיקה חינם

מיינדסט והתמדה

אחד הדברים הכי חשובים ואולי הכי פחות מדוברים הוא הצד המנטלי. לשנות התנהלות כלכלית ולהתמיד בחיסכון זה לא רק עניין של מספרים, טבלאות ואפליקציות. זה קודם כל עניין של גישה, סבלנות והתמדה.

מי שרוצה לחסוך 100,000 ש"ח בשנה צריך לפתח מיינדסט של חוסך לא כעונש או ויתור, אלא כבחירה מודעת לטובת רווחה, חופש ועתיד טוב יותר. מדובר בתהליך, לא בקפיצה של רגע. וזה אומר שלא הכול ילך חלק, לא תמיד תעמדו ביעדים, יהיו פיתויים, יהיו חודשים יקרים. וזה בסדר גמור.

הסוד הוא לא להישבר, אלא להישאר בכיוון. להבין שכל שינוי קטן אפילו קנייה אחת שנמנעת, או ביטול חיוב מיותר מקרב אתכם למטרה. לחשוב לא רק על החודש הזה, אלא על איך תיראה השנה כשתגיעו ל-100,000 ש"ח שחסכתם בעצמכם.

מומלץ גם לשתף מישהו קרוב בן/בת זוג, חבר, קבוצה בפייסבוק כדי שיהיה לכם עם מי לדבר על ההצלחות והקשיים.
וגם לתגמל את עצמכם מדי פעם. חיסכון הוא חשוב, אבל אם הכול מרגיש כמו הקרבה זה פשוט לא יחזיק מעמד.

בסוף, התמדה מנצחת תוצאה מיידית. וכשהמיינדסט נכון הכסף מתחיל לעבוד בשבילכם, לא ההפך.

קריאה נוספת: איך לחסוך כסף

לסיכום, האם באמת אפשר לחסוך 100,000 ש"ח בשנה??

לחסוך 100,000 ש"ח בשנה אולי נשמע כמו יעד שאפתני, אבל עם תוכנית פעולה ברורה, זה הרבה יותר נגיש ממה שנדמה. בעזרת כלים לניהול תקציב, צמצום הוצאות חכם, הגדלת הכנסה מהצד, סדר בביטוחים ופנסיה, והכי חשוב מיינדסט של התמדה ונחישות אז אפשר בהחלט להגיע ליעד הזה. זה לא קורה ביום אחד, אבל בכל חודש מתקדמים עוד צעד.

לדעתי חיסכון בסדר גודל כזה הוא לא רק עניין כלכלי אלא מהלך משנה חיים. הוא מביא איתו תחושת שליטה, ביטחון ושקט פנימי. זה תהליך שמלמד אותך מה באמת חשוב לך, על מה שווה להוציא, ועל מה כבר לא. הכי יפה? זה לא דורש להיות עשיר, רק להיות מודע.

אם מתחילים עכשיו, לא רק שתראו תוצאות תוך כמה חודשים אלא גם תבנו בסיס יציב לעתיד כלכלי הרבה יותר חופשי.

הצטרפו לניוזלטר הסודי שלנו!

אנחנו גם שונאים ספאם אז מבטיחים לא לבלבל לכם את השכל, רק דברים שווים

הצטרפו לקבוצת הפייסבוק שלנו

הצטרפו לקבוצת הפייסבוק שלנו

האקסל לניהול תקציב של פיננקה עושה לכם סדר בכספים!
חדש! עכשיו בגרסה 3.0: תוכלו לעקוב בקלות אחרי ההכנסות וההוצאות, לתכנן את התקציב שלכם מראש ולראות גרפים ודוחות מתקדמים בלחיצה. הורידו עכשיו והתחילו לנהל את הכלכלה שלכם בצורה פשוטה, חכמה ויעילה!

מידע מקצועי נוסף עבורכם

רוצה לדבר עם מומחה?

ניתן להשתמש בחצי המקלדת בכדי לנווט בין כפתורי הרכיב
",e=e.removeChild(e.firstChild)):"string"==typeof o.is?e=l.createElement(a,{is:o.is}):(e=l.createElement(a),"select"===a&&(l=e,o.multiple?l.multiple=!0:o.size&&(l.size=o.size))):e=l.createElementNS(e,a),e[Ni]=t,e[Pi]=o,Pl(e,t,!1,!1),t.stateNode=e,l=Ae(a,o),a){case"iframe":case"object":case"embed":Te("load",e),u=o;break;case"video":case"audio":for(u=0;u<$a.length;u++)Te($a[u],e);u=o;break;case"source":Te("error",e),u=o;break;case"img":case"image":case"link":Te("error",e),Te("load",e),u=o;break;case"form":Te("reset",e),Te("submit",e),u=o;break;case"details":Te("toggle",e),u=o;break;case"input":A(e,o),u=M(e,o),Te("invalid",e),Ie(n,"onChange");break;case"option":u=B(e,o);break;case"select":e._wrapperState={wasMultiple:!!o.multiple},u=Uo({},o,{value:void 0}),Te("invalid",e),Ie(n,"onChange");break;case"textarea":V(e,o),u=H(e,o),Te("invalid",e),Ie(n,"onChange");break;default:u=o}Me(a,u);var s=u;for(i in s)if(s.hasOwnProperty(i)){var c=s[i];"style"===i?ze(e,c):"dangerouslySetInnerHTML"===i?(c=c?c.__html:void 0,null!=c&&Aa(e,c)):"children"===i?"string"==typeof c?("textarea"!==a||""!==c)&&X(e,c):"number"==typeof c&&X(e,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(ea.hasOwnProperty(i)?null!=c&&Ie(n,i):null!=c&&x(e,i,c,l))}switch(a){case"input":L(e),j(e,o,!1);break;case"textarea":L(e),$(e);break;case"option":null!=o.value&&e.setAttribute("value",""+P(o.value));break;case"select":e.multiple=!!o.multiple,n=o.value,null!=n?q(e,!!o.multiple,n,!1):null!=o.defaultValue&&q(e,!!o.multiple,o.defaultValue,!0);break;default:"function"==typeof u.onClick&&(e.onclick=Fe)}Ve(a,o)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Ll(e,t,e.memoizedProps,o);else{if("string"!=typeof o&&null===t.stateNode)throw Error(r(166));n=yn(yu.current),yn(bu.current),Jn(t)?(n=t.stateNode,o=t.memoizedProps,n[Ni]=t,n.nodeValue!==o&&(t.effectTag|=4)):(n=(9===n.nodeType?n:n.ownerDocument).createTextNode(o),n[Ni]=t,t.stateNode=n)}return null;case 13:return zt(vu),o=t.memoizedState,0!==(64&t.effectTag)?(t.expirationTime=n,t):(n=null!==o,o=!1,null===e?void 0!==t.memoizedProps.fallback&&Jn(t):(a=e.memoizedState,o=null!==a,n||null===a||(a=e.child.sibling,null!==a&&(i=t.firstEffect,null!==i?(t.firstEffect=a,a.nextEffect=i):(t.firstEffect=t.lastEffect=a,a.nextEffect=null),a.effectTag=8))),n&&!o&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&vu.current)?rs===Qu&&(rs=Yu):(rs!==Qu&&rs!==Yu||(rs=Gu),0!==us&&null!==es&&(To(es,ns),Co(es,us)))),(n||o)&&(t.effectTag|=4),null);case 4:return wn(),Ol(t),null;case 10:return Zt(t),null;case 17:return It(t.type)&&Ft(),null;case 19:if(zt(vu),o=t.memoizedState,null===o)return null;if(a=0!==(64&t.effectTag),i=o.rendering,null===i){if(a)mr(o,!1);else if(rs!==Qu||null!==e&&0!==(64&e.effectTag))for(i=t.child;null!==i;){if(e=_n(i),null!==e){for(t.effectTag|=64,mr(o,!1),a=e.updateQueue,null!==a&&(t.updateQueue=a,t.effectTag|=4),null===o.lastEffect&&(t.firstEffect=null),t.lastEffect=o.lastEffect,o=t.child;null!==o;)a=o,i=n,a.effectTag&=2,a.nextEffect=null,a.firstEffect=null,a.lastEffect=null,e=a.alternate,null===e?(a.childExpirationTime=0,a.expirationTime=i,a.child=null,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null):(a.childExpirationTime=e.childExpirationTime,a.expirationTime=e.expirationTime,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,i=e.dependencies,a.dependencies=null===i?null:{expirationTime:i.expirationTime,firstContext:i.firstContext,responders:i.responders}),o=o.sibling;return Mt(vu,1&vu.current|2),t.child}i=i.sibling}}else{if(!a)if(e=_n(i),null!==e){if(t.effectTag|=64,a=!0,n=e.updateQueue,null!==n&&(t.updateQueue=n,t.effectTag|=4),mr(o,!0),null===o.tail&&"hidden"===o.tailMode&&!i.alternate)return t=t.lastEffect=o.lastEffect,null!==t&&(t.nextEffect=null),null}else 2*ru()-o.renderingStartTime>o.tailExpiration&&1t)&&vs.set(e,t)))}}function Ur(e,t){e.expirationTimee?n:e,2>=e&&t!==e?0:e}function qr(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=$t(Vr.bind(null,e));else{var t=Br(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=Fr();if(1073741823===t?r=99:1===t||2===t?r=95:(r=10*(1073741821-t)-10*(1073741821-r),r=0>=r?99:250>=r?98:5250>=r?97:95),null!==n){var o=e.callbackPriority;if(e.callbackExpirationTime===t&&o>=r)return;n!==Yl&&Bl(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?$t(Vr.bind(null,e)):Wt(r,Hr.bind(null,e),{timeout:10*(1073741821-t)-ru()}),e.callbackNode=t}}}function Hr(e,t){if(ks=0,t)return t=Fr(),No(e,t),qr(e),null;var n=Br(e);if(0!==n){if(t=e.callbackNode,(Ju&(Wu|$u))!==Hu)throw Error(r(327));if(lo(),e===es&&n===ns||Kr(e,n),null!==ts){var o=Ju;Ju|=Wu;for(var a=Yr();;)try{eo();break}catch(t){Xr(e,t)}if(Gt(),Ju=o,Bu.current=a,rs===Ku)throw t=os,Kr(e,n),To(e,n),qr(e),t;if(null===ts)switch(a=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,o=rs,es=null,o){case Qu:case Ku:throw Error(r(345));case Xu:No(e,2=n){e.lastPingedTime=n,Kr(e,n);break}}if(i=Br(e),0!==i&&i!==n)break;if(0!==o&&o!==n){e.lastPingedTime=o;break}e.timeoutHandle=Si(oo.bind(null,e),a);break}oo(e);break;case Gu:if(To(e,n),o=e.lastSuspendedTime,n===o&&(e.nextKnownPendingLevel=ro(a)),ss&&(a=e.lastPingedTime,0===a||a>=n)){e.lastPingedTime=n,Kr(e,n);break}if(a=Br(e),0!==a&&a!==n)break;if(0!==o&&o!==n){e.lastPingedTime=o;break}if(1073741823!==is?o=10*(1073741821-is)-ru():1073741823===as?o=0:(o=10*(1073741821-as)-5e3,a=ru(),n=10*(1073741821-n)-a,o=a-o,0>o&&(o=0),o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Uu(o/1960))-o,n=o?o=0:(a=0|l.busyDelayMs,i=ru()-(10*(1073741821-i)-(0|l.timeoutMs||5e3)),o=i<=a?0:a+o-i),10 component higher in the tree to provide a loading indicator or placeholder to display."+N(i))}rs!==Zu&&(rs=Xu),l=yr(l,i),f=a;do{switch(f.tag){case 3:u=l,f.effectTag|=4096,f.expirationTime=t;var w=Ar(f,u,t);ln(f,w); break e;case 1:u=l;var E=f.type,k=f.stateNode;if(0===(64&f.effectTag)&&("function"==typeof E.getDerivedStateFromError||null!==k&&"function"==typeof k.componentDidCatch&&(null===ms||!ms.has(k)))){f.effectTag|=4096,f.expirationTime=t;var _=Ir(f,u,t);ln(f,_);break e}}f=f.return}while(null!==f)}ts=no(ts)}catch(e){t=e;continue}break}}function Yr(){var e=Bu.current;return Bu.current=Cu,null===e?Cu:e}function Gr(e,t){eus&&(us=e)}function Jr(){for(;null!==ts;)ts=to(ts)}function eo(){for(;null!==ts&&!Gl();)ts=to(ts)}function to(e){var t=Fu(e.alternate,e,ns);return e.memoizedProps=e.pendingProps,null===t&&(t=no(e)),qu.current=null,t}function no(e){ts=e;do{var t=ts.alternate;if(e=ts.return,0===(2048&ts.effectTag)){if(t=br(t,ts,ns),1===ns||1!==ts.childExpirationTime){for(var n=0,r=ts.child;null!==r;){var o=r.expirationTime,a=r.childExpirationTime;o>n&&(n=o),a>n&&(n=a),r=r.sibling}ts.childExpirationTime=n}if(null!==t)return t;null!==e&&0===(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=ts.firstEffect),null!==ts.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=ts.firstEffect),e.lastEffect=ts.lastEffect),1e?t:e}function oo(e){var t=qt();return Vt(99,ao.bind(null,e,t)),null}function ao(e,t){do lo();while(null!==gs);if((Ju&(Wu|$u))!==Hu)throw Error(r(327));var n=e.finishedWork,o=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var a=ro(n);if(e.firstPendingTime=a,o<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:o<=e.firstSuspendedTime&&(e.firstSuspendedTime=o-1),o<=e.lastPingedTime&&(e.lastPingedTime=0),o<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===es&&(ts=es=null,ns=0),1u&&(c=u,u=l,l=c),c=Ue(w,l),f=Ue(w,u),c&&f&&(1!==k.rangeCount||k.anchorNode!==c.node||k.anchorOffset!==c.offset||k.focusNode!==f.node||k.focusOffset!==f.offset)&&(E=E.createRange(),E.setStart(c.node,c.offset),k.removeAllRanges(),l>u?(k.addRange(E),k.extend(f.node,f.offset)):(E.setEnd(f.node,f.offset),k.addRange(E)))))),E=[];for(k=w;k=k.parentNode;)1===k.nodeType&&E.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof w.focus&&w.focus(),w=0;w=t&&e<=t}function To(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;nt||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Co(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function No(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Po(e,t,n,o){var a=t.current,i=Fr(),l=su.suspense;i=jr(i,a,l);e:if(n){n=n._reactInternalFiber;t:{if(J(n)!==n||1!==n.tag)throw Error(r(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(It(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(r(171))}if(1===n.tag){var s=n.type;if(It(s)){n=Dt(n,s,u);break e}}n=u}else n=Al;return null===t.context?t.context=n:t.pendingContext=n,t=on(i,l),t.payload={element:e},o=void 0===o?null:o,null!==o&&(t.callback=o),an(a,t),Dr(a,i),i}function Oo(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Ro(e,t){e=e.memoizedState,null!==e&&null!==e.dehydrated&&e.retryTime