Problem 9.48 (2 points)
Let \(Y_1,\dotsc,Y_n\) denote a random sample from a normal distribution with mean \(\mu\) and variance \(\sigma^2\). In exercise \(9.30\)(b), we showed that if \(\mu\) is known and \(\sigma^2\) is unknown then \(U = \sum_{i=1}^{n}(Y_i - \mu)^2\) is sufficient for \(\sigma^2\). By theorem \(7.2\), \(W = U/\sigma^2\) has a \(\chi^2\)-distribution with \(\nu = n\) degrees of freedom, so \[
E[U] = E[\sigma^2 W] = \sigma^2 E[W] = n\sigma^2.
\] Thus \(\frac{1}{n}U = \frac{1}{n}\sum_{i=1}^{n}(Y_i - \mu)^2\) is an unbiased estimator for \(\sigma^2\). Since we arrived at the sufficient statistic \(U\) via the factorization criterion, \(U\) best summarizes the information about \(\sigma^2\). Therefore \(\frac{1}{n}U\) is a MVUE for \(\sigma^2\).
Problem 9.50 (2 points)
In exercise \(9.32\), \(Y_1,\dotsc,Y_n\) denotes a random sample from a Rayleigh distribution with parameter \(\theta\). Each \(Y_i\) has density function \[
f_Y(y \mid \theta) =
\begin{cases}
\frac{2 y}{\theta} e^{-y^2/\theta}, & y > 0 \\
0, & \textrm{elsewhere}
\end{cases}.
\] The factorization criterion led to the sufficient statistic \(U = \sum_{i=1}^{n} Y_i^2\). Note that if \(w = y^2\) then \[
f_Y(y)\,dy = \frac{2 y}{\theta}e^{-y^2/\theta}\,dy
= \frac{1}{\theta} e^{-w/\theta}\,dw
= f_W(w)\,dw,
\] which shows that \(W=Y^2\) is an exponential random variable with mean \(\theta\), thus \(E[Y^2] = E[W] = \theta\). We therefore have that \(E[U] = E[\sum_{i=1}^{n} Y_i^2] = \sum_{i=1}^{n} \theta = n\theta\), which implies that \(\frac{1}{n}U\) is an unbiased estimator from \(\theta\). Since \(U\) best summarizes the information about \(\theta\), \(\frac{1}{n}U = \frac{1}{n}\sum_{i=1}^{n} Y_i^2\) is a MVUE for \(\theta\).
Problem 9.52 (10 points)
Let \(Y_1, Y_2,\dotsc,Y_n\) denote a random sample from the probability distribution whose density function is \[
f_Y(y \mid \theta) =
\begin{cases}
\theta\, y^{\theta - 1}, & 0 < y < 1 ; \theta > 0 \\
0, & \textrm{elsewhere}
\end{cases}.
\]
An exponential family of distributions has a density that can be written in the form
\[
f(y \mid \theta) =
\begin{cases}
a(\theta)\,b(y)\, \exp\bigl({-c(\theta)\,d(y)}\bigr), & a < y < b \\
0, & \textrm{elsewhere}
\end{cases}.
\] Applying the factorization criterion we showed, in exercise 9.37, that
\(U = \sum_{i=1}^{n} d(Y_i)\) is a sufficient statistic for
\(\theta\).
-
Since \[
\theta\,y^{\theta - 1} = \theta\,\exp\bigl((\theta - 1)\ln y\bigr)
= \theta\,\exp\bigl(-(\theta - 1)(-\ln y)\bigr)
\] we see that \(f_Y(y \mid \theta)\) belongs to an exponential family with \(d(y) = - \ln y\). Therefore, \(U = -\sum_{i=1}^{n}\ln Y_i\) is a sufficient statistic for \(\theta\).
-
Let \(w = - \ln y\), which is equivalent to \(y = e^{-w}\). Then \(dy = - e^{-w}\,dw\) and \[
f_Y(y \mid \theta)\,dy =
\theta\,y^{\theta - 1}\,dy =
\theta\,e^{-(\theta - 1) w}\,e^{-w}\,dw =
\theta\,e^{-\theta\,w}\,dw =
f_W(w \mid \theta)\,dw.
\] Therefore, \(W = -\ln Y\) has an exponential distribution with expected value \(E[W] = 1/\theta\).
-
Let \(t = 2\theta\,w\), then \(dt = 2\theta\,dw\) and \[
f_W(w \mid \theta)\,dw =
\theta\,e^{-\theta\,w}\,dw =
\frac{1}{2}e^{-t/2}\,dt =
f_T(t)\,dt.
\] Thus, \(T = 2\theta\,W\) has a \(\chi^2\)-distribution with \(\nu = 2\) degrees of freedom. Therefore \[
2\theta\,\sum_{i=1}^{n} W_i = \sum_{i=1}^{n} T_i
\] has a \(\chi^2\)-distribution with \(\nu = 2n\) degrees of freedom.
-
Exercise \(4.90\)(d) showed that if \(X\) has a \(\chi^2\)-distribution with \(\nu\) degrees of freedom then \(E\left[X^{-1}\right] = 1/(\nu - 2)\). This implies \[
E\left[
\left(2\theta \sum_{i=1}^{n} W_i\right)^{-1}\right] =
\frac{1}{2(n-1)}.
\]
-
From part (d), we see that \(E\left[ (n - 1) / \sum_{i=1}^{n} W_i\right] = \theta \), making \((n - 1) / \sum_{i=1}^{n} W_i\) an unbiased estimator for \(\theta\). Since \(\sum_{i=1}^{n} W_i = - \sum_{i=1}^{n} \ln Y_i\) best summarizes the information about \(\theta\), \[
\frac{n-1}{\sum_{i=1}^{n} W_i} =
\frac{n-1}{-\sum_{i=1}^{n} \ln Y_i}
\] is a MVUE for \(\theta\).
Problem 9.54 (2 points)
In exercise \(9.43\), the factorization criterion shows that \(Y_{(1)} = \min(Y_1,Y_2,\dotsc,Y_n)\) is a sufficient statistic for \(\theta\), where \(Y_1,Y_2,\dotsc,Y_n\) denotes a random sample taken from a probability distribution whose density function is \[
f_Y(y \mid \theta) =
\begin{cases}
e^{-(y-\theta)}, & y \ge \theta \\
0 , & \textrm{elsewhere}
\end{cases}.
\] Notice that \[
1 - F_Y(y) = P(Y > y) =
\begin{cases}
e^{-(y-\theta)}, & y \ge \theta \\
1 , & \textrm{elsewhere}
\end{cases},
\] which implies that \[
P(Y_{(1)} > y) = [1 - F_Y(y)]^n =
\begin{cases}
e^{-n(y - \theta)}, & y \ge \theta \\
1 , & \textrm{elsewhere}
\end{cases}.
\] Now, let \(X = Y_{(1)} - \theta\). Then \[
P(X > x) = P(Y_{(1)} > x + \theta) =
\begin{cases}
e^{-n x}, & x \ge 0 \\
1, & \textrm{elsewhere}
\end{cases},
\] which shows that \(X\) has an exponential probability distribution with \(\beta = E[X] = 1/n\). Therefore \[
E[Y_{(1)} - 1/n] = E[\theta + X - 1/n] = \theta + 1/n - 1/n = \theta,
\] and since \(Y_{(1)}\) best summarizes the information about \(\theta\) we conclude that \(\hat{\theta} = Y_{(1)} - 1/n\) is a MVUE for \(\theta\).
Problem 9.56 (4 points)
Let
\(Y_1, Y_2, \dotsc, Y_n\) be a random sample from a normal distribution with mean
\(\mu\) and variance
\(\sigma^2 = 1\).
-
From exercise \(9.30\)(a), \(\overline{Y}\) is a sufficient statistic that best summarized the information about \(\mu\). Since \(E\left[\overline{Y}\right] = \mu\), \(\overline{Y}\) is a MVUE for \(\mu\). Now, \[
E\left[\overline{Y}^2\right] = V\left[\overline{Y}\right] + E\left[\overline{Y}\right]^2 =
\frac{1}{n}\sigma^2 + \mu^2 = \frac{1}{n} + \mu^2,
\] which implies that \(E\left[\overline{Y}^2 - \frac{1}{n}\right] = \mu^2\). Therefore, \(\widehat{\mu^2} = \overline{Y}^2 - 1/n\) is an unbiased estimator for \(\mu^2\), and since \(\overline{Y}\) is an MVUE for \(\mu\), \(\overline{Y}^2 - 1/n\) is an MVUE for \(\mu^2\).
-
\[
V\left[\widehat{\mu^2}\right] = V\left[\overline{Y}^2 - 1/n\right] =
V\left[\overline{Y}^2\right] = E\left[\overline{Y}^4\right] - E\left[\overline{Y}\right]^2.
\] Since \(\overline{Y}\) has a normal distribution with \(E[\overline{Y}] = \mu\) and \(V[\overline{Y}] = 1/n\), the moment generating function for \(\overline{Y}\) is \(m(t) = \exp[\mu t + t^2 / (2n)]\). With the aid of software, we calculate the fourth derivative of \(m(t)\) and evaluate at \(t = 0\) to obtain
\[\begin{align*}
E\left[\overline{Y}^4\right] &=
m^{(4)}(0) = \mu^4 + 6\mu^2/n + 3/n^2 \\
\implies
V\left[\widehat{\mu^2}\right] &=
(\mu^4 + 6\mu^2/n + 3/n^2) - (\mu^2 + 1/n)^2 \\
\implies
V\left[\widehat{\mu^2}\right] &= 2 (2 n \mu^2 + 1) / n^2.
\end{align*}\]
Problem 9.57 (6 points)
Let
\(Y_1, Y_2, \dotsc, Y_n\) be independent Bernoulli random variables with
\[
p(y_i \mid p) = p^{y_i} (1 - p)^{1 - y_i}, \quad y_i = 0, 1.
\]
-
Let \[
T =
\begin{cases}
1 , & \textrm{if \(Y_1 = 1\) and \(Y_2 = 0\)} \\
0 , & \textrm{otherwise}
\end{cases}.
\] Then
\[\begin{align*}
E[T] &= 0\cdot P(T=0) + 1\cdot P(T = 1) = P(T = 1) \\
&= P(Y_1 = 1, Y_2 = 0) = P(Y_1 = 1)\cdot P(Y_2 = 0) \\
&= p (1 - p).
\end{align*}\]
Therefore, \(T\) is an unbiased estimator for \(p (1-p)\).
-
Let \(W = \sum_{i=1}^{n} Y_i\). Note that \(Y_1 = 1\) and \(Y_2 = 0\) implies that \(1 \le W \le n-1\). Thus, for \(1 \le w \le n - 1\)
\[\begin{align*}
P(T = 1 \mid W = w) &= \frac{P(T = 1, W = w)}{P(W = w)} \\
&= \frac{P(T = 1, \sum_{i=3}^{n} Y_i = w - 1)}{P(W = w)} \\
&= \frac{P(T = 1)\cdot P(\sum_{i=3}^{n} Y_i = w - 1)}{P(W = w)} \\
&= \frac{p (1 - p)\binom{n-2}{w-1}p^{w - 1}(1 - p)^{n - w - 1}}
{\binom{n}{w}p^{w}(1 - p)^{n-w}} \\
&= \frac{\binom{n-2}{w-1}}{\binom{n}{w}} \\
&= \frac{w (n - w)}{n (n-1)}.
\end{align*}\]
-
Now, for \(1 \le w \le n - 1\),
\[\begin{align*}
E[ T \mid W = w] &= 0\cdot P(T = 0 \mid W = w) + 1\cdot P(T = 1 \mid W =w) \\
&= P(T = 1 \mid W = w) \\
&= \frac{w (n - w)}{n (n - 1)}.
\end{align*}\]
Therefore, \[
E[T \mid W] = \frac{W (n - W)}{n (n - 1)} =
\frac{n}{n - 1} \overline{Y} (1 - \overline{Y}),
\] since \(W = n \overline{Y}\).
In example 9.6 (page 437), the factorization criterion shows that \(W = \sum_{i=1}^{n} Y_i\) is a sufficient statistic for \(p\) that best summarizes the information about \(p\) contained in the sample (i.e. \(W\) is minimal). The Rao-Blackwell theorem implies, therefore, that \[
\frac{n}{n-1} \overline{Y} (1 - \overline{Y})
\] is a MVUE for \(E[T] = p (1 - p)\).
Problem 9.58 (4 points)
-
Let \(Y_1,Y_2,\dotsc,Y_n\) be a random sample from a Bernoulli distribution with \(P(Y = y) = p^{y} (1 - p)^{1 - y}\), for \(y = 0, 1\). Example \(9.6\) shows that \(L(y_1,y_2,\dotsc,y_n \mid p) = p^{\sum_{i=1}^{n}y_i} (1 - p)^{n - \sum_{i=1}^{n}y_i}\). Therefore,
\[\begin{align*}
\frac{L(x_1,x_2,\dotsc,x_n \mid p)}{L(y_1,y_2,\dotsc,y_n \mid p)}
&= p^{\sum_{i=1}^{n}x_i - \sum_{i=1}^{n}y_i} (1 - p)^{\sum_{i=1}^{n}y_i - \sum_{i=1}^{n}x_i} \\
&= \left(\frac{p}{1 - p}\right)^{\sum_{i=1}^{n}x_i - \sum_{i=1}^{n}y_i}.
\end{align*}\]
Differentiation with respect to \(p\) shows that this function is independent of \(p\) if and only if the exponent, \(\sum_{i=1}^{n}x_i - \sum_{i=1}^{n}y_i\), is zero.
Letting \(g(x_1,x_2,\dotsc,x_n) = \sum_{i=1}^{n} x_i\), the Lehmann-Scheffé method shows that \[
U = g(Y_1,Y_2,\dotsc,Y_n) = \sum_{i=1}^{n} Y_i
\] is a minimal sufficient statistic for \(p\). This is the same statistic we found in example \(9.6\).
-
Let \(Y_1,\dotsc,Y_n\) be a random sample from the Weibull density in example \(9.7\). Then \[
L(y_1,\dotsc,y_n \mid \theta) = \left(\frac{2}{\theta}\right)^{n}
\exp\left(-\frac{1}{\theta}\sum_{i=1}^{n} y_i^2\right) \prod_{i=1}^{n}y_i.
\] Therefore,
\[\begin{align*}
\frac{L(x_1,\dotsc,x_n \mid \theta)}{L(y_1,\dotsc,y_n \mid \theta)}
&= \frac{\exp\left(-\frac{1}{\theta}\sum_{i=1}^{n} x_i^2\right)}
{\exp\left(-\frac{1}{\theta}\sum_{i=1}^{n} y_i^2\right)}
\cdot
\frac{\prod_{i=1}^{n}x_i}{\prod_{i=1}^{n}y_i} \\
&=
\left(\frac{\prod_{i=1}^{n}x_i}{\prod_{i=1}^{n}y_i}\right)
\exp\left[-\frac{1}{\theta}
\left(\sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} y_i^2\right)\right].
\end{align*}\]
Differentiation with respect to \(\theta\) shows that the ratio is independent of \(\theta\) if and only if \(\sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} y_i^2 = 0\).
Letting \(g(x_1,\dotsc,x_n) = \sum_{i=1}^{n} x_i^2\), the Lehmann-Scheffé method shows that \[
U = g(Y_1,\dotsc,Y_n) = \sum_{i=1}^{n} Y_i^2
\] is a minimal sufficient statistic for \(\theta\).
Problem 9.59 (2 points)
Let \(Y_1,\dotsc,Y_n\) denote a sample from a normal population with mean \(\mu\) and variance \(\sigma^2\). Example \(9.8\) (page \(438\)) shows \[
L(y_1,\dotsc,y_n \mid \mu, \sigma^2) =
\left(2\pi\sigma^2\right)^{-n/2}\cdot
\exp\left(-\frac{n \mu^2}{2\sigma^2}\right)\cdot
\exp\left[-\frac{1}{2\sigma^2}
\left(\sum_{i=1}^{n} y_i^2 - 2\mu\sum_{i=1}^{n} y_i\right)
\right],
\] which implies that \[
\frac{L(x_1,\dotsc,x_n \mid \mu, \sigma^2)}{L(y_1,\dotsc,y_n \mid \mu, \sigma^2)} =
\exp\left[
-\frac{1}{2\sigma^2}\left(\sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} y_i^2\right)
\right]\cdot
\exp\left[
\frac{\mu}{\sigma^2}\left(\sum_{i=1}^{n} x_i - \sum_{i=1}^{n} y_i\right)
\right].
\] A calculation shows that the partial derivatives of this ratio with respect to \(\mu\) and \(\sigma^2\) are both zero if and only if \(\sum_{i=1}^{n} x_i - \sum_{i=1}^{n} y_i = 0\) and \(\sum_{i=1}^{n} x_i^2 - \sum_{i=1}^{n} y_i^2 = 0\). Hence, we see that the ratio is independent of \(\mu\) and \(\sigma^2\) if and only if \(\sum_{i=1}^{n} x_i = \sum_{i=1}^{n} y_i\) and \(\sum_{i=1}^{n} x_i^2 = \sum_{i=1}^{n} y_i^2\), therefore the Lehmann-Scheffé methods shows that \[
\sum_{i=1}^{n} Y_i,\quad \sum_{i=1}^{n} Y_i^2
\] are jointly a minimal sufficient statistic for \(\mu\) and \(\theta\).
Problem 9.60 (2 points)
Suppose that
\(U\) is a minimal sufficient statistic for
\(\theta\), and
\(g_1(U)\) and
\(g_2(U)\) are both unbiased estimators for
\(\theta\). Suppose that
\(f_U(u \mid \theta)\) is a complete family of density functions, and suppose that
\(g_1(u)\) and
\(g_2(u)\) are continuous. Then
\((g_1 - g_2)(u)\) is continuous, and for all
\(\theta\)
\[\begin{align*}
E[(g_1 - g_2)(U)] &=
E[g_1(U) - g_2(U)] \\
&= E[g_1(U)] - E[g_2(U)] \\
&= \theta - \theta \\
&= 0.
\end{align*}\]
Now, completeness implies \((g_1 - g_2)(u) = 0\) for all \(u\), which implies that \(g_1(u) = g_2(u)\) for all \(u\) and therefore that \(g_1(U) = g_2(U)\). Since \(U\) is minimal, the Rao-Blackwell theorem implies that \(g_1(U)\) and \(g_2(U)\) are MVUE. So the additional property of completeness implies that the MVUE is unique.
LS0tCnRpdGxlOiAiU29sdXRpb25zIHRvIEhvbWV3b3JrIEFzc2lnbm1lbnQgOSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyNQcm9ibGVtIDkuNDggKDIgcG9pbnRzKQpMZXQgXChZXzEsXGRvdHNjLFlfblwpIGRlbm90ZSBhIHJhbmRvbSBzYW1wbGUgZnJvbSBhIG5vcm1hbCBkaXN0cmlidXRpb24Kd2l0aCBtZWFuIFwoXG11XCkgYW5kIHZhcmlhbmNlIFwoXHNpZ21hXjJcKS4gSW4gZXhlcmNpc2UgXCg5LjMwXCkoYiksCndlIHNob3dlZCB0aGF0IGlmIFwoXG11XCkgaXMga25vd24gYW5kIFwoXHNpZ21hXjJcKSBpcyB1bmtub3duIHRoZW4KXChVID0gXHN1bV97aT0xfV57bn0oWV9pIC0gXG11KV4yXCkgaXMgc3VmZmljaWVudCBmb3IgXChcc2lnbWFeMlwpLgpCeSB0aGVvcmVtIFwoNy4yXCksIFwoVyA9IFUvXHNpZ21hXjJcKSBoYXMgYSBcKFxjaGleMlwpLWRpc3RyaWJ1dGlvbgp3aXRoIFwoXG51ID0gblwpIGRlZ3JlZXMgb2YgZnJlZWRvbSwgc28KXFsKRVtVXSA9IEVbXHNpZ21hXjIgV10gPSBcc2lnbWFeMiBFW1ddID0gblxzaWdtYV4yLgpcXQpUaHVzIFwoXGZyYWN7MX17bn1VID0gXGZyYWN7MX17bn1cc3VtX3tpPTF9XntufShZX2kgLSBcbXUpXjJcKSBpcyBhbgp1bmJpYXNlZCBlc3RpbWF0b3IgZm9yIFwoXHNpZ21hXjJcKS4gU2luY2Ugd2UgYXJyaXZlZCBhdCB0aGUgc3VmZmljaWVudCBzdGF0aXN0aWMgXChVXCkKdmlhIHRoZSBmYWN0b3JpemF0aW9uIGNyaXRlcmlvbiwgXChVXCkgYmVzdCBzdW1tYXJpemVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dApcKFxzaWdtYV4yXCkuIFRoZXJlZm9yZSBcKFxmcmFjezF9e259VVwpIGlzIGEgTVZVRSBmb3IgXChcc2lnbWFeMlwpLgoKIyNQcm9ibGVtIDkuNTAgKDIgcG9pbnRzKQpJbiBleGVyY2lzZSBcKDkuMzJcKSwgXChZXzEsXGRvdHNjLFlfblwpIGRlbm90ZXMgYSByYW5kb20gc2FtcGxlIGZyb20gYQpSYXlsZWlnaCBkaXN0cmlidXRpb24gd2l0aCBwYXJhbWV0ZXIgXChcdGhldGFcKS4gRWFjaCBcKFlfaVwpIGhhcwpkZW5zaXR5IGZ1bmN0aW9uClxbCmZfWSh5IFxtaWQgXHRoZXRhKSA9ClxiZWdpbntjYXNlc30KXGZyYWN7MiB5fXtcdGhldGF9IGVeey15XjIvXHRoZXRhfSwgJiB5ID4gMCBcXAowLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfS4KXF0KVGhlIGZhY3Rvcml6YXRpb24gY3JpdGVyaW9uIGxlZCB0byB0aGUgc3VmZmljaWVudCBzdGF0aXN0aWMKXChVID0gXHN1bV97aT0xfV57bn0gWV9pXjJcKS4gTm90ZSB0aGF0IGlmIFwodyA9IHleMlwpIHRoZW4KXFsKZl9ZKHkpXCxkeSA9IFxmcmFjezIgeX17XHRoZXRhfWVeey15XjIvXHRoZXRhfVwsZHkKPSBcZnJhY3sxfXtcdGhldGF9IGVeey13L1x0aGV0YX1cLGR3Cj0gZl9XKHcpXCxkdywKXF0Kd2hpY2ggc2hvd3MgdGhhdCBcKFc9WV4yXCkgaXMgYW4gZXhwb25lbnRpYWwgcmFuZG9tIHZhcmlhYmxlCndpdGggbWVhbiBcKFx0aGV0YVwpLCB0aHVzIFwoRVtZXjJdID0gRVtXXSA9IFx0aGV0YVwpLgpXZSB0aGVyZWZvcmUgaGF2ZSB0aGF0IApcKEVbVV0gPSBFW1xzdW1fe2k9MX1ee259IFlfaV4yXSA9IFxzdW1fe2k9MX1ee259IFx0aGV0YSA9IG5cdGhldGFcKSwKd2hpY2ggaW1wbGllcyB0aGF0IFwoXGZyYWN7MX17bn1VXCkgaXMgYW4gdW5iaWFzZWQgZXN0aW1hdG9yIGZyb20gClwoXHRoZXRhXCkuIFNpbmNlIFwoVVwpIGJlc3Qgc3VtbWFyaXplcyB0aGUgaW5mb3JtYXRpb24gYWJvdXQKXChcdGhldGFcKSwgClwoXGZyYWN7MX17bn1VID0gXGZyYWN7MX17bn1cc3VtX3tpPTF9XntufSBZX2leMlwpIGlzIGEgTVZVRSBmb3IgXChcdGhldGFcKS4KCiMjUHJvYmxlbSA5LjUyICgxMCBwb2ludHMpCkxldCBcKFlfMSwgWV8yLFxkb3RzYyxZX25cKSBkZW5vdGUgYSByYW5kb20gc2FtcGxlIGZyb20gdGhlIHByb2JhYmlsaXR5CmRpc3RyaWJ1dGlvbiB3aG9zZSBkZW5zaXR5IGZ1bmN0aW9uIGlzClxbCmZfWSh5IFxtaWQgXHRoZXRhKSA9ClxiZWdpbntjYXNlc30KXHRoZXRhXCwgeV57XHRoZXRhIC0gMX0sICYgMCA8IHkgPCAxIDsgXHRoZXRhID4gMCBcXAowLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfS4KXF0KCkFuIGV4cG9uZW50aWFsIGZhbWlseSBvZiBkaXN0cmlidXRpb25zIGhhcyBhIGRlbnNpdHkgdGhhdCBjYW4gYmUgd3JpdHRlbgppbiB0aGUgZm9ybQpcWwpmKHkgXG1pZCBcdGhldGEpID0KXGJlZ2lue2Nhc2VzfQphKFx0aGV0YSlcLGIoeSlcLCBcZXhwXGJpZ2woey1jKFx0aGV0YSlcLGQoeSl9XGJpZ3IpLCAmIGEgPCB5IDwgYiBcXAowLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfS4KXF0KQXBwbHlpbmcgdGhlIGZhY3Rvcml6YXRpb24gY3JpdGVyaW9uIHdlIHNob3dlZCwgaW4gZXhlcmNpc2UgOS4zNywKdGhhdCBcKFUgPSBcc3VtX3tpPTF9XntufSBkKFlfaSlcKSBpcyBhIHN1ZmZpY2llbnQgc3RhdGlzdGljIGZvcgpcKFx0aGV0YVwpLgo8b2wgdHlwZT0iYSI+CjxsaT4KU2luY2UgClxbClx0aGV0YVwseV57XHRoZXRhIC0gMX0gPSBcdGhldGFcLFxleHBcYmlnbCgoXHRoZXRhIC0gMSlcbG4geVxiaWdyKSAKPSBcdGhldGFcLFxleHBcYmlnbCgtKFx0aGV0YSAtIDEpKC1cbG4geSlcYmlncikKXF0Kd2Ugc2VlIHRoYXQgXChmX1koeSBcbWlkIFx0aGV0YSlcKSBiZWxvbmdzIHRvIGFuIGV4cG9uZW50aWFsIGZhbWlseQp3aXRoIFwoZCh5KSA9IC0gXGxuIHlcKS4gVGhlcmVmb3JlLCBcKFUgPSAtXHN1bV97aT0xfV57bn1cbG4gWV9pXCkgaXMgCmEgc3VmZmljaWVudCBzdGF0aXN0aWMgZm9yIFwoXHRoZXRhXCkuCjwvbGk+CjxsaT4KTGV0IFwodyA9IC0gXGxuIHlcKSwgd2hpY2ggaXMgZXF1aXZhbGVudCB0byBcKHkgPSBlXnstd31cKS4gVGhlbgpcKGR5ID0gLSBlXnstd31cLGR3XCkgYW5kClxbCmZfWSh5IFxtaWQgXHRoZXRhKVwsZHkgPQpcdGhldGFcLHlee1x0aGV0YSAtIDF9XCxkeSA9Clx0aGV0YVwsZV57LShcdGhldGEgLSAxKSB3fVwsZV57LXd9XCxkdyA9Clx0aGV0YVwsZV57LVx0aGV0YVwsd31cLGR3ID0KZl9XKHcgXG1pZCBcdGhldGEpXCxkdy4KXF0KVGhlcmVmb3JlLCBcKFcgPSAtXGxuIFlcKSBoYXMgYW4gZXhwb25lbnRpYWwgZGlzdHJpYnV0aW9uIHdpdGgKZXhwZWN0ZWQgdmFsdWUgXChFW1ddID0gMS9cdGhldGFcKS4KPC9saT4KPGxpPgpMZXQgXCh0ID0gMlx0aGV0YVwsd1wpLCB0aGVuIFwoZHQgPSAyXHRoZXRhXCxkd1wpIGFuZApcWwpmX1codyBcbWlkIFx0aGV0YSlcLGR3ID0KXHRoZXRhXCxlXnstXHRoZXRhXCx3fVwsZHcgPQpcZnJhY3sxfXsyfWVeey10LzJ9XCxkdCA9CmZfVCh0KVwsZHQuClxdClRodXMsIFwoVCA9IDJcdGhldGFcLFdcKSBoYXMgYSBcKFxjaGleMlwpLWRpc3RyaWJ1dGlvbiB3aXRoIFwoXG51ID0gMlwpCmRlZ3JlZXMgb2YgZnJlZWRvbS4gVGhlcmVmb3JlClxbCjJcdGhldGFcLFxzdW1fe2k9MX1ee259IFdfaSA9IFxzdW1fe2k9MX1ee259IFRfaQpcXQpoYXMgYSBcKFxjaGleMlwpLWRpc3RyaWJ1dGlvbiB3aXRoIFwoXG51ID0gMm5cKSBkZWdyZWVzIG9mIGZyZWVkb20uCjwvbGk+CjxsaT4KRXhlcmNpc2UgXCg0LjkwXCkoZCkgc2hvd2VkIHRoYXQgaWYgXChYXCkgaGFzIGEgXChcY2hpXjJcKS1kaXN0cmlidXRpb24Kd2l0aCBcKFxudVwpIGRlZ3JlZXMgb2YgZnJlZWRvbQp0aGVuIFwoRVxsZWZ0W1heey0xfVxyaWdodF0gPSAxLyhcbnUgLSAyKVwpLiBUaGlzIGltcGxpZXMKXFsKRVxsZWZ0WwpcbGVmdCgyXHRoZXRhIFxzdW1fe2k9MX1ee259IFdfaVxyaWdodCleey0xfVxyaWdodF0gPQpcZnJhY3sxfXsyKG4tMSl9LgpcXQo8L2xpPgo8bGk+CkZyb20gcGFydCAoZCksIHdlIHNlZSB0aGF0IApcKEVcbGVmdFsKKG4gLSAxKSAvIFxzdW1fe2k9MX1ee259IFdfaVxyaWdodF0gPQpcdGhldGEKXCksIG1ha2luZyBcKChuIC0gMSkgLyBcc3VtX3tpPTF9XntufSBXX2lcKSBhbiB1bmJpYXNlZCBlc3RpbWF0b3IKZm9yIFwoXHRoZXRhXCkuIFNpbmNlIFwoXHN1bV97aT0xfV57bn0gV19pID0gLSBcc3VtX3tpPTF9XntufSBcbG4gWV9pXCkKYmVzdCBzdW1tYXJpemVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBcKFx0aGV0YVwpLApcWwpcZnJhY3tuLTF9e1xzdW1fe2k9MX1ee259IFdfaX0gPQpcZnJhY3tuLTF9ey1cc3VtX3tpPTF9XntufSBcbG4gWV9pfQpcXQppcyBhIE1WVUUgZm9yIFwoXHRoZXRhXCkuCjwvbGk+Cjwvb2w+CgojI1Byb2JsZW0gOS41NCAoMiBwb2ludHMpCkluIGV4ZXJjaXNlIFwoOS40M1wpLCB0aGUgZmFjdG9yaXphdGlvbiBjcml0ZXJpb24gc2hvd3MgdGhhdApcKFlfeygxKX0gPSBcbWluKFlfMSxZXzIsXGRvdHNjLFlfbilcKSBpcyBhIHN1ZmZpY2llbnQgc3RhdGlzdGljIApmb3IgXChcdGhldGFcKSwgd2hlcmUgXChZXzEsWV8yLFxkb3RzYyxZX25cKSBkZW5vdGVzIGEgcmFuZG9tIHNhbXBsZQp0YWtlbiBmcm9tIGEgcHJvYmFiaWxpdHkgZGlzdHJpYnV0aW9uIHdob3NlIGRlbnNpdHkgZnVuY3Rpb24gaXMKXFsKZl9ZKHkgXG1pZCBcdGhldGEpID0KXGJlZ2lue2Nhc2VzfQplXnstKHktXHRoZXRhKX0sICYgeSBcZ2UgXHRoZXRhIFxcCjAgLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfS4KXF0KTm90aWNlIHRoYXQKXFsKMSAtIEZfWSh5KSA9IFAoWSA+IHkpID0KXGJlZ2lue2Nhc2VzfQplXnstKHktXHRoZXRhKX0sICYgeSBcZ2UgXHRoZXRhIFxcCjEgLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfSwKXF0Kd2hpY2ggaW1wbGllcyB0aGF0ClxbClAoWV97KDEpfSA+IHkpID0gWzEgLSBGX1koeSldXm4gPQpcYmVnaW57Y2FzZXN9CmVeey1uKHkgLSBcdGhldGEpfSwgJiB5IFxnZSBcdGhldGEgXFwKMSAsICYgXHRleHRybXtlbHNld2hlcmV9ClxlbmR7Y2FzZXN9LgpcXQpOb3csIGxldCBcKFggPSBZX3soMSl9IC0gXHRoZXRhXCkuIFRoZW4KXFsKUChYID4geCkgPSBQKFlfeygxKX0gPiB4ICsgXHRoZXRhKSA9ClxiZWdpbntjYXNlc30KZV57LW4geH0sICYgeCBcZ2UgMCBcXAoxLCAmIFx0ZXh0cm17ZWxzZXdoZXJlfQpcZW5ke2Nhc2VzfSwKXF0Kd2hpY2ggc2hvd3MgdGhhdCBcKFhcKSBoYXMgYW4gZXhwb25lbnRpYWwgcHJvYmFiaWxpdHkgZGlzdHJpYnV0aW9uCndpdGggXChcYmV0YSA9IEVbWF0gPSAxL25cKS4gVGhlcmVmb3JlClxbCkVbWV97KDEpfSAtIDEvbl0gPSBFW1x0aGV0YSArIFggLSAxL25dID0gXHRoZXRhICsgMS9uIC0gMS9uID0gXHRoZXRhLApcXQphbmQgc2luY2UgXChZX3soMSl9XCkgYmVzdCBzdW1tYXJpemVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBcKFx0aGV0YVwpCndlIGNvbmNsdWRlIHRoYXQgXChcaGF0e1x0aGV0YX0gPSBZX3soMSl9IC0gMS9uXCkgaXMgYSBNVlVFIGZvciBcKFx0aGV0YVwpLgoKIyNQcm9ibGVtIDkuNTYgKDQgcG9pbnRzKQpMZXQgXChZXzEsIFlfMiwgXGRvdHNjLCBZX25cKSBiZSBhIHJhbmRvbSBzYW1wbGUgZnJvbSBhIG5vcm1hbCBkaXN0cmlidXRpb24gd2l0aAptZWFuIFwoXG11XCkgYW5kIHZhcmlhbmNlIFwoXHNpZ21hXjIgPSAxXCkuIAo8b2wgdHlwZT0iYSI+CjxsaT4KRnJvbSBleGVyY2lzZSBcKDkuMzBcKShhKSwgXChcb3ZlcmxpbmV7WX1cKSBpcyBhIHN1ZmZpY2llbnQgc3RhdGlzdGljIHRoYXQKYmVzdCBzdW1tYXJpemVkIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBcKFxtdVwpLgpTaW5jZSBcKEVcbGVmdFtcb3ZlcmxpbmV7WX1ccmlnaHRdID0gXG11XCksIFwoXG92ZXJsaW5le1l9XCkgaXMgYSBNVlVFIGZvciBcKFxtdVwpLgpOb3csIApcWwpFXGxlZnRbXG92ZXJsaW5le1l9XjJccmlnaHRdID0gVlxsZWZ0W1xvdmVybGluZXtZfVxyaWdodF0gKyBFXGxlZnRbXG92ZXJsaW5le1l9XHJpZ2h0XV4yID0gClxmcmFjezF9e259XHNpZ21hXjIgKyBcbXVeMiA9IFxmcmFjezF9e259ICsgXG11XjIsClxdCndoaWNoIGltcGxpZXMgdGhhdCBcKEVcbGVmdFtcb3ZlcmxpbmV7WX1eMiAtIFxmcmFjezF9e259XHJpZ2h0XSA9IFxtdV4yXCkuClRoZXJlZm9yZSwgXChcd2lkZWhhdHtcbXVeMn0gPSBcb3ZlcmxpbmV7WX1eMiAtIDEvblwpIGlzIGFuIHVuYmlhc2VkCmVzdGltYXRvciBmb3IgXChcbXVeMlwpLCBhbmQgc2luY2UgXChcb3ZlcmxpbmV7WX1cKSBpcyBhbiBNVlVFIGZvcgpcKFxtdVwpLCBcKFxvdmVybGluZXtZfV4yIC0gMS9uXCkgaXMgYW4gTVZVRSBmb3IgXChcbXVeMlwpLgo8L2xpPgo8bGk+ClxbClZcbGVmdFtcd2lkZWhhdHtcbXVeMn1ccmlnaHRdID0gVlxsZWZ0W1xvdmVybGluZXtZfV4yIC0gMS9uXHJpZ2h0XSA9ClZcbGVmdFtcb3ZlcmxpbmV7WX1eMlxyaWdodF0gPSBFXGxlZnRbXG92ZXJsaW5le1l9XjRccmlnaHRdIC0gRVxsZWZ0W1xvdmVybGluZXtZfVxyaWdodF1eMi4KXF0KU2luY2UgXChcb3ZlcmxpbmV7WX1cKSBoYXMgYSBub3JtYWwgZGlzdHJpYnV0aW9uIHdpdGggXChFW1xvdmVybGluZXtZfV0gPSBcbXVcKSBhbmQKXChWW1xvdmVybGluZXtZfV0gPSAxL25cKSwgdGhlIG1vbWVudCBnZW5lcmF0aW5nIGZ1bmN0aW9uIGZvciBcKFxvdmVybGluZXtZfVwpIGlzClwobSh0KSA9IFxleHBbXG11IHQgKyB0XjIgLyAoMm4pXVwpLiBXaXRoIHRoZSBhaWQgb2Ygc29mdHdhcmUsIHdlIGNhbGN1bGF0ZSB0aGUgCmZvdXJ0aCBkZXJpdmF0aXZlIG9mIFwobSh0KVwpIGFuZCBldmFsdWF0ZSBhdCBcKHQgPSAwXCkgdG8gb2J0YWluClxiZWdpbnthbGlnbip9CkVcbGVmdFtcb3ZlcmxpbmV7WX1eNFxyaWdodF0gJj0KbV57KDQpfSgwKSA9IFxtdV40ICsgNlxtdV4yL24gKyAzL25eMiBcXApcaW1wbGllcyAKVlxsZWZ0W1x3aWRlaGF0e1xtdV4yfVxyaWdodF0gJj0KKFxtdV40ICsgNlxtdV4yL24gKyAzL25eMikgLSAoXG11XjIgKyAxL24pXjIgXFwKXGltcGxpZXMKVlxsZWZ0W1x3aWRlaGF0e1xtdV4yfVxyaWdodF0gJj0gMiAoMiBuIFxtdV4yICsgMSkgLyBuXjIuClxlbmR7YWxpZ24qfQo8L2xpPgo8L29sPgoKIyNQcm9ibGVtIDkuNTcgKDYgcG9pbnRzKQpMZXQgXChZXzEsIFlfMiwgXGRvdHNjLCBZX25cKSBiZSBpbmRlcGVuZGVudCBCZXJub3VsbGkgcmFuZG9tIHZhcmlhYmxlcyB3aXRoClxbCnAoeV9pIFxtaWQgcCkgPSBwXnt5X2l9ICgxIC0gcCleezEgLSB5X2l9LCBccXVhZCB5X2kgPSAwLCAxLgpcXQo8b2wgdHlwZT0iYSI+CjxsaT4KTGV0ClxbClQgPQpcYmVnaW57Y2FzZXN9CjEgLCAmIFx0ZXh0cm17aWYgXChZXzEgPSAxXCkgYW5kIFwoWV8yID0gMFwpfSBcXAowICwgJiBcdGV4dHJte290aGVyd2lzZX0KXGVuZHtjYXNlc30uClxdClRoZW4KXGJlZ2lue2FsaWduKn0KRVtUXSAmPSAwXGNkb3QgUChUPTApICsgMVxjZG90IFAoVCA9IDEpID0gUChUID0gMSkgXFwKJj0gUChZXzEgPSAxLCBZXzIgPSAwKSA9IFAoWV8xID0gMSlcY2RvdCBQKFlfMiA9IDApIFxcCiY9IHAgKDEgLSBwKS4KXGVuZHthbGlnbip9ClRoZXJlZm9yZSwgXChUXCkgaXMgYW4gdW5iaWFzZWQgZXN0aW1hdG9yIGZvciBcKHAgKDEtcClcKS4KPC9saT4KPGxpPgpMZXQgXChXID0gXHN1bV97aT0xfV57bn0gWV9pXCkuICBOb3RlIHRoYXQgXChZXzEgPSAxXCkgYW5kIFwoWV8yID0gMFwpIGltcGxpZXMgdGhhdCAKXCgxIFxsZSBXIFxsZSBuLTFcKS4gVGh1cywgZm9yIFwoMSBcbGUgdyBcbGUgbiAtIDFcKQpcYmVnaW57YWxpZ24qfQpQKFQgPSAxIFxtaWQgVyA9IHcpICY9IFxmcmFje1AoVCA9IDEsIFcgPSB3KX17UChXID0gdyl9IFxcCiY9IFxmcmFje1AoVCA9IDEsIFxzdW1fe2k9M31ee259IFlfaSA9IHcgLSAxKX17UChXID0gdyl9IFxcCiY9IFxmcmFje1AoVCA9IDEpXGNkb3QgUChcc3VtX3tpPTN9XntufSBZX2kgPSB3IC0gMSl9e1AoVyA9IHcpfSBcXAomPSBcZnJhY3twICgxIC0gcClcYmlub217bi0yfXt3LTF9cF57dyAtIDF9KDEgLSBwKV57biAtIHcgLSAxfX0Ke1xiaW5vbXtufXt3fXBee3d9KDEgLSBwKV57bi13fX0gXFwKJj0gXGZyYWN7XGJpbm9te24tMn17dy0xfX17XGJpbm9te259e3d9fSBcXAomPSBcZnJhY3t3IChuIC0gdyl9e24gKG4tMSl9LgpcZW5ke2FsaWduKn0KPC9saT4KPGxpPgpOb3csIGZvciBcKDEgXGxlIHcgXGxlIG4gLSAxXCksIApcYmVnaW57YWxpZ24qfQpFWyBUIFxtaWQgVyA9IHddICY9IDBcY2RvdCBQKFQgPSAwIFxtaWQgVyA9IHcpICsgMVxjZG90IFAoVCA9IDEgXG1pZCBXID13KSBcXAomPSBQKFQgPSAxIFxtaWQgVyA9IHcpIFxcCiY9IFxmcmFje3cgKG4gLSB3KX17biAobiAtIDEpfS4KXGVuZHthbGlnbip9ClRoZXJlZm9yZSwKXFsKRVtUIFxtaWQgV10gPSBcZnJhY3tXIChuIC0gVyl9e24gKG4gLSAxKX0gPQpcZnJhY3tufXtuIC0gMX0gXG92ZXJsaW5le1l9ICgxIC0gXG92ZXJsaW5le1l9KSwKXF0Kc2luY2UgXChXID0gbiBcb3ZlcmxpbmV7WX1cKS4KCkluIGV4YW1wbGUgOS42IChwYWdlIDQzNyksIHRoZSBmYWN0b3JpemF0aW9uIGNyaXRlcmlvbiBzaG93cyB0aGF0ClwoVyA9IFxzdW1fe2k9MX1ee259IFlfaVwpIGlzIGEgc3VmZmljaWVudCBzdGF0aXN0aWMgZm9yIFwocFwpIHRoYXQKYmVzdCBzdW1tYXJpemVzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBcKHBcKSBjb250YWluZWQgaW4gdGhlIHNhbXBsZQooaS5lLiBcKFdcKSBpcyBtaW5pbWFsKS4gVGhlIFJhby1CbGFja3dlbGwgdGhlb3JlbSBpbXBsaWVzLCB0aGVyZWZvcmUsIHRoYXQKXFsKXGZyYWN7bn17bi0xfSBcb3ZlcmxpbmV7WX0gKDEgLSBcb3ZlcmxpbmV7WX0pClxdCmlzIGEgTVZVRSBmb3IgXChFW1RdID0gcCAoMSAtIHApXCkuCjwvbGk+Cjwvb2w+CgojI1Byb2JsZW0gOS41OCAoNCBwb2ludHMpCjxvbCB0eXBlPSJhIj4KPGxpPgpMZXQgXChZXzEsWV8yLFxkb3RzYyxZX25cKSBiZSBhIHJhbmRvbSBzYW1wbGUgZnJvbSBhIEJlcm5vdWxsaQpkaXN0cmlidXRpb24gd2l0aCBcKFAoWSA9IHkpID0gcF57eX0gKDEgLSBwKV57MSAtIHl9XCksIGZvciBcKHkgPSAwLCAxXCkuIEV4YW1wbGUgXCg5LjZcKSBzaG93cyB0aGF0ClwoTCh5XzEseV8yLFxkb3RzYyx5X24gXG1pZCBwKSA9IHBee1xzdW1fe2k9MX1ee259eV9pfSAoMSAtIHApXntuIC0gXHN1bV97aT0xfV57bn15X2l9XCkuIFRoZXJlZm9yZSwKXGJlZ2lue2FsaWduKn0KXGZyYWN7TCh4XzEseF8yLFxkb3RzYyx4X24gXG1pZCBwKX17TCh5XzEseV8yLFxkb3RzYyx5X24gXG1pZCBwKX0KJj0gcF57XHN1bV97aT0xfV57bn14X2kgLSBcc3VtX3tpPTF9XntufXlfaX0gKDEgLSBwKV57XHN1bV97aT0xfV57bn15X2kgLSBcc3VtX3tpPTF9XntufXhfaX0gXFwKJj0gXGxlZnQoXGZyYWN7cH17MSAtIHB9XHJpZ2h0KV57XHN1bV97aT0xfV57bn14X2kgLSBcc3VtX3tpPTF9XntufXlfaX0uClxlbmR7YWxpZ24qfQpEaWZmZXJlbnRpYXRpb24gd2l0aCByZXNwZWN0IHRvIFwocFwpIHNob3dzIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBpbmRlcGVuZGVudCBvZiBcKHBcKSBpZiBhbmQgb25seSBpZiB0aGUgZXhwb25lbnQsClwoXHN1bV97aT0xfV57bn14X2kgLSBcc3VtX3tpPTF9XntufXlfaVwpLCBpcyB6ZXJvLgoKTGV0dGluZyBcKGcoeF8xLHhfMixcZG90c2MseF9uKSA9IFxzdW1fe2k9MX1ee259IHhfaVwpLCB0aGUgTGVobWFubi1TY2hlZmYmZWFjdXRlOyBtZXRob2QKc2hvd3MgdGhhdApcWwpVID0gZyhZXzEsWV8yLFxkb3RzYyxZX24pID0gXHN1bV97aT0xfV57bn0gWV9pClxdCmlzIGEgbWluaW1hbCBzdWZmaWNpZW50IHN0YXRpc3RpYyBmb3IgXChwXCkuIFRoaXMgaXMgdGhlIHNhbWUgc3RhdGlzdGljIHdlIGZvdW5kIGluIGV4YW1wbGUKXCg5LjZcKS4KPC9saT4KPGxpPgpMZXQgXChZXzEsXGRvdHNjLFlfblwpIGJlIGEgcmFuZG9tIHNhbXBsZSBmcm9tIHRoZSBXZWlidWxsIGRlbnNpdHkgaW4gZXhhbXBsZQpcKDkuN1wpLiBUaGVuIApcWwpMKHlfMSxcZG90c2MseV9uIFxtaWQgXHRoZXRhKSA9IFxsZWZ0KFxmcmFjezJ9e1x0aGV0YX1ccmlnaHQpXntufQpcZXhwXGxlZnQoLVxmcmFjezF9e1x0aGV0YX1cc3VtX3tpPTF9XntufSB5X2leMlxyaWdodCkgXHByb2Rfe2k9MX1ee259eV9pLgpcXQpUaGVyZWZvcmUsClxiZWdpbnthbGlnbip9ClxmcmFje0woeF8xLFxkb3RzYyx4X24gXG1pZCBcdGhldGEpfXtMKHlfMSxcZG90c2MseV9uIFxtaWQgXHRoZXRhKX0KJj0gXGZyYWN7XGV4cFxsZWZ0KC1cZnJhY3sxfXtcdGhldGF9XHN1bV97aT0xfV57bn0geF9pXjJccmlnaHQpfQp7XGV4cFxsZWZ0KC1cZnJhY3sxfXtcdGhldGF9XHN1bV97aT0xfV57bn0geV9pXjJccmlnaHQpfQpcY2RvdApcZnJhY3tccHJvZF97aT0xfV57bn14X2l9e1xwcm9kX3tpPTF9XntufXlfaX0gXFwKJj0KXGxlZnQoXGZyYWN7XHByb2Rfe2k9MX1ee259eF9pfXtccHJvZF97aT0xfV57bn15X2l9XHJpZ2h0KQpcZXhwXGxlZnRbLVxmcmFjezF9e1x0aGV0YX0KXGxlZnQoXHN1bV97aT0xfV57bn0geF9pXjIgLSBcc3VtX3tpPTF9XntufSB5X2leMlxyaWdodClccmlnaHRdLgpcZW5ke2FsaWduKn0KRGlmZmVyZW50aWF0aW9uIHdpdGggcmVzcGVjdCB0byBcKFx0aGV0YVwpIHNob3dzIHRoYXQgdGhlIHJhdGlvCmlzIGluZGVwZW5kZW50IG9mIFwoXHRoZXRhXCkgaWYgYW5kIG9ubHkgaWYKXChcc3VtX3tpPTF9XntufSB4X2leMiAtIFxzdW1fe2k9MX1ee259IHlfaV4yID0gMFwpLgoKTGV0dGluZyBcKGcoeF8xLFxkb3RzYyx4X24pID0gXHN1bV97aT0xfV57bn0geF9pXjJcKSwgdGhlIExlaG1hbm4tU2NoZWZmJmVhY3V0ZTsgbWV0aG9kCnNob3dzIHRoYXQKXFsKVSA9IGcoWV8xLFxkb3RzYyxZX24pID0gXHN1bV97aT0xfV57bn0gWV9pXjIKXF0KaXMgYSBtaW5pbWFsIHN1ZmZpY2llbnQgc3RhdGlzdGljIGZvciBcKFx0aGV0YVwpLgo8L2xpPgo8L29sPgoKIyNQcm9ibGVtIDkuNTkgKDIgcG9pbnRzKQpMZXQgXChZXzEsXGRvdHNjLFlfblwpIGRlbm90ZSBhIHNhbXBsZSBmcm9tIGEgbm9ybWFsIHBvcHVsYXRpb24gd2l0aAptZWFuIFwoXG11XCkgYW5kIHZhcmlhbmNlIFwoXHNpZ21hXjJcKS4gRXhhbXBsZSBcKDkuOFwpIChwYWdlIFwoNDM4XCkpCnNob3dzClxbCkwoeV8xLFxkb3RzYyx5X24gXG1pZCBcbXUsIFxzaWdtYV4yKSA9ClxsZWZ0KDJccGlcc2lnbWFeMlxyaWdodCleey1uLzJ9XGNkb3QKXGV4cFxsZWZ0KC1cZnJhY3tuIFxtdV4yfXsyXHNpZ21hXjJ9XHJpZ2h0KVxjZG90ClxleHBcbGVmdFstXGZyYWN7MX17MlxzaWdtYV4yfQpcbGVmdChcc3VtX3tpPTF9XntufSB5X2leMiAtIDJcbXVcc3VtX3tpPTF9XntufSB5X2lccmlnaHQpClxyaWdodF0sClxdCndoaWNoIGltcGxpZXMgdGhhdApcWwpcZnJhY3tMKHhfMSxcZG90c2MseF9uIFxtaWQgXG11LCBcc2lnbWFeMil9e0woeV8xLFxkb3RzYyx5X24gXG1pZCBcbXUsIFxzaWdtYV4yKX0gPQpcZXhwXGxlZnRbCi1cZnJhY3sxfXsyXHNpZ21hXjJ9XGxlZnQoXHN1bV97aT0xfV57bn0geF9pXjIgLSBcc3VtX3tpPTF9XntufSB5X2leMlxyaWdodCkKXHJpZ2h0XVxjZG90ClxleHBcbGVmdFsKXGZyYWN7XG11fXtcc2lnbWFeMn1cbGVmdChcc3VtX3tpPTF9XntufSB4X2kgLSBcc3VtX3tpPTF9XntufSB5X2lccmlnaHQpClxyaWdodF0uClxdCkEgY2FsY3VsYXRpb24gc2hvd3MgdGhhdCB0aGUgcGFydGlhbCBkZXJpdmF0aXZlcyBvZiB0aGlzIHJhdGlvIHdpdGggcmVzcGVjdCB0bwpcKFxtdVwpIGFuZCBcKFxzaWdtYV4yXCkgYXJlIGJvdGggemVybyBpZiBhbmQgb25seSBpZiAKXChcc3VtX3tpPTF9XntufSB4X2kgLSBcc3VtX3tpPTF9XntufSB5X2kgPSAwXCkgYW5kIApcKFxzdW1fe2k9MX1ee259IHhfaV4yIC0gXHN1bV97aT0xfV57bn0geV9pXjIgPSAwXCkuIEhlbmNlLCB3ZSBzZWUgdGhhdAp0aGUgcmF0aW8gaXMgaW5kZXBlbmRlbnQgb2YgXChcbXVcKSBhbmQgXChcc2lnbWFeMlwpIGlmIGFuZCBvbmx5IGlmClwoXHN1bV97aT0xfV57bn0geF9pID0gXHN1bV97aT0xfV57bn0geV9pXCkgYW5kClwoXHN1bV97aT0xfV57bn0geF9pXjIgPSBcc3VtX3tpPTF9XntufSB5X2leMlwpLCB0aGVyZWZvcmUgdGhlCkxlaG1hbm4tU2NoZWZmJmVhY3V0ZTsgbWV0aG9kcyBzaG93cyB0aGF0ClxbClxzdW1fe2k9MX1ee259IFlfaSxccXVhZCBcc3VtX3tpPTF9XntufSBZX2leMgpcXQphcmUgam9pbnRseSBhIG1pbmltYWwgc3VmZmljaWVudCBzdGF0aXN0aWMgZm9yIFwoXG11XCkgYW5kIFwoXHRoZXRhXCkuCgojI1Byb2JsZW0gOS42MCAoMiBwb2ludHMpClN1cHBvc2UgdGhhdCBcKFVcKSBpcyBhIG1pbmltYWwgc3VmZmljaWVudCBzdGF0aXN0aWMgZm9yIFwoXHRoZXRhXCksIGFuZApcKGdfMShVKVwpIGFuZCBcKGdfMihVKVwpIGFyZSBib3RoIHVuYmlhc2VkIGVzdGltYXRvcnMgZm9yIFwoXHRoZXRhXCkuClN1cHBvc2UgdGhhdCBcKGZfVSh1IFxtaWQgXHRoZXRhKVwpIGlzIGEgY29tcGxldGUgZmFtaWx5IG9mIGRlbnNpdHkgZnVuY3Rpb25zLAphbmQgc3VwcG9zZSB0aGF0IFwoZ18xKHUpXCkgYW5kIFwoZ18yKHUpXCkgYXJlIGNvbnRpbnVvdXMuIFRoZW4gClwoKGdfMSAtIGdfMikodSlcKSBpcyBjb250aW51b3VzLCBhbmQgZm9yIGFsbCBcKFx0aGV0YVwpClxiZWdpbnthbGlnbip9CkVbKGdfMSAtIGdfMikoVSldICY9IApFW2dfMShVKSAtIGdfMihVKV0gXFwKJj0gRVtnXzEoVSldIC0gRVtnXzIoVSldIFxcCiY9IFx0aGV0YSAtIFx0aGV0YSBcXAomPSAwLgpcZW5ke2FsaWduKn0KTm93LCBjb21wbGV0ZW5lc3MgaW1wbGllcyBcKChnXzEgLSBnXzIpKHUpID0gMFwpIGZvciBhbGwgXCh1XCksCndoaWNoIGltcGxpZXMgdGhhdCBcKGdfMSh1KSA9IGdfMih1KVwpIGZvciBhbGwgXCh1XCkgYW5kIHRoZXJlZm9yZQp0aGF0IFwoZ18xKFUpID0gZ18yKFUpXCkuIFNpbmNlIFwoVVwpIGlzIG1pbmltYWwsIHRoZSBSYW8tQmxhY2t3ZWxsCnRoZW9yZW0gaW1wbGllcyB0aGF0IFwoZ18xKFUpXCkgYW5kIFwoZ18yKFUpXCkgYXJlIE1WVUUuIFNvIHRoZSAKYWRkaXRpb25hbCBwcm9wZXJ0eSBvZiBjb21wbGV0ZW5lc3MgaW1wbGllcyB0aGF0IHRoZSBNVlVFIGlzIHVuaXF1ZS4KCgoKCgoKCgoKCg==