1
00:00:01,550 --> 00:00:02,420
Hello everyone.

2
00:00:02,420 --> 00:00:07,670
So in today's session we will continue our discussion on constructor and we will also learn one more

3
00:00:07,670 --> 00:00:10,150
thing which is called this keyword.

4
00:00:10,190 --> 00:00:10,610
Okay.

5
00:00:10,700 --> 00:00:17,860
So let's start out with the decision so let's add one more constructive one more pyramid based construct

6
00:00:17,890 --> 00:00:19,450
but not this time.

7
00:00:19,450 --> 00:00:23,110
This bedroom a dice construct Beverly take two barometers each.

8
00:00:23,140 --> 00:00:32,650
Andrew Lambert OK a general number so property age is barometer age and property.

9
00:00:32,650 --> 00:00:36,070
Rule number is the barometer number.

10
00:00:36,550 --> 00:00:36,900
Okay.

11
00:00:36,920 --> 00:00:38,940
Let's add one brain statement also.

12
00:00:39,290 --> 00:00:42,950
So see out construct three called

13
00:00:53,870 --> 00:00:54,420
okay.

14
00:00:54,540 --> 00:00:55,790
So what will happen now.

15
00:00:59,050 --> 00:01:02,890
If I will create an object with two barometers.

16
00:01:02,890 --> 00:01:09,520
So student six two parameters 10 and under the value of a general number and what will happen.

17
00:01:09,520 --> 00:01:13,150
So this will be interpreted as as as six dot student

18
00:01:15,770 --> 00:01:16,860
Bennett ended.

19
00:01:16,970 --> 00:01:18,420
So which constructively.

20
00:01:18,440 --> 00:01:20,330
Which construct grade will be calling.

21
00:01:20,330 --> 00:01:27,410
So construct better material be called because this is matching constructor Okay so construct them but

22
00:01:27,410 --> 00:01:28,690
table book called.

23
00:01:28,700 --> 00:01:36,550
So if I write a six star display now our age and got an order a general number they do not contain garbage

24
00:01:36,550 --> 00:01:37,200
values.

25
00:01:37,320 --> 00:01:38,460
Age is simply 10.

26
00:01:38,470 --> 00:01:41,570
And rule number is a hundred.

27
00:01:41,710 --> 00:01:42,290
Okay.

28
00:01:42,460 --> 00:01:44,800
This time did not contain any garbage values.

29
00:01:44,800 --> 00:01:45,400
Now let's see

30
00:01:48,130 --> 00:01:51,600
Su let's create a student object.

31
00:01:51,600 --> 00:01:53,440
STUDENT 6.

32
00:01:53,730 --> 00:01:57,050
And in order to call constructor three we have to parse two arguments.

33
00:01:57,060 --> 00:02:03,760
Age and rule number and let's call the display function to a six dart display.

34
00:02:03,980 --> 00:02:07,040
Okay so we have to run this file first.

35
00:02:07,040 --> 00:02:10,300
Make positive changes to this file and now we will run this file

36
00:02:15,060 --> 00:02:17,970
so construct that record.

37
00:02:18,000 --> 00:02:18,970
Okay then.

38
00:02:18,990 --> 00:02:25,780
And under this time neither age nor the rule number contain garbage value then is the age under this

39
00:02:25,780 --> 00:02:26,610
deal or no

40
00:02:30,450 --> 00:02:31,010
okay.

41
00:02:31,210 --> 00:02:38,450
So tell me what will happen if I like if I come on down the default constructor so let's come and out.

42
00:02:38,500 --> 00:02:44,640
The default constructor now what do you think what will happen.

43
00:02:44,680 --> 00:02:44,910
Okay.

44
00:02:44,980 --> 00:02:51,280
So as soon as we create any constructor whether this default or betterment praised then the inbuilt

45
00:02:51,280 --> 00:02:54,820
constructor is not available to us anymore okay.

46
00:02:54,940 --> 00:02:57,640
And will domestic is not available to us anymore.

47
00:02:57,670 --> 00:03:02,920
So at this point of time I have only two constructors and both the constructor that parameter based

48
00:03:02,920 --> 00:03:03,620
constructors.

49
00:03:04,070 --> 00:03:09,370
Okay so student S1 this line will throw us at it.

50
00:03:09,450 --> 00:03:14,760
STUDENT As to this plan we also throw us it assemblies to industry this time will also through a set

51
00:03:14,770 --> 00:03:19,320
away because and then really what happens is how.

52
00:03:19,330 --> 00:03:23,350
This is how this line is interpreted it will call as One dot student

53
00:03:26,170 --> 00:03:33,870
so it is trying to call a constructor with no arguments and in this file and in surrender typically

54
00:03:33,890 --> 00:03:40,850
file I do not have any constructor with zero barometers with zero arguments so I will get an error saying

55
00:03:40,880 --> 00:03:48,890
like matching constructor not found something like this matching construct the north found or better

56
00:03:48,920 --> 00:03:50,620
can be like something like this.

57
00:03:50,680 --> 00:03:58,060
We cannot initialize S1 cannot initialize S1 Why.

58
00:03:58,190 --> 00:03:59,810
Because the concept is not there.

59
00:04:00,570 --> 00:04:00,810
Okay.

60
00:04:00,820 --> 00:04:03,580
Construct is not there.

61
00:04:03,700 --> 00:04:08,380
So as soon as we create our own goes to bed.

62
00:04:08,380 --> 00:04:10,230
Default Constructor vanishes.

63
00:04:10,240 --> 00:04:11,760
Default Constructor goes away.

64
00:04:12,960 --> 00:04:14,700
Okay now let's see that it

65
00:04:18,220 --> 00:04:18,510
okay.

66
00:04:18,520 --> 00:04:19,830
So why this is running.

67
00:04:19,840 --> 00:04:25,320
Because after doing changes to this file after commenting commenting it out I didn't run this file.

68
00:04:25,330 --> 00:04:34,250
So first we will run this file okay and now run this file so I've got an idea and you can see that it

69
00:04:37,270 --> 00:04:40,680
so no matching function for call student student.

70
00:04:40,690 --> 00:04:44,240
Okay so this is data that we have discussed it cannot find.

71
00:04:44,260 --> 00:04:48,090
It is not able to find the function okay.

72
00:04:50,040 --> 00:04:53,720
Now let's experiment with one more thing.

73
00:04:53,880 --> 00:05:00,300
So what will happen if I like change the parameter name to property name.

74
00:05:00,420 --> 00:05:07,390
So let's make it all No and let's also make it rule number.

75
00:05:07,620 --> 00:05:11,030
So the barometer name is the same as the property roll number.

76
00:05:11,340 --> 00:05:11,670
Okay.

77
00:05:11,700 --> 00:05:15,240
Barometer rule number is same as the property number.

78
00:05:15,240 --> 00:05:16,750
They both have the same name.

79
00:05:16,830 --> 00:05:18,390
So what will happen at this line.

80
00:05:18,390 --> 00:05:21,090
What do think what will happen.

81
00:05:21,210 --> 00:05:26,060
Okay so to understand what will happen we have to go back to the class of scope of variable.

82
00:05:26,190 --> 00:05:33,720
So if you remember scope of a variable let's take an example to understand.

83
00:05:33,740 --> 00:05:41,210
I have this small code and based in if a is there then 5 goes inside the loop create another variable

84
00:05:41,210 --> 00:05:42,560
with the same name.

85
00:05:42,770 --> 00:05:47,580
Let's initialize it with 1 and now let us try to print the value of it.

86
00:05:48,090 --> 00:05:54,780
So according to me output will be when the output of this line will be one by one.

87
00:05:54,830 --> 00:06:01,640
Because at this line would come by level to come by level prior to find the closest a compiler will

88
00:06:01,640 --> 00:06:06,450
try to find the closest a which one is the closest this one is the closest.

89
00:06:06,800 --> 00:06:07,780
Add this line.

90
00:06:07,910 --> 00:06:12,570
I have 2 is I have 2 is this one and this one.

91
00:06:12,650 --> 00:06:17,580
Two ways are visible at this line but come by level try to find the closest one.

92
00:06:17,750 --> 00:06:22,740
Since this is the closest one output will be 1 Okay.

93
00:06:22,820 --> 00:06:25,160
Now see here.

94
00:06:25,550 --> 00:06:34,920
Rule number at this line I have two rule members I have two numbers to rule numbers are visible at this

95
00:06:34,920 --> 00:06:41,460
line first one is perimeter rule number and the second one is property rule number.

96
00:06:41,610 --> 00:06:42,760
So what do we think.

97
00:06:42,760 --> 00:06:49,070
Virtual no compiler consider I think the barometer one way because this is close.

98
00:06:49,110 --> 00:06:53,340
This is close the property rule number is like defined above.

99
00:06:53,340 --> 00:06:53,610
Okay.

100
00:06:53,610 --> 00:06:55,610
Property really embraced defined above.

101
00:06:55,650 --> 00:06:59,690
So this rule number is the closest.

102
00:06:59,710 --> 00:07:02,170
So at this land what will happen for the video flow.

103
00:07:02,170 --> 00:07:03,130
Rule number two.

104
00:07:03,130 --> 00:07:03,610
Rule number.

105
00:07:03,610 --> 00:07:06,070
So basically this line means nothing.

106
00:07:06,070 --> 00:07:10,650
Net result zero net result is zero.

107
00:07:10,650 --> 00:07:15,210
This line is like absolutely doing nothing.

108
00:07:15,210 --> 00:07:16,020
Okay.

109
00:07:16,020 --> 00:07:19,690
So now what I want is already

110
00:07:22,480 --> 00:07:24,010
our aim is very simple.

111
00:07:24,070 --> 00:07:31,610
We want this window number to be barometer rule number and this rule number to be property roll number.

112
00:07:31,630 --> 00:07:33,730
So this is our simple him.

113
00:07:33,850 --> 00:07:36,930
Now how we can achieve it okay.

114
00:07:36,980 --> 00:07:38,140
How can we achieve it.

115
00:07:38,150 --> 00:07:46,290
So there are two methods to achieve this so let us discuss both the methods.

116
00:07:46,290 --> 00:07:50,870
So the first method is make rule number out again.

117
00:07:51,360 --> 00:07:54,000
So it was I'd make it out again.

118
00:07:54,000 --> 00:07:55,390
Make it out again.

119
00:07:55,470 --> 00:08:00,480
So if the names are different if the name of the property and the barometers name are different then

120
00:08:00,480 --> 00:08:01,800
there is no confusion at all.

121
00:08:02,820 --> 00:08:08,180
But now let's come to the second case I want this to be rule number only.

122
00:08:08,190 --> 00:08:13,250
That is I want property name is same as barometers name.

123
00:08:13,320 --> 00:08:21,450
Now how we can achieve our aim so we can achieve our aim with the help of this keyword with the help

124
00:08:21,450 --> 00:08:24,640
of this keyword.

125
00:08:24,660 --> 00:08:27,190
Now what is this keyword.

126
00:08:27,360 --> 00:08:42,440
So this holds the address of the current object holds the address of the current object.

127
00:08:42,730 --> 00:08:50,370
Okay so I think pointer holds memory or this is we have discussed pointers and we know pointers holds

128
00:08:50,380 --> 00:08:51,570
memory addresses.

129
00:08:51,640 --> 00:08:53,910
This is also holding the address.

130
00:08:54,040 --> 00:08:55,090
What does it mean.

131
00:08:55,090 --> 00:08:57,280
It means this is a pointer variable.

132
00:08:57,280 --> 00:08:59,310
This keyword is a pointer variable.

133
00:09:01,400 --> 00:09:03,460
Again this giver is a pointer variable.

134
00:09:03,500 --> 00:09:05,310
Every function of the class.

135
00:09:05,510 --> 00:09:06,950
This is a function.

136
00:09:06,950 --> 00:09:10,750
This is a function constructor is also function but it is a special function.

137
00:09:10,760 --> 00:09:12,070
This is also a function.

138
00:09:12,080 --> 00:09:13,490
This is also a function.

139
00:09:13,490 --> 00:09:15,450
This is also a function.

140
00:09:15,470 --> 00:09:25,130
Okay so every function of the class every function of class have access to this keyword every function.

141
00:09:25,260 --> 00:09:28,440
Have this keyword often on their own of their own.

142
00:09:29,370 --> 00:09:30,260
Okay.

143
00:09:30,600 --> 00:09:34,230
Now let's see uh how can we achieve our aim with the help of this keyboard.

144
00:09:34,770 --> 00:09:44,960
So what this uh what this keyboard used to do is call this one what I will do I will create a student

145
00:09:45,680 --> 00:09:50,640
s with one parameter let certain so this constructor will be called.

146
00:09:50,720 --> 00:09:55,220
Now what happens is I will get h I will get rule number

147
00:09:59,220 --> 00:10:10,090
and name is s and let's say that I dust off this memory block is 700 so this function the student the

148
00:10:10,090 --> 00:10:12,220
student function have discovered.

149
00:10:12,340 --> 00:10:14,730
So the student will contain a student.

150
00:10:14,740 --> 00:10:17,530
This will contain 7 ended okay.

151
00:10:17,740 --> 00:10:20,330
It will contain 700.

152
00:10:20,380 --> 00:10:23,230
Okay now let's deep dive.

153
00:10:23,720 --> 00:10:26,070
How this can be used.

154
00:10:26,380 --> 00:10:34,590
So see when this function is getting called when this concept plays being called what it is doing for

155
00:10:34,600 --> 00:10:40,020
the value of a into each but whose H whose objects h.

156
00:10:40,290 --> 00:10:40,580
Okay.

157
00:10:40,600 --> 00:10:41,710
Whose object's age.

158
00:10:43,480 --> 00:10:49,730
There are multiple objects we have we have collected many objects but whose s1 s2 s3.

159
00:10:49,780 --> 00:10:52,920
Whose whose H I am referring to.

160
00:10:53,110 --> 00:10:58,990
Okay so what happened is whenever you call whenever you call a function of the class you pass the address

161
00:10:58,990 --> 00:11:05,030
of the object to the function let me let let us understand with the help of an example.

162
00:11:05,390 --> 00:11:10,200
Okay so whenever I create an object let's say I created object s with two barometers.

163
00:11:10,250 --> 00:11:11,750
Then it ended.

164
00:11:11,750 --> 00:11:12,230
So what.

165
00:11:12,230 --> 00:11:19,350
This function will do this function will call this construct to construct the number t matching constructor.

166
00:11:20,000 --> 00:11:20,560
Okay.

167
00:11:20,660 --> 00:11:27,060
And let's say this is H and this one is rule number and that and this is 700.

168
00:11:27,110 --> 00:11:34,730
So this student function have discovered now this keyword will contain 700 via 700.

169
00:11:34,850 --> 00:11:41,870
Because then this is when this call is when this call is there it passes 700 it passes the object it

170
00:11:41,870 --> 00:11:45,940
passes the address of the object to 700 is being passed.

171
00:11:45,980 --> 00:11:49,660
So that's way seven hundred will get stored in this point.

172
00:11:50,000 --> 00:11:50,330
No.

173
00:11:50,340 --> 00:11:53,580
When I do so at this line of what I'm doing.

174
00:11:53,690 --> 00:11:58,990
Age equals a put the value of a in each but whose age.

175
00:11:59,090 --> 00:12:03,810
How do I know whose age this age this is.

176
00:12:03,920 --> 00:12:10,230
With the help of this I can data friends that I am talking about S1 I'm talking about as.

177
00:12:10,640 --> 00:12:23,600
So this each so age equal say implicitly this implicitly it is interpreted as this arrow age is a.

178
00:12:23,980 --> 00:12:24,360
Okay.

179
00:12:24,390 --> 00:12:32,060
So this contains seven hundred so seven hundred arrow age is a what is the value of a ten.

180
00:12:32,370 --> 00:12:37,520
Similarly this adorable number is containing hundred okay.

181
00:12:37,560 --> 00:12:39,000
This is same as star.

182
00:12:39,000 --> 00:12:44,120
This dark age is.

183
00:12:45,430 --> 00:12:48,420
Okay so this is how it works.

184
00:12:48,430 --> 00:12:51,870
So whenever I object calls a function it will pass.

185
00:12:51,880 --> 00:12:58,660
It will give them function its address and that address will be stored in that this keyword update function.

186
00:12:58,690 --> 00:13:01,660
Okay so this is how it works.

187
00:13:01,800 --> 00:13:04,710
Okay so now let us know let us see in code.

188
00:13:04,840 --> 00:13:07,380
Let us try to print the value of this.

189
00:13:07,380 --> 00:13:08,370
What this contains.

190
00:13:09,090 --> 00:13:13,010
Okay so which class supply should I.

191
00:13:13,190 --> 00:13:16,110
Okay so let's first comment out everything.

192
00:13:16,220 --> 00:13:18,140
So to avoid this or to avoid confusion

193
00:13:20,850 --> 00:13:26,020
so I am commenting out everything to avoid confusion.

194
00:13:26,070 --> 00:13:28,950
Now let us create some objects.

195
00:13:29,070 --> 00:13:29,920
Okay.

196
00:13:30,270 --> 00:13:32,790
I am creating object as one.

197
00:13:32,790 --> 00:13:37,890
Now let's say uh it contains two barometers age and the rule number.

198
00:13:37,890 --> 00:13:42,360
Now let us branded the best of S1 so c out

199
00:13:45,610 --> 00:13:46,260
C older.

200
00:13:46,270 --> 00:13:49,120
This of S1 how we can get this off.

201
00:13:49,160 --> 00:13:52,410
S1 using the address operator.

202
00:13:52,740 --> 00:14:00,510
So where does off S1 Okay so it will call this one this constructor.

203
00:14:00,510 --> 00:14:05,000
Now this constructor has access to this keyword.

204
00:14:05,310 --> 00:14:10,190
So the address of s so that s of S1 will be stored in this keyboard.

205
00:14:10,260 --> 00:14:12,780
This is a pointer a pointer variable.

206
00:14:12,870 --> 00:14:16,720
So this and and line.

207
00:14:16,730 --> 00:14:20,040
Okay let's send this file.

208
00:14:20,280 --> 00:14:21,930
Now let us also read this file

209
00:14:27,250 --> 00:14:34,970
C and it does of S1 is this one and this also contains the same address okay.

210
00:14:36,910 --> 00:14:40,330
So this will contain this is containing that dose of S1.

211
00:14:40,360 --> 00:14:45,400
Similarly if we will create more objects I am creating one more object.

212
00:14:45,400 --> 00:14:50,670
Let's call it S2 and led to the values R and D and 200

213
00:14:55,090 --> 00:14:58,350
let us spend the Nestle festival

214
00:15:05,450 --> 00:15:06,520
now that doesn't decide

215
00:15:10,770 --> 00:15:20,130
so at this office when this what I've seen and does a festival and that dress off as to is in this this

216
00:15:20,120 --> 00:15:21,240
point are valuable.

217
00:15:21,270 --> 00:15:21,610
OK.

218
00:15:22,800 --> 00:15:25,110
So I hope you understood the point.

219
00:15:25,110 --> 00:15:33,180
Whenever I object calls a function it will pass its address and here in this function that address will

220
00:15:33,180 --> 00:15:34,500
be stored in the variable.

221
00:15:34,530 --> 00:15:43,260
This in the keyword this Okay so age you could say this implicitly is interpreted as this ad age.

222
00:15:43,890 --> 00:15:48,870
But using this is optional using this is optional.

223
00:15:48,870 --> 00:15:49,280
Okay.

224
00:15:49,560 --> 00:15:52,920
Similarly using this is optional for here.

225
00:15:52,940 --> 00:16:00,060
Here also here also using this option you can use this or if you don't want to use then don't use it.

226
00:16:00,180 --> 00:16:08,430
It is optional here but in this case see in this case where the parameter name is same as the property

227
00:16:08,430 --> 00:16:15,730
name head it is mandatory for us to use this operator to use this keyword sorry.

228
00:16:15,780 --> 00:16:17,550
So here it is mandatory

229
00:16:20,300 --> 00:16:21,100
here.

230
00:16:21,170 --> 00:16:26,690
It is mandatory to use this.

231
00:16:26,730 --> 00:16:27,910
Why does mandatory.

232
00:16:28,020 --> 00:16:33,160
Because we have to differentiate between the barometer role member and the property remember but

233
00:16:35,970 --> 00:16:42,480
okay so how we will call this function we will create an object student test with one parameter let's

234
00:16:42,480 --> 00:16:44,990
say 10 so all number is containing 10.

235
00:16:45,120 --> 00:16:49,470
This function will be called and let's say it does is 200.

236
00:16:49,470 --> 00:16:56,590
So I have a memory block which s age and rule number and IDs addresses 200.

237
00:16:56,830 --> 00:17:02,800
So 200 is being passed these two hundred will be stored in this keyword of this function.

238
00:17:02,800 --> 00:17:04,420
So this contains 200.

239
00:17:04,420 --> 00:17:08,200
So what I'm doing here is this at oral Lambert

240
00:17:11,110 --> 00:17:18,470
is better midazolam but so better midazolam but is Ben and this at room.

241
00:17:18,490 --> 00:17:27,090
This this this is containing so I want 200 so 200 adderall but is Ben okay.

242
00:17:27,440 --> 00:17:29,490
So this is how it works.

243
00:17:29,900 --> 00:17:31,480
I hope you haven't destroyed everything.

244
00:17:32,100 --> 00:17:32,380
Okay.

245
00:17:32,390 --> 00:17:34,840
So what we learned in today's session.

246
00:17:35,150 --> 00:17:42,080
So we learned verdict I suppose we learned how they are created automatically how they are called automatically

247
00:17:42,800 --> 00:17:45,810
with every class we get a default constructor for free.

248
00:17:46,370 --> 00:17:50,140
How can we create our own constructor with different parameters.

249
00:17:50,180 --> 00:17:54,760
And at last we see what is this keyword and how to use it.

250
00:17:54,770 --> 00:17:55,290
Okay.

251
00:17:55,340 --> 00:18:01,520
Okay so one more thing that I want to cover is suppose I want to add a constraint.

252
00:18:01,760 --> 00:18:06,330
I want to add a constraint what constraint.

253
00:18:06,560 --> 00:18:17,750
I want every object I I want property age should not contain garbage value property age should not contain

254
00:18:17,840 --> 00:18:18,740
any garbage value.

255
00:18:18,770 --> 00:18:20,510
So how can I achieve this goal.

256
00:18:20,510 --> 00:18:23,570
How can we add this constraint on the object.

257
00:18:23,570 --> 00:18:31,510
So what I will do I will write a bottom or trace constructor just like this one so I will write a better

258
00:18:31,510 --> 00:18:34,660
modest constructor so student.

259
00:18:34,780 --> 00:18:38,680
This better modest concept will take ages and put and this will do.

260
00:18:38,710 --> 00:18:39,890
Age equals a.

261
00:18:40,820 --> 00:18:47,780
So as soon as I created this bad image tries to construct that as soon as I created this paramedic's

262
00:18:47,830 --> 00:18:51,780
constructor default constructor is no longer available.

263
00:18:52,130 --> 00:18:55,410
Default Constructor goes away it is not there.

264
00:18:55,460 --> 00:18:56,030
Okay.

265
00:18:56,030 --> 00:19:02,900
So whenever a person wants to create the object of student class what it will do first of all it will

266
00:19:02,900 --> 00:19:10,370
try to do student s but this will throw at it why I did because there is no matching function no matching

267
00:19:10,370 --> 00:19:12,410
constructor will be dead.

268
00:19:12,520 --> 00:19:13,010
Okay.

269
00:19:13,050 --> 00:19:14,660
There is no matching constructor.

270
00:19:14,660 --> 00:19:20,200
And similarly if he tried to pass two by two arguments let's say 10 and under.

271
00:19:20,330 --> 00:19:23,780
This would also throw us at a because there are no matching constructor.

272
00:19:23,810 --> 00:19:31,920
So ultimately if he wants to create object of student class he has to give one value he has to give

273
00:19:31,920 --> 00:19:39,260
one integer value as parameter and this integer value will call this paramedic's constructor.

274
00:19:39,260 --> 00:19:44,370
And this the age will be set to die days will be said 210.

275
00:19:44,540 --> 00:19:50,990
Okay so in this way my property age cannot contain a garbage value.

276
00:19:50,990 --> 00:19:57,920
Okay so for creating the object of student class the user have to give one digit argument.

277
00:19:58,070 --> 00:20:00,980
Okay so this is how we can add constraints.

278
00:20:01,340 --> 00:20:01,780
Okay.

279
00:20:01,910 --> 00:20:07,320
How we are able to add constraints because as soon as we create any constructor any whether this barometer

280
00:20:07,310 --> 00:20:13,460
used or default or any other type of question that this default constructor is no longer available since

281
00:20:13,460 --> 00:20:15,780
this default constructor is no longer available.

282
00:20:15,890 --> 00:20:18,630
This statement is not valid anymore.

283
00:20:19,640 --> 00:20:23,470
Okay so I hope everything is fine.

284
00:20:23,470 --> 00:20:24,250
So thank you.
