In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

栏目: IT技术 · 发布时间: 4年前

内容简介:We’re pleased that despite the coronavirus pandemic and its impact on so many people and businesses we’re still able to launch today as planned… (Thanks to our dedicated team and the fact that remote working has been part of our company for decades…)It’s a

We’re pleased that despite the coronavirus pandemic and its impact on so many people and businesses we’re still able to launch today as planned… (Thanks to our dedicated team and the fact that remote working has been part of our company for decades…)

The Biggest .1 Release Ever

It’s always an interesting time. We’re getting ready to wrap up a .1 version—to release the latest fruits of our research and development efforts. “Is it going to be a big release?”, I wonder. Of course, I know we’ve done a lot of work since we released Version 12.0 last April . All those design reviews (many livestreamed). All those new things we’ve built and figured out.

But then we start actually making the list for the new version . And—OMG—it goes on and on. Different teams are delivering on this or that project that started X years ago. A new function is being added for this. There’s some new innovation about that. Etc.

We started this journey a third of a century ago when we began the development of Version 1.0 . And after all these years, it’s amazing how the energy of each new release seems to be ever greater.

And as we went on making the list for Version 12.1 we wondered, “Will it actually be our biggest .1 release ever?”. We finally got the answer: “Yes! And by a lot”.

Counting functions isn’t always the best measure, but it’s an indication. And in Version 12.1 there are a total of 182 completely new functions —as well as updates and enhancements to many hundreds more.

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

Look at It Now: HiDPI

Back in 1988 when wereleased Version 1.0 a typical computer display was maybe 640 pixels across (oh, and it was a CRT). And I was recently using some notebooks of mine from the 1990s (yes, they still work, which is spectacular!), and I was amazed at what a small window size they were made for. But as I write this today, I’m looking at two 3000-pixel displays. And 4k displays aren’t uncommon. So one of the things we’ve done for Version 12.1 is to add systemwide support for the new world of very-high-resolution displays.

One might think that would be easy, and would just “come with the operating system”. But actually it’s taken two years of hard work to deliver full HiDPI support. Well over a thousand carefully designed icons and other assets went from being bitmaps to being work-at-any-size algorithmic graphics. Everything about rasterization (not just for Rasterize , but for3D graphics textures, etc. etc.) had to be redone. Sizes of things—and their interactions with the tower of kludges that operating systems have introduced over the years —had to be respecified and rethought.

But now it’s done. And we’re ready for displays of any resolution:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

By the way, talking of displays, another “infrastructure” enhancement in Version 12.1 is moving to Metal and Direct3D 11 for 3D graphics rendering on macOS and Windows. Right now these just make 3D graphics modestly faster. But they also lay the groundwork for full multithreaded rendering, as well as VR, AR and more.

The Beginning of Video Computation

We’ve been working towards it for nearly 15 years… but finally it’s here: computation with video! We introducedimages into the language in 2008;audio in 2016. But now in Version 12.1 we for the first time have computation with video. There’ll be lots more coming in future releases, but there’s already quite a bit in 12.1.

So… just like Image and Audio , which symbolically represent images and audio, we now have Video .

This asks for five frames from a video:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
VideoFrameList[
 Video["ExampleData/Caminandes.mp4", Appearance -> Automatic,
  AudioOutputDevice -> Automatic, SoundVolume -> Automatic], 5]

This asks to make a time series of the mean color of every frame:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
VideoTimeSeries[Mean,
 Video["ExampleData/Caminandes.mp4", Appearance -> Automatic,
  AudioOutputDevice -> Automatic, SoundVolume -> Automatic]]

And then one can just plot the time series:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
DateListPlot[%,
 PlotStyle -> {RGBColor[1, 0, 0], RGBColor[0, 1, 0], RGBColor[
   0, 0, 1]}]

Video is a complicated area, with lots of differentencodings optimized for different purposes. In Version 12.1 we’re supporting more than 250 of them, for import, export and transcoding. You can refer to a video on the web as well:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Video["http://exampledata.wolfram.com/cars.avi"]

And the big thing is that video is now getting integrated into everything. So, for example, you can immediately useimage processing oraudio processing ormachine learning functions on video. Here’s an example plotting the location of cars in the video above:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
v = Video["http://exampledata.wolfram.com/cars.avi"]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ts = VideoTimeSeries[Point[ImagePosition[#, Entity["Word", "car"]]] &,
   v]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
HighlightImage[
 VideoExtractFrames[v, Quantity[5, "Seconds"]], {PointSize[Medium],
  Values[ts]}]

Let’s say you’ve got a Manipulate , or an animation (say from ListAnimate ). Well, now you can just immediately make a video of it:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Video[CloudGet["https://wolfr.am/L1sSmTHn"]]

You can add anaudio track, then export the whole thing directlyto a file,the cloud, etc.

So is this new video capability really industrial strength? I’ve been recording hundreds of hours of video in connection with a new project I’m working on. So I decided to try our new capabilities on it. It’s spectacular! I could take a 4-hour video, and immediately extract a bunch of sample frames from it, and then—yes, in a few hours of CPU time—“summarize the whole video”, using SpeechRecognize to do speech-to-text on everything that was said and then generating aword cloud:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

Speaking of audio, there’s new stuff in Version 12.1 there too. We’ve redone the GUI for in-notebook Audio objects. And we’ve introduced SpeechInterpreter , which is the spoken analog of the Interpreter function, here taking an audio object and returning what airline name was said in it:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
SpeechInterpreter["Airline"][CloudGet["https://wolfr.am/L1BuFl3Y"]]

In Version 12.0 we introduced the important function TextCases for extracting from text hundreds of kinds ofentities and “text content types” (which as of 12.1 now have their own documentation pages). In 12.1 we’re also introducing SpeechCases , which does the same kind of thing for audio speech.

A Computer Science Story: DataStructure

One of our major long-term projects is the creation of a full compiler for theWolfram Language, targeting native machine code. Version 12.0 was the first exposure of this project . In Version 12.1 there’s now a spinoff from the project—which is actually a very important project in its own right: the new DataStructure function.

We’ve curated many kinds of things in the past:chemicals, equations , movies , foods , import-export formats , units ,APIs, etc. And in each case we’ve made the things seamlessly computable as part of the Wolfram Language. Well, now we’re adding another category:data structures.

Think about all those data structures that get mentioned in textbooks, papers, libraries, etc. Our goal is to have all of them seamlessly usable directly in the Wolfram Language, and accessible in compiled code, etc. Of course it’s huge that we already have a universal “data structure”: thesymbolic expressions in the Wolfram Language. And internal to the Wolfram Language we’ve always used all sorts of data structures, optimized for different purposes, and automatically selected by our algorithms and meta-algorithms.

But now with DataStructure there’s something new. If you have a particular kind of data structure you want to use, you can just ask for it by name, and use it.

Here’s how you create a linked list data structure:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ds = CreateDataStructure["LinkedList"]

Append a million random integers to the linked list (it takes 380 ms on my machine):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Do[ds["Append", RandomInteger[]], 10^6]

Now there’s immediate visualization of the structure:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ds["Visualization"]

Here’s the numerical mean of all the values:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Mean[N[Normal[ds]]]

Like so much of what we do DataStructure is set up to span from small scale and pedagogical to large scale and full industrial strength. Teaching a course about data structures? Now you can immediately use the Wolfram Language, storing everything you do in notebooks, automatically visualizing your data structures, etc. Building large-scale production code? Now you can have complete control over optimizing the data structures you’re using.

How does DataStructure work? Well, it’s all written in the Wolfram Language, and compiled using the compiler (which itself is also written in the Wolfram Language).

In Version 12.1 we’ve got most of the basic data structures covered, with various kinds of lists, arrays, sets, stacks, queues, hash tables, trees, and more. And here’s an important point: each one is documented with the running time for its various operations (“ O( n ) ”, “O( n log( n ))”, etc.), and the code ensures that that’s correct.

It’s pretty neat to see classic algorithms written directly for DataStructure .

Create a binary tree data structure (and visualize it):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
(ds = CreateDataStructure["BinaryTree",
    3 -> {1 -> {0, Null}, Null}])["Visualization"]

Here’s a function for rebalancing the tree:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
RightRotate[y_] :=
 Module[{x, tmp},
  x = y["Left"]; tmp = x["Right"]; x["SetRight", y];
  y["SetLeft", tmp]; x]

Now do it, and visualize the result:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
RightRotate[ds]["Visualization"]

The Asymptotic Superfunction

You’ve got a symbolic math expression and you want to figure out its rough value. If it’s a number you just use N to get a numerical approximation. But how do you get a symbolic approximation?

Ever since Version 1.0—and, in the history of math, ever since the 1600s—there’s been the idea of power series: find an essentially polynomial-like approximation to a function, as Series does. But not every mathematical expression can be reasonably approximated that way. It’s difficult math, but it’s very useful if one can make it work. We started introducing “asymptotic approximation” functions for specific cases (likeintegrals) inVersion 11.3, but now in 12.1 we’re introducing the asymptotic superfunction Asymptotic .

Consider this inverse Laplace transform :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
InverseLaplaceTransform[1/(s Sqrt[s^3 + 1]), s, t]

There’s no exact symbolic solution for it. But there is an asymptotic approximation when t is close to 0:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Asymptotic[InverseLaplaceTransform[1/(s Sqrt[s^3 + 1]), s, t], t -> 0]

Sometimes it’s convenient to not even try to evaluate something exactly—but just to leave it inactive until you give it to Asymptotic :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Asymptotic[
 DSolveValue[Sin[x]^2 y''[x] + x  y[x] == 0, y[x], x], {x, 0, 5}]

Asymptotic deals with functions of continuous variables. In Version 12.1 there’s also DiscreteAsymptotic . Here we’re asking for the asymptotic behavior of the Prime function:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
DiscreteAsymptotic[Prime[n], n -> Infinity]

Or the factorial:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
DiscreteAsymptotic[n!, n -> Infinity]

We can ask for more terms if we want:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
DiscreteAsymptotic[n!, n -> Infinity, SeriesTermGoal -> 5]

Sometimes even quite simple functions can lead to quite exotic asymptotic approximations:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
DiscreteAsymptotic[BellB[n], n -> Infinity]

More Math, As Always

Math is big, and math is important. And for the Wolfram Language (which also means forMathematica) we’re always pushing the frontiers of what’s computable in math.

One long-term story has to do with special functions. Back in Version 1.0 we already had70 special functions. We covered univariate hypergeometric functions —adding the general p F q case in Version 3.0. Over the years we’ve gradually added a few other kinds of hypergeometric functions (as well as 250 other new kinds ofspecial functions). Typical hypergeometric functions are solutions to differential equations with three regular singular points . But in Version 12.1 we’ve generalized that. And now we haveHeun functions, that solve equations with four regular singular points. That might not sound like a big deal, but actually they’re quite a mathematical jungle—for example with 192 known special cases. And they’re very much in vogue now, because they show up in the mathematics of black holes, quantum mechanics and conformal field theory. And, yes, Heun functions have a lot of arguments:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Series[HeunG[a, q, \[Alpha], \[Beta], \[Gamma], \[Delta], z], {z, 0,
  3}]

By the way, when we “support a special function” these days, there’s a lot we do. It’s not just a question of evaluating the function to arbitrary precision anywhere in the complex plane (though that’s often hard enough). We also need to be able to compute asymptotic approximations , simplifications ,singularities, etc. And we have to make sure the function can get produced in the results of functions like Integrate , DSolve and Sum .

One of our consistent goals in dealing with superfunctions like DSolve is to make them “handbook complete”. To be sure that the algorithms we have—that are built to handle arbitrary cases—successfully cover as much as possible of the cases that appear anywhere in the literature, or in any handbook. Realistically, over the years, we’ve done very well on this. But in Version 12.1 we’ve made a new, big push, particularly for DSolve .

Here’s an example (oh, and, yes, it happens to need Heun functions):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
DSolveValue[(d + c x + b x^2) y[x] + a x y'[x] + (-1 + x^2) y''[x] ==
  0, y[x], x]

There’s a famous book from the 1940s that’s usually just called Kamke , and that’s a huge collection of solutions to differential equations, some extremely exotic. Well, we’ll soon be able to do 100% of the (concrete) equations in this book (we’re still testing the last few…).

In Version 12.0 we introduced functions like ComplexPlot and ComplexPlot3D for plotting complex functions of complex variables. In Version 12.1 we now also have complex contour plotting. Here we’re getting two sets of contours—from the Abs and the Arg of a complex function:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ComplexContourPlot[
 AbsArg[(z^2 - I)/(z^3 + I)], {z, -3 - 3 I, 3 + 3 I}, Contours -> 30]

Also new in 12.1 is ComplexRegionPlot , which effectively solves equations and inequalities in the complex plane. Like here’s the (very much branch-cut -informed) solution to an equation whose analog would be trivial over the reals:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ComplexRegionPlot[Sqrt[z^(2 + 2 I)] == z^(1 + I), {z, 10}]

In a very different area of mathematics, another new function in Version 12.1 is CategoricalDistribution . We introduced the idea of symbolic representations of statistical distributions back in Version 6—with things like NormalDistribution and PoissonDistribution —and the idea has been extremely successful. But so far all our distributions have been distributions over numbers. In 12.1 we have our first distribution where the possible outcomes don’t need to be numbers.

Here’s a distribution where there are outcomes x, y, z with the specified probabilities:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
dist = CategoricalDistribution[{x, y, z}, {.1, .2, .7}]

Given this distribution, one can do things like generate random variates:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
RandomVariate[dist, 10]

Here’s a 3D categorical distribution:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
dist = CategoricalDistribution[{{"A", "B", "C"}, {"D", "E"}, {"X",
    "Y"}}, {{{2, 4}, {2, 1}}, {{2, 2}, {3, 2}}, {{4, 3}, {1, 3}}}]

Now we can work out the PDF of the distribution, asking in this case what the probability to get A , D , Y is:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
PDF[dist, {"A", "D", "Y"}]

By the way, if you want to “see the distribution” you can either click the + on the summary box, or explicitly use Information :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Information[dist, "ProbabilityTable"]

There are lots of uses of CategoricalDistribution , for example inmachine learning. Here we’re creating a classifier:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
cf = Classify[{1, 2, 3, 4} -> {a, a, b, b}]

If we just give it input 2.3, the classifier will give its best guess for the corresponding output:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
cf[2.3]

But in 12.1 we can also ask for the distribution—and the result is a CategoricalDistribution :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
cf[2.3, "Distribution"]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Information[%, "ProbabilityTable"]

The Leading Edge of Optimization

In Version 12.0we introduced industrial-scaleconvex optimization. We covered most of the usual problem classes (likelinear, semidefinite ,quadratic andconic). But there was one straggler: geometric optimization . And now we’re adding that for 12.1:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
GeometricOptimization[\[Pi] r (r + Sqrt[h^2 + r^2]), {1 <=  \[Pi]/
    3 h r^2 }, {h, r}]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
GeometricOptimization[
 1/(h w d), {h <= 2 w, d <= 2 w, h*w + h*d <= 50, 2 w*d <= 20}, {h, w,
   d}]

You can solve all sorts of practical problems with GeometricOptimization —with thousands of variables if need be. As one example, consider laying out rectangles of certain sizes with a certain partial ordering in x and y . To specify the problem, you give a bunch of inequalities:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
With[{c1 = 0.25, c2 = 0.618},
  ineqs = {{c1 + w[1] + x[1] <= x[2], c1 + w[1] + x[1] <= x[3],
     c1 + w[1] + x[1] <= x[4], c1 + w[1] + x[1] <= x[5],
     c1 + w[1] + x[1] <= x[6], c1 + w[1] + x[1] <= x[7],
     c1 + w[2] + x[2] <= x[3], c1 + w[4] + x[4] <= x[5],
     c1 + w[2] + x[2] <= x[3], c1 + w[2] + x[2] <= x[5],
     c1 + w[2] + x[2] <= x[7], c1 + w[4] + x[4] <= x[3],
     c1 + w[4] + x[4] <= x[5], c1 + w[4] + x[4] <= x[7],
     c1 + w[6] + x[6] <= x[5], c1 + w[8] + x[8] <= x[4],
     c1 + w[9] + x[9] <= x[4], c1 + w[10] + x[10] <= x[4],
     c1 + w[10] + x[10] <= x[6], c1 + w[6] + x[6] <= x[7],
     c1 + w[8] + x[8] <= x[9], c1 + w[8] + x[8] <= x[10], x[1] >= 0,
     x[8] >= 0, w[3] + x[3] <= \[ScriptW], w[5] + x[5] <= \[ScriptW],
     w[7] + x[7] <= \[ScriptW]}, {c1 + h[1] + y[1] <= y[6],
     c1 + h[1] + y[1] <= y[7], c1 + h[1] + y[1] <= y[8],
     c1 + h[1] + y[1] <= y[9], c1 + h[1] + y[1] <= y[10],
     c1 + h[2] + y[2] <= y[4], c1 + h[2] + y[2] <= y[9],
     c1 + h[4] + y[4] <= y[6], c1 + h[3] + y[3] <= y[5],
     c1 + h[5] + y[5] <= y[7], c1 + h[9] + y[9] <= y[6],
     c1 + h[9] + y[9] <= y[10], y[1] >= 0, y[2] >= 0, y[3] >= 0,
     h[6] + y[6] <= \[ScriptH], h[7] + y[7] <= \[ScriptH],
     h[8] + y[8] <= \[ScriptH],
     h[10] + y[10] <= \[ScriptH]}, {c2 <= h[1]/w[1] <= (1 + c2),
     c2 <= h[2]/w[2] <= (1 + c2), c2 <= h[3]/w[3] <= (1 + c2),
     c2 <= h[4]/w[4] <= (1 + c2), c2 <= h[5]/w[5] <= (1 + c2),
     c2 <= h[6]/w[6] <= (1 + c2), c2 <= h[7]/w[7] <= (1 + c2),
     c2 <= h[8]/w[8] <= (1 + c2), c2 <= h[9]/w[9] <= (1 + c2),
     c2 <= h[10]/w[10] <= (1 + c2)}, {h[1] w[1] == 1, h[2] w[2] == 2,
     h[3] w[3] == 3, h[4] w[4] == 4, h[5] w[5] == 5, h[6] w[6] == 6,
     h[7] w[7] == 7, h[8] w[8] == 8, h[9] w[9] == 9,
     h[10] w[10] == 10}}];

It then takes only about a second to generate an optimal solution:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

In optimization, there are usually two broad types: continuous and discrete. Our convex optimization functions in 12.0 handled the case of continuous variables. But a major new feature—and innovation—in 12.1 is the addition of support for discrete (i.e. integer) variables, and for mixed discrete and continuous variables.

Here’s a very simple example:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
QuadraticOptimization[
 2 x^2 + 20 y^2 + 6 x y + 5 x, -x + y >= 2, {x \[Element] Integers,
  y \[Element] Reals}]

If x wasn’t constrained to be an integer, the result would be different:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
QuadraticOptimization[
 2 x^2 + 20 y^2 + 6 x y + 5 x, -x + y >= 2, {x, y}]

But—as with our other optimization capabilities—this can be scaled up, though the combinatorial optimization that’s involved is fundamentally more computationally difficult (and for example it’s often NP-complete). And actually the only reason we can do large-scale problems of this kind at all is that we’ve implemented a novel iteration-based technique that successfully unlocks mixed convex optimization.

Cracking the Vector-Plotting Problem

I’ve been trying to make good vector plots for about 40 years , but in the past it just never worked. If the vectors got too short, you couldn’t see their direction—and if you made them longer they crashed into each other. But particularly after our success in Version 12.0 in cracking the ComplexPlot problem (which had also been languishing for a long time) we decided for Version 12.1 to try to solve the vector-plotting problem once and for all. And, I’m happy to say, we seem to have been able to do that.

So now, you can just ask VectorPlot (and all sorts of relatedfunctions) to make a vector plot, and you’ll automatically get something that’s a good representation of your vector field:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
VectorPlot[{2 x^2 - y^2, 3 x y}, {x, -5, 5}, {y, -5, 5}]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
VectorPlot[{2 x^2 - y^2, 3 x y}, {x, -5, 5}, {y, -5, 5},
 VectorPoints -> 30]

What’s the trick? It’s basically about placing vectors on a hexagonal grid so they’re packed better, and are visually more uniform. (You can alsomake other choices if you want to.) And then it’s about using appropriately scaled color to represent vector magnitudes.

There are all sorts of other challenges too. Like being able to draw vectors in a region:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
VectorPlot[{2 x^2 - y^2, 3 x y}, {x, y} \[Element] Disk[{0, 0}, 3]]

And putting together our complex-number-plotting capabilities with our new vector plotting, we also in 12.1 have ComplexVectorPlot :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ComplexVectorPlot[z^ Log[z], {z, 6}, PlotLegends -> Automatic]

Cross-Hatching & All That

Before there were gray scales, there were things like cross-hatching. Look at a book from a century ago (or less), and you’ll see all sorts of diagrams elegantly drawn with things like cross-hatching. Well, nowwe can do that too.

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graphics[Style[RegularPolygon[5], HatchFilling[]]]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Plot[{Sin[x], Cos[x]}, {x, 0, 10}, Filling -> Axis,
 FillingStyle -> HatchFilling[]]

Of course, everything is computable:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graphics[Table[
  Style[Disk[RandomReal[10, 2]],
   HatchFilling[RandomReal[{0, 2 \[Pi]}]]], 50]]

We also have an important generalization of cross-hatching: PatternFilling . Here are examples with named patterns:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graphics[Style[Disk[], PatternFilling["DiamondBox"]]]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graphics[Style[Disk[], PatternFilling[{"Checkerboard", Red, Black}]]]

You can use any image as a pattern too:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
GeoGraphics[
 Style[Polygon[Entity["Country", "UnitedStates"]],
  PatternFilling[CloudGet["https://wolfr.am/KR7x3ST7"], 270]]]

Version 12.1 also has what one can think of as3D generalizations of these kinds of textures:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graphics3D[Style[Icosahedron[], HatchShading[]]]

It looks pretty good even in black and white:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graphics3D[Style[Icosahedron[], HatchShading[]], Lighting -> "Accent"]

There’sstipple shading too:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Plot3D[Exp[-(x^2 + y^2)], {x, -2, 2}, {y, -2, 2},
 PlotStyle -> {White, StippleShading[]}, Mesh -> None,
 Lighting -> "Accent"]

The Beginning of Computational Topology

In the past few versions, we’ve introduced deeper and deeper coverage of computational geometry . In coming versions, we’re going to be covering more and more of computational topology too. Things like EulerCharacteristic and PolyhedronGenus were already in Version 12.0. In Version 12.1 we’re introducing several powerful functions for dealing with the topology of simplicial complexes, of the kind that are for example used inrepresenting meshes.

This makes a connectivity graph for the dimension-0 components of adodecahedron, i.e. its corners:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
MeshConnectivityGraph[Dodecahedron[], 0]

Here’s the corresponding result for the connectivity of lines to lines in the dodecahedron:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
MeshConnectivityGraph[Dodecahedron[], 1]

And here’s the connectivity of corners to faces:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
MeshConnectivityGraph[Dodecahedron[], {0, 2}]

It’s a very general function. Here are the graphs for different dimensional cells of aMenger sponge:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Table[MeshConnectivityGraph[MengerMesh[2, 3], d], {d, 0, 3}]

Given a mesh, it’s often useful to do what amounts to a topological search. For example, here’s a randomVoronoi mesh:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
vm = VoronoiMesh[RandomReal[1, {200, 2}]]

Here are the 10 closest mesh cells to position {.5, .5} (the 2 before each index indicates that these are dimension-2 cells):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
NearestMeshCells[vm, {.5, .5}, 10]

Now highlight these cells:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
HighlightMesh[vm, %]

Tabular Data: Computing & Editing

Dataset has been a big success in the six years since it was first introduced in Version 10.0. Version 12.1 has the beginning of a major project to upgrade and extend the functionality of Dataset .

The first thing is something you might not notice, because now it “just works”. When you see a Dataset in a notebook, you’re just seeing its displayed form. But often there is lots of additional data that you’d get to by scrolling or drilling down. In Version 12.1 Dataset automatically stores that additional data directly in the notebook (at least up to a size specified by $SummaryBoxDataSizeLimit ) so when you open the notebook again later, the Dataset is all there, and all ready to compute with.

In Version 12.1 a lot has been done with the formatting of Dataset . Something basic is that you can now say how many rows and columns to display by default:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Dataset[CloudGet["https://wolfr.am/L1DXGvTQ"], MaxItems -> {4, 3}]

In Version 12.1 there are many options that allow detailed programmatic control over the appearance of a display Dataset . Here’s a simple example:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Dataset[CloudGet["https://wolfr.am/L1DXGvTQ"],
 MaxItems -> 5,
 HeaderBackground -> LightGreen,
 Background -> {{{LightBlue, LightOrange}}},
 ItemDisplayFunction -> {"sex" -> (If[# ===
        "male", \[Venus], \[Mars]] &)}
 ]

A major new feature is “right-click” interactivity (which works on rows, columns and individual items):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

Dataset is a powerful construct for displaying and computing with tabular data of any depth. But sometimes you just want to enter or edit simple 2D tabular data—and the user interface requirements for this are rather different from those for Dataset . So in Version 12.1 we’re introducing a new experimental function called TableView , which is a user interface for entering—and viewing—purely two-dimensional tabular data:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
TableView[{{5, 6}, {7, 3}}]

Like a typical spreadsheet, TableView has fixed-width columns that you can manually adjust. It can efficiently handle large-scale data (think millions of items). The items can (by default) be either numbers or strings.

When you’ve finished editing a TableView , you can just ask for Normal and you’ll get lists of data out. (You can also feed it directly into a Dataset .) Like in a typical spreadsheet, TableView lets you put data wherever you want; if there’s a “hole”, it’ll show up as Null in lists you generate.

TableView is actually a dynamic control. So, for example, with TableView [Dynamic[x]] you can edit a TableView , and have its payload automatically be the value of some variable x . (And, yes, all of this is done efficiently, with minimal updates being made to the expression representing the value of x .)

GANs, BERT, GPT-2, ONNX, …: The Latest in Machine Learning

Machine learning is all the rage these days. Of course, we were involved with it even a very long time ago. We introduced the first versions of our flagship highly automated machine-learning functions Classify and Predict back in 2014, and we introduced our first explicitly neural-net-based function ImageIdentify —in early 2015.

And in the years since then we’ve built a very strong system formachine learning in general, and forneural nets in particular. Several things about it stand out. First, we’ve emphasized high automation—using machine learning to automate machine learning wherever possible, so that even non-experts can immediately make use of leading-edge capabilities. The second big thing is that we’ve been curating neural nets , just like we curateso many other things. So that means that we have pretrained classifiers and predictors and feature extractors that you can immediately and seamlessly use. And the other big thing is that our whole neural net system is symbolic—in the sense that neural nets are specified as computable, symbolic constructs that can be programmatically manipulated, visualized, etc.

In Version 12.1 we’ve continued our leading-edge development in machine learning. There are 25 new types of neural nets in our Wolfram Neural Net Repository , including ones like BERT and GPT-2 . And the way things are set up, it’s immediate to use any of these nets. (Also, in Version 12.1 there’s support for the newONNX neural net specification standard, which makes it easier to import the very latest neural nets that are being published in almost any format.)

This gets the symbolic representation of GPT-2 from our repository:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
gpt2 = NetModel["GPT-2 Transformer Trained on WebText Data",
  "Task" -> "LanguageModeling"]

If you want to see what’s inside, just click—and keep clicking to drill down into more and more details:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

Now you can immediately use GPT-2, for example progressively generating a random piece of text one token at a time:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Nest[StringJoin[#,
   gpt2[#, "RandomSample"]] &, "Stephen Wolfram is", 20]

Hmmmm. I wonder what that was trained on….

By the way, people sometimes talk about machine learning and neural nets as being in opposition to traditional programming language code. And in a way, that’s correct. A neural net just learns from real-world examples or experience, whereas a traditional programming language is about giving a precise abstract specification of what in detail a computer should do. We’re in a wonderful position with the Wolfram Language, because what we have is something that already spans these worlds: we have a full-scale computational language that takes advantage of all those precise computation capabilities, yet can meaningfully represent and compute about things in the real world.

So it’s been very satisfying in the past few years to see how modern machine learning can be integrated into the Wolfram Language. We’ve been particularly interested in new superfunctions—like Predict , Classify , AnomalyDetection , LearnDistribution and SynthesizeMissingValues —that do “symbolically specified” operations, but do them using neural nets and modern machine learning.

In Version 12.1 we’re continuing in this direction, and moving towards superfunctions that use more elaborate neural net workflows, like GANs. In particular, Version 12.1 introduces the symbolic NetGANOperator , as well as the new option TrainingUpdateSchedule . And it turns out these are the only things we had to change to allow our general NetTrain function to work with GANs.

A typical GAN setup is quite complicated (and that’s why we’re working on devising superfunctions that conveniently deliver applications of GANs). But here’s an example of a GAN in action in Version 12.1:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

The Calculus of Annotations

How do you add metadata annotations to something you’re computing with? For Version 12.1 we’ve begun rolling out a general framework for making annotations—and then computing with and from them.

Let’s talk first about the example of graphs. You can have both annotations that you can immediately “see in the graph” (like vertex colors), and ones that you can’t (like edge weights).

Here’s an example where we’re explicitly constructing a graph with annotations:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graph[{Annotation[1 -> 2, EdgeStyle -> Red],
  Annotation[2 -> 1, EdgeStyle -> Blue]}]

Here we’re annotating the vertices:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graph[{Annotation[x, VertexStyle -> Red],
  Annotation[y, VertexStyle -> Blue]}, {x -> y, y -> x, y -> y},
 VertexSize -> .2]

AnnotationValue lets you query values of annotations:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
AnnotationValue[{CloudGet["https://wolfr.am/KR7zvjI7"],
  x}, VertexStyle]

Something important about AnnotationValue is that you can assign it. Set g to be the graph:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
g = CloudGet["https://wolfr.am/KR7zvjI7"];

Now do an assignment to an annotation value:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
AnnotationValue[{g, x}, VertexStyle] = Green

Now the graph has changed:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
g

You can always delete the annotation if you want:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
AnnotationDelete[{g, x}, VertexStyle]

If you don’t want to permanently modify a graph, you can just use Annotate to produce a new graph with annotations added ( 3 and 5 are names of vertices):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Annotate[{CloudGet["https://wolfr.am/KR7zNaBB"], {3, 5}},
 VertexSize -> .3]

Some annotations are important for actual computations on graphs. An example is edge weighting. This puts edge-weight annotations into a graph—though by default they don’t get displayed:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graph[Catenate[
  Table[Annotation[i -> j, EdgeWeight -> GCD[i, j]], {i, 5}, {j, 5}]]]

This displays the edge weights:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graph[%, EdgeLabels -> "EdgeWeight"]

And this actually does a computation that includes the weights:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
WeightedAdjacencyMatrix[
  CloudGet["https://wolfr.am/KR7zXNrw"]] // MatrixForm

You can use your own custom annotations too:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graph[{Annotation[x, "age" -> 10],
  Annotation[y, "age" -> 20]}, {x -> y, y -> x, y -> y}]

This retrieves the value of the annotation:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
AnnotationValue[{CloudGet["https://wolfr.am/KR7A4fa4"], x}, "age"]

Annotations are ultimately stored in an AnnotationRules option:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Options[CloudGet["https://wolfr.am/KR7A4fa4"], AnnotationRules]

You can always give all annotations as a setting for this option.

A major complexity with annotations is when in a computation they should be preserved—or combined—and when they should be dropped. We always try to keep annotations whenever it makes sense:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
TransitiveReductionGraph[CloudGet["https://wolfr.am/KR7AcnYR"]]

Annotations are something quite general, that apply not only to graphs, but to an increasing number of other constructs too. But in Version 12.1 we’ve added something else that’s specific to graphs, and that handles a complicated case there. It has to do with multigraphs , i.e. graphs with multiple edges between the same vertices. Take the graph:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Graph[{1 -> 2, 1 -> 2}]

How do you distinguish these two edges? It’s not a question of annotation; you actually want these edges to be distinct, just like the vertices in the graph are distinct. Well, in Version 12.1, you can give names (or “tags”) to edges, just like you give names to vertices:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
EdgeTaggedGraph[{1 -> 2, 1 -> 2} -> {a, b}]

In the edge list for this graph the edges are shown “tagged”:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
EdgeList[%]

The tags are part of the edge specification:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
InputForm[%]

But back to annotations. Another kind of structure that can be annotated just like graphs is amesh. This is saying to annotate dimension-0 boundary cells with a style:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Annotate[{MengerMesh[2], {0, "Boundary"}}, MeshCellStyle -> Red]

A completely different kind of structure that can also use annotations is audio. This annotates an Audio object with information about where there’s voice activity in the audio:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
AudioAnnotate[\!\(\*
TagBox[
RowBox[{"CloudGet", "[", "\"\<https://wolfr.am/KR7Aw933\>\"", "]"}],
Audio`AudioBox["AudioClass" -> "AudioFile"],
Editable->False,
Selectable->False]\), "Voiced"]

This retrieves the value of the annotation:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
AnnotationValue[%, "Voiced"] // TimelinePlot

We’ll be rolling out annotations in lots of other things too. One that’s coming is images. But in preparation for that, in Version 12.1 we’ve added some new capabilities to HighlightImage .

Use machine learning to find what’s in the picture:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ImageBoundingBoxes[CloudGet["https://wolfr.am/KR7AGV3S"]]

Now HighlightImage can use the annotation information:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
HighlightImage[CloudGet["https://wolfr.am/KR7AGV3S"], %]

Language Innovations & Extensions

Nothing has been a big success:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
{a, b, Nothing, c, Nothing}

Before Nothing , you always had to poke at a list from the outside to get elements in it deleted. But Nothing is a symbolic way of specifying deletion that “works from the inside”.

Pretty much as soon as we’d invented Nothing , we realized we also wanted another piece of functionality: a symbolic object that would somehow automatically disgorge its contents into a list. People had been using idioms like Sequence @@ … to do this. But Sequence is a slippery construct, and this idiom is fragile and ugly.

The functionality of our auto-inserter was easy to define. But what were we going to call it? For several years this very useful piece of functionality languished for want of a name. It came up several times in our livestreamed design reviews . Every time we would discuss it for a while—and often our viewers would offer good suggestions. But we were never happy with the name.

Finally, though, we decided we had to solve the problem. It was a painful naming process, culminating in a 90-minute livestream whose net effect was a change in one letter in the name. But in the end, we’re pretty happy with the name: Splice . Splice is a splice, like for film, or DNA—and it’s something that gets inserted. So now, as of Version 12.1 we have it:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
{a, b, Splice[{x, y, z}], c, d}

Of course, the more common case is something like:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
{a, b, x, c, d} /. x -> Splice[{p, q, r}]

There’s a lot of strange (and potentially buggy) Flatten operations that are going to be avoided by Splice .

One of the things we’re always trying to do in developing Wolfram Language is to identify important “lumps of computation” that we can conveniently encapsulate into functions (and where we can give those functions good names!). In Version 12.1 there’s a family of new functions that handle computations around subsets of elements in lists:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
SubsetCases[{a, b, a, b, a, c}, {x_, y_, x_}, Overlaps -> True]

I must have written special cases of these functions a zillion times. But now we’ve got general functions that anyone can just use. These functions come up in lots of places. And actually we first implemented general versions of them in connection withsemantic-query-type computations.

But on the theory that any sufficiently well-designed function eventually gets a very wide range of uses, I can report that I’ve recently found a most unexpected but spectacular use for SubsetReplace in the context of fundamental physics. But much more on that in a little while…

Talking about physics brings me to something else in 12.1: new functions for handling time. DateInterval now provides a symbolic representation for an interval of time. And there’s an interesting algebra of ordering that needs to be defined for it. Which includes the need for the symbols InfinitePast and InfiniteFuture :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Today < InfiniteFuture

Functional Programming Adverbs, & More

We’re always working to make the Wolfram Language easier and more elegant to use, and Version 12.1 contains the latest in an idea we’ve been developing for symbolic functional programming. If you think of a built-in function as a verb, what we’re adding are adverbs: constructs that modify the operation of the verb.

A first example is OperatorApplied . Here’s the basic version of what it does:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
OperatorApplied[f][x][y]

Why is this useful? Many functions have “operator forms”. For example, instead of

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Select[{1, 2, 3, 4}, PrimeQ]

you can say

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Select[PrimeQ][{1, 2, 3, 4}]

and that means you can just “pick up” the modified function and do things with it:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Map[Select[PrimeQ], {{6, 7, 8}, {11, 12, 13, 14}}]

or (using the operator form of Map ):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Map[Select[PrimeQ]][{{6, 7, 8}, {11, 12, 13, 14}}]

OK, so what does OperatorApplied do? Basically it lets you create an operator form of any function.

Let’s say you have a function f that—like Select —usually takes two arguments. Well, then

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
OperatorApplied[f][y]

is a function that takes a single argument, and forms f[x,y] from it:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
OperatorApplied[f][y][x]

OperatorApplied allows for some elegant programming, and often lets one avoid having to insert pure functions with # and & etc.

At first, OperatorApplied may seem like a very abstract “higher-order” construct. But it quickly becomes natural, and is particularly convenient when, for example, one has to provide a function for something—like as a setting for an option, the first argument to Outer , and so on.

By default, OperatorApplied[f][y] creates an operator form to be applied to an expression which will become the first argument of f . There’s a generalized form in which one specifies exactly how arguments should be knitted together, as in:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
OperatorApplied[f, 4 -> {3, 2, 1, 4}][x][y][z][u][v]

CurryApplied is in a sense a “purer” variant of OperatorApplied , in which one specifies up front the number of arguments to expect, and then (unless specified otherwise) these arguments are always used in the order they appear. So, for example, this makes a function that expects two arguments:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
CurryApplied[f, 2][x][y]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
CurryApplied[f, 2][x][y][z][u][v]

Needless to say—given that it’s a purer construct— CurryApplied is itself curryable: it has an operator form in which one just gives the number of arguments to expect:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
CurryApplied[2][f][x][y][z][u][v]

In Version 12.1, there’s another convenient adverb that we’ve introduced: ReverseApplied . As its name suggests, it specifies that a function should be applied in a reverse way:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ReverseApplied[f][x, y, z]

This is particularly convenient when you’re doing things like specifying sorting functions:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Sort[{5, 6, 1, 7, 3, 7, 3}, ReverseApplied[NumericalOrder]]

All of this symbolic functional programming emphasizes the importance of thinking about symbolic expressions structurally. And one new function to help with this is ExpressionGraph , which turns the tree structure (think TreeForm ) of an expression into anactual graph that can be manipulated:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ExpressionGraph[{{a, b}, {c, d, e}}]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ExpressionGraph[{{a, b}, {c, d, e}}, VertexLabels -> Automatic]

While we’re talking about the niceties of programming, one additional feature of Version 12.1 is TimeRemaining , which, as the name suggests, tells you how much time you have left in a computation before a time constraint hits you. So, for example, here TimeConstrained said the computation should be allocated 5 seconds. But after the Pause used about 1 second, there was a little less than 4 seconds remaining:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
TimeConstrained[Pause[1]; TimeRemaining[], 5]

If you’re writing sophisticated code, it’s very useful to be able to find out how much “temporal headroom” you have, to see for example whether it’s worth trying a different strategy, etc.

Now We Can Prove That Socrates Is Mortal

In using the Wolfram Language the emphasis is usually on what the result of a computation is, not why it is that. But in Version 11.3 we introduced FindEquationalProof , which generates proofs of assertions given axioms.

AxiomaticTheory provides a collection of standard axiom systems. One of them is an axiom system forgroup theory:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
axioms = AxiomaticTheory[{"GroupAxioms", "Multiplication" -> p,
   "Identity" -> e}]

This axiom system is sufficient to allow proofs of general results about groups. For example, we can show that—even though the axioms only asserted that e is a right identity—it is possible to prove from the axioms that it is also a left identity:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
FindEquationalProof[p[e, x] == x, axioms]

This dataset shows the actual steps in our automatically generated proof:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Dataset[%["ProofDataset"], MaxItems -> {6, 1}]

But if you want to prove a result not about groups in general, but about a specific finite group, then you need to add to the axioms the particular defining relations for your group. You can get these from FiniteGroupData —which has been much extended in 12.1. Here are the axioms for thequaternion group, given in a default notation:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
FiniteGroupData["Quaternion", "DefiningRelations"]

To use these axioms in FindEquationalProof , we need to merge their notation with the notation we use for the underlying group axioms. In Version 12.1, you can do this directly in AxiomaticTheory :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
AxiomaticTheory[{"GroupAxioms", "Quaternion", "Multiplication" -> p,
  "Identity" -> e}]

But to use the most common notation for quaternions, we have to specify a little more:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
AxiomaticTheory[{"GroupAxioms",
  "Quaternion", <|"Multiplication" -> p, "Inverse" -> inv,
   "Identity" -> e, "Generators" -> {i, j}|>}]

But now we can prove theorems about the quaternions. This generates a 54-step proof that the 4th power of the generator we have called i is the identity:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
FindEquationalProof[p[i, p[i, p[i, i]]] == e, %]

In addition to doing mathematical proofs, we can now use FindEquationalProof in Version 12.1 to do general proofs with arbitrary predicates (or, more specifically, generalfirst-order logic). Here’s a famous example of a syllogism , based on the predicates mortal and man . FindEquationalProof gives a proof of the assertion that Socrates is mortal:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
FindEquationalProof[
 mortal[socrates], {ForAll[x, Implies[man[x], mortal[x]]],
  man[socrates]}]

I think it’s pretty neat that this is possible, but it must be admitted that the actual proof generated (which is 53 steps long in this case) is abit hard to read, not least because it involves conversion to equational logic.

Still, FindEquationalProof can successfully automate lots of proofs. Here it’s solving a logic puzzle given by Lewis Carroll , that establishes (here with a 100-step proof) that babies cannot manage crocodiles:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
FindEquationalProof[
 Not[Exists[x, And[baby[x], manageCrocodile[x]]]], {ForAll[x,
   Implies[baby[x], Not[logical[x]]]],
  ForAll[x, Implies[manageCrocodile[x], Not[despised[x]]]],
  ForAll[x, Implies[Not[logical[x]], despised[x]]]}]

Geo-Everything

The Wolfram Language knows about many things. One of them is geography. And in Version 12.1 we’ve substantially updated and expanded our sources ofgeographic data (as well as upgrading our server-based algorithms). So, for example, the level of detail available in typical maps has increased substantially:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

For many years now we’ve had outstandinggeodetic computation in the Wolfram Language. And we also have excellent computational geometry for doing all sorts of computations on regions in Euclidean space. But of course the Earth is not flat, and one of the achievements of Version 12.1 is to bring our region-computation capabilities to the geo domain, handling non-flat regions.

It’s an interesting exercise in geometry. We have things like the polygon of the United States defined in geo coordinates—as a lat-long region on the Earth. But to use our computational geometry capabilities we need to make it something purely Euclidean. But we can do that by using our geodesy capabilities to embed it in full 3D space.

So now we can just compute the centroid of the region that is the US:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
RegionCentroid[Polygon[Entity["Country", "UnitedStates"]]]

That third element in the geo position is a depth (in meters), and reflects the curvature of the US polygon. And, actually, we can see this directly too:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
DiscretizeRegion[Entity["Country", "UnitedStates"]["Polygon"]]

This is a 3D object, so we can rotate it to see the curvature more clearly:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

We can also work the other way around: taking geo regions and projecting them onto a flat map, then computing with them. One knows that Greenland looks very different sizes with different map projections . Here’s its “map area” in the Mercator projection (in units of degrees-squared):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Area[GeoGridPosition[Entity["Country", "Greenland"]["Polygon"],
  "Mercator"]]

But here it is (also in degrees-squared) in an area-preserving projection:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Area[GeoGridPosition[Entity["Country", "Greenland"]["Polygon"],
  "CylindricalEqualArea"]]

And as part of the effort to make “geo everything”, Version 12.1 also includes GeoDensityPlot and GeoContourPlot .

Advance of the Knowledgebase

Every second of every day there is new data flowing into the Wolfram Knowledgebase that powers Wolfram|Alpha and Wolfram Language. Needless to say, it takes a lot of effort to keep everything as correct and up to date as possible. But beyond this, we continue to push to cover more and more domains, with the goal of making as many things in the world as possible computable.

I mentioned earlier in this piece how we’re extending our computational knowledge by curating one particular new domain: different types ofdata structures. But we’ve been covering a lot of different new areas as well. I was trying to think of something as different from data structures as possible to use as an example. I think we have one in Version 12.1: goat breeds . As people who’ve watched our livestreamed design reviews have commented, I tend to use (with a thought of the Babylonian astrologers who in a sense originated what is now our scientific enterprise) “entrails of the goat” as a metaphor for details that I don’t think should be exposed to users. But this is not why we have goats in Version 12.1.

For nearly a decade we’ve had some coverage of a few million species. We’ve gradually been deepening this coverage, essentially mining the natural history literature, where the most recent “result” on the number of teeth that a particular species of snail has might be from sometime in the 1800s. But we’ve also had a project to cover at much greater depth those species—and subspecies—of particular relevance to our primary species of users (i.e. us humans). And so it is that in Version 12.1 we’ve added coverage of (among many other things) breeds of goats:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Entity["GoatBreed", "OberhasliGoat"]["Image"]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
EntityList[
 EntityClass["GoatBreed", "Origin" -> Entity["Country", "Spain"]]]

It may seem a long way from the origins of the Wolfram Language and Mathematica in the domain of mathematical and technical computing, but one of our great realizations over the past thirty years is just how much in the world can be put in computable form. One example of an area that we’ve been covering at great depth—and with excellent results—isfood. We’ve already got coverage of hundreds of thousands of foods—packaged, regional, and as-you’d-see-it-on-menu. In Version 12.1 we’ve added for example computable data about cooking times (and temperatures, etc.):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Entity["FoodType", "Potato"][
 EntityProperty["FoodType", "ApproximateCookingTimes"]]

ExternalIdentifier, Wikidata & More

Books have ISBNs. Chemicals have CAS numbers. Academic papers have DOIs. Movies have ISANs. The world is full of standardized identifiers. And in Version 12.1 we’ve introduced the new symbolic construct ExternalIdentifier as a way to refer to external things that have identifiers—and to link them up, both among themselves, and to theentities andentity types that we have built into the Wolfram Language.

So, for example, here’s how my magnum opus shows up in ISBN space:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ExternalIdentifier["ISBN10", "1-57955-008-8"]

Right now we support 46 types of external identifiers , and our coverage will grow broader and deeper in the coming years. One particularly nice example that we’re already covering in some depth is Wikidata identifiers. This leverages both the structure of our built-in knowledgebase , and the work that we’ve done in areas likeSPARQL support.

Let’s find our symbolic representation for me:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
\!\(\*NamespaceBox["LinguisticAssistant",
    DynamicModuleBox[{Typeset`query$$ = "stephen wolfram",
      Typeset`boxes$$ =
       TemplateBox[{"\"Stephen Wolfram\"",
         RowBox[{"Entity", "[",
           RowBox[{"\"Person\"", ",", "\"StephenWolfram::j276d\""}],
           "]"}], "\"Entity[\\\"Person\\\", \\\"StephenWolfram::j276d\
\\\"]\"", "\"person\""}, "Entity"], Typeset`allassumptions$$ = {},
      Typeset`assumptions$$ = {}, Typeset`open$$ = {1},
      Typeset`querystate$$ = {"Online" -> True, "Allowed" -> True,
        "mparse.jsp" -> 0.488214`6.140155222562331,
        "Messages" -> {}}},
     DynamicBox[
      ToBoxes[AlphaIntegration`LinguisticAssistantBoxes["", 4,
        Automatic, Dynamic[Typeset`query$$], Dynamic[Typeset`boxes$$],
         Dynamic[Typeset`allassumptions$$],
        Dynamic[Typeset`assumptions$$], Dynamic[Typeset`open$$],
        Dynamic[Typeset`querystate$$]], StandardForm],
      ImageSizeCache -> {117., {7., 16.}},
      TrackedSymbols :> {Typeset`query$$, Typeset`boxes$$,
        Typeset`allassumptions$$, Typeset`assumptions$$,
        Typeset`open$$, Typeset`querystate$$}],
     DynamicModuleValues :> {},
     UndoTrackedVariables :> {Typeset`open$$}],
    BaseStyle -> {"Deploy"}, DeleteWithContents -> True,
    Editable -> False, SelectWithContents -> True]\)

Now we can use the WikidataData function to get my WikidataID:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
WikidataData[Entity["Person", "StephenWolfram::j276d"], "WikidataID"]
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
InputForm[%]

Let’s ask what Wikidata classes I’m a member of:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
WikidataData[Entity["Person", "StephenWolfram::j276d"], "Classes"]

Not that deep, but correct so far as I know.

There’s lots of data that’s been put into Wikidata over the past few years. Some of it is good; some of it is not. But with WikidataData in Version 12.1 you can systematically study what’s there.

As one example, let’s look at something that we’re unlikely to curate in the foreseeable future: famous hoaxes. First, let’s use WikidataSearch to search for hoaxes:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
WikidataSearch["hoax"]

Hover over each of these to see more detail about what it is:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
WikidataSearch["hoax"]

OK, the first one seems to be the category of hoaxes. So now we can take this and for example make a dataset of information about what’s in this entity class:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
WikidataData[
 EntityClass[
  ExternalIdentifier["WikidataID",
   "Q190084", <|"Label" -> "hoax",
    "Description" ->
     "deliberately fabricated falsehood made to masquerade as the truth"|>], All], "WikidataID"]

We could use the Wikidata ExternalIdentifier that represents geo location, then ask for the locations of these hoaxes. Not too many have locations given, and I’m pretty suspicious about that one at Null Island (maybe it’s a hoax?):

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
GeoListPlot[
 Flatten[WikidataData[
   EntityClass[
    ExternalIdentifier["WikidataID",
     "Q190084", <|"Label" -> "hoax",
      "Description" ->
       "deliberately fabricated falsehood made to masquerade as the \
truth"|>], All],
   ExternalIdentifier["WikidataID",
    "P625", <|"Label" -> "coordinate location",
     "Description" ->
      "geocoordinates of the subject. For Earth, please note that \
only WGS84 coordinating system is supported at the moment"|>]]]]

As another example, which gets a little more elaborate in terms of semantic querying, let’s ask for the opposites of things studied by philosophy, giving the result as an association:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
WikidataData[
 EntityClass[All,
  ExternalIdentifier["WikidataID",
    "P2579", <|"Label" -> "studied by",
     "Description" ->
      "subject is studied by this science or domain"|>] ->
   ExternalIdentifier["WikidataID",
    "Q5891", <|"Label" -> "philosophy",
     "Description" ->
      "intellectual and/or logical study of general and fundamental \
problems"|>]],
 ExternalIdentifier["WikidataID",
  "P461", <|"Label" -> "opposite of",
   "Description" ->
    "item that is the opposite of this item"|>], "Association"]

What Is That Molecule? Advances in Chemical Computation

You have an image of a molecular structure diagram, say from a paper. But how can you get the molecule it represents in a computable form? Well, with Version 12.1 all you need do is use MoleculeRecognize :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
MoleculeRecognize[CloudGet["https://wolfr.am/KR7EUjU8"]]

It’s the analog of TextRecognize , but for molecules. And what it produces is a Wolfram Language symbolic representation of the molecule. So, for example, you can then generate a 3D structure :

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
mol = MoleculeRecognize[CloudGet["https://wolfr.am/KR7Fhtrt"]];
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
MoleculePlot3D[mol]

Or you can compute the distribution of torsion angles of the structure:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Histogram[MoleculeValue[mol, "TorsionAngle"], 360]

You can also connect to the world of external identifiers:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
MoleculeValue[mol, "PubChemCompoundID"]

But what’s really useful about MoleculeRecognize is that it can be used programmatically. Take all the images of chemicals from a paper, “molecule OCR” them—then do things like check whether the molecules are equivalent, or make aword cloud of their 3D structures:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
WordCloud[
 MoleculePlot3D /@ DeleteDuplicates[MoleculeRecognize[{\!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJzt3Qm4VVX5BvBSTGwSM8vUTEzTUjOHDNEyVDSaQ8kUS0HAqBwCC9RSaZJM
Tc1GrTSFQrFBDQQtpcxyaLCyOacsxyybbF5/f+v/LJ7t6XI498K5Z59zv/d5
Tsa955y799rrXd/7DetbIycfNX7aGo95zGNmDn/kf8ZPmjVmxoxJx+434pF/
TDhy5vTDj5w6ZdyRx0w9fOqMUZPXfOSH8x953fvIa9gjrxQIBAKBQCAQCAQC
gUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAg
EAi0gH//+9/pb3/7W/rNb36Tbrnllvy69dZb00MPPZT+85//dPryAoEhCxy8
6aab0oIFC9LZZ5+dZs2alSZPnpxfRx99dDrzzDPTV77ylfTTn/40Pfzww52+
3EBgSOHOO+9M5513XjrggAPSNttskzbccMO07rrrpic+8Yn59eQnPzltvPHG
aeedd07Tp09PixYtSg8++GCnLzsQGBK4//7701lnnZVe8IIXZD4OGzYsbbLJ
JmnXXXdN48aNS/vuu2964QtfmJ7+9Kenxz3ucWm99dZLY8eOTQsXLkx//vOf
O335gUBPg9950UUXZT6utdZa2Xbutttuac6cOenLX/5y+s53vpO+9a1vZT4e
f/zxaaeddkrDhw9P66yzTnrVq16VvvnNb4aPGgi0ET/4wQ/SG97whsw7NvS1
r31t5uY999yT+fvPf/4z/eMf/0h//etf0913350uuOCC9JKXvCStvfbamc94
e++993b6NgKBnoT47TnnnJM233zzpO3wqFGjluvX//73v//zfj/74x//mD75
yU+mrbfeOj32sY9No0ePTkuXLu3A1QcCvY8//OEPaebMmdmGsov+/+9+97um
n8HTX//61+nQQw/Nvilbesopp2Q7GwgEVi9+9rOfpQkTJmR7KGZ77rnnZtu6
MtC/c+fOTeuvv37+7BFHHJF++9vfDsIVBwJDC1dffXXaY489luvcJUuWtPzZ
888/P2255Zb5s/I1P/7xj9t4pYHA0MTixYszN/Hsla98Zbrhhhta/qxaBjFe
nx0zZkxatmxZG680EBia+PrXv77cju65557pG9/4RsufvfDCC3PcqPD7xhtv
bOOVBgJDE3KfL3vZyzLP1BZ98YtfbOlzfNYPfvCD6SlPeUr+7GGHHZZuu+22
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 GO 7in5q3U9Ik5
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
"], {{0, 166.}, {
           233., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->Automatic,
ImageSizeRaw->{233., 166.},
PlotRange->{{0, 233.}, {0, 166.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJzt3Qm8pWMdB3BbkrZJlKJEUVKKRqgQ2caEzDSUtZkYkQyzYWYoCQmlkdRM
JaVNG7JFImU3pdFqaZH2sqRN25Pv4/Ncr+OuM/eee973/H+fzzHjzjnnvs/7
Pv/t91+etadMmzB1uWWWWWbGSg/9Z8LkI7aePn3yURPHPPQ/kw6dcdCBhx6w
/7hDZx5w4AHTN5uy/EM/PPuh1zLLLrPMCg/9kQKBQCAQCAQCgUAgEAgEAoFA
IBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUBgCfHf//43Pfjg
g+mf//xnfv373/8e9Of+9a9/pf/85z8jfIUjh//97395DWXt/u5nTYdnZ71/
+ctf0j333JNf9913X/r73/+e/y3QbHjGDzzwQPrNb36TfvKTn6Qbb7wxXXPN
Nfm1ePHidPfdd6d77703y0NvICPec/PNN6c77rgj/eMf/+j39/meP/7xj+mX
v/xl+t3vfjfg+0cSrt0+//3vf5+vfdGiRT1r/973vpd+/vOf52slH00DXX3/
/fen22+/PV133XXpvPPOS2effXZ+ff7zn0/f/OY3837485//3OezD9Qb9v7P
fvazdOGFF6bjjz8+ve1tb0t77LFH2m233fJr8uTJ6Zhjjkmf+tSn0ve///2s
J1pt4t/+9rf873vuuWd617velX7wgx/0+zvJmj02Y8aMNH/+/LzHRgNkms67
6qqr0qmnnpoOPfTQtNdee/WsfZ999kmzZ89OZ555ZpYPdrEp9tBzv/POO9OX
vvSlNHPmzPTGN74xbbXVVukVr3hF2njjjdPmm2+eXv/616e3v/3t6eMf/3h+
pj4TaA48z29/+9tp7ty56XWve11aY4010lOf+tS02mqrpWc+85lplVVWSU95
ylPy38eOHZsOOeSQ9PWvfz37AlUd8Ktf/Sq99a1vTcsvv3xaf/3107nnntvv
7yXv5GzllVdOW265Zf7OdoM9o8/IPVlfe+2105gxY9LTn/70vF5/Wvuqq66a
XvziF2dd8LnPfS79+te/rr0OsHY+3rx589JrXvOavMYnP/nJ6VnPelZ6/vOf
n+/F6quvntfv9fKXvzxNnz4975XQAc2AuP6GG27Icmu/P/7xj8/P33444IAD
0qxZs9KUKVPS1ltvnffDE57whCwTEyZMyL7CX//6157vIs98BuPOnv3sZ2d7
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
T1QDghMTF5V8nhqTuug3elqOAi+J38R1FIT8dweqssnus99DiVMHU/9TzrH3
Hryg+LIuIOO9yT/7717Jm+GExYv4ozrY/AL+Pn+Oz9d65nbIf3dgsPn/vjAY
+Rcjqw3wHrnUTqiLHizIvzncrfJf8kby32qd6lj/Qc+reZPXUIOsL7Ag5L87
0A7518dWfkfd4n+5MLkLnB4/pmlg//EXrWdu0mulriPkv7loh/yXc+zrKP/s
o5ofHKjahaahyL/8hjrAgir/H/LfXLRD/tW8sS91lH91O0X+S29Ek6CGV62C
XD8+o8C8MP0cnpk+PzU/geYBX60XFceFw67GuIOBHgC14urj1ITriW0FuRE/
e4/Zb62zbDsZJf+nbl+OrGkwl9Scklb51/+j1pH8q/3XzxBoHtSsql9Rw2se
8VDnd/ALyxku+sZ6qxPR9+O7vQfHVCeurPj/TY3/9b7w/1vlH2ejP5b8m+vS
xDN3Aw/Pc1DDLw9M9ofay4UH1x8g70+X9CbbZVY9X6MdM+CGE/r3zEXRv2Te
S9PAv1G/0Cr/agHUNEb8H+hmFPnHj1X58aZAXb8+l1b5j/xfIPCI/Jt7YCZS
06BWWU93q/wH/x8IPCL/epjVQTcNJf/XKv/iwVKzFfIf6FYU+ZcbbWL+z5wS
8y5a5V/NpnxQyH+gm1Hkv7X+tymQu+mN/zMPqMx1CfkPdCuaLv9mXfaW/w/+
LxBovvz3Vf8T8h8IpDzPyOyjpsp/X/xfyH8gkHJNo7lnTZV/9X/mvoT8BwKP
BfnAjzVV/vvi/0P+A4GH/WP20ex35/g0DSH/gUDfcCaG+R9mITsvqmko8h/z
vwKBx8J5BeZ/sY9Nln85AGeXFIT8BwKPzP9tav9vkX/n4OoFKAj5DwRSWrBg
QZ6P23T+T39DzP8MBB6Ncv5X0+VfD6A5bQUh/4FASqeffnqWj0033TRdcskl
o305ww7rW3311bP/7yz7gqr8O7/RmYeBQLfhxBNPzPwffrw6H7cpKPV/7L/z
zAuq8u88Y2e+BQLdhsL/m1/c2v9vVprz85xnZMZZHVH4jf7if2eD3XHHHaN4
lYHA6MB8PP6x808vvvjinp+bYWhGNvuph+7666/PMXLdzoZ3pvG66677mPkm
Vfk3/9dZ7oFAt0FMvM466zyG/2Pvzc5zrqGzAfbZZ5/cS0dunA1al/OizTQf
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
"], {{0, 161.}, {
           256., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->{60.703125, Automatic},
ImageSizeRaw->{256., 161.},
PlotRange->{{0, 256.}, {0, 161.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJzt3Qnc5WP5P/CxDYMaKlmSopJSoexNRAijaFCaUo0YScY0QzUZTIORJYwR
UilKNWSyJHtE0jYyEaN916Z90fr9ed+v1z3/2/mfZ5s5Z875nnN9Xq/DM89z
nvOc5Xt/7uv6XJ/rujc+5OgJk1ccNWrU9NUe+8+ESe/eZdq0STP2X+uxfxw4
ZfoRh0857NC9phxz2OGHTdv+kJUe++bdj93WW2HUqJUf+38VCAQCgUAgEAgE
AoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFA
IBAIBAKBQCAQCAQCgUAgUFP873//q/7973+nm68DgUCgVfjLX/5S3XvvvdWi
RYvS14FAINAqPPTQQ9X06dOrww47rPra174WMUwgEGgZFi9eXB1wwAHVBhts
UF1wwQXV3//+904/pUAg0CP4zW9+U02ePLladdVVUwzz/e9/v9NPKRAI9Aj+
8Y9/VLNnz67WXnvtaty4cdUtt9zS6acUCAR6BPSW+fPnVy984Qurddddt7ro
oouq//znP51+WoFAoEfwzW9+sxo/fnw1evToasaMGdUjjzzS6acUCAR6BA8/
/HB1xBFHJA1m4sSJ1QMPPNDppxQIBHoE//rXv6q5c+dWT3va06qXvvSl1c03
3xx16kAg0DLgFPruhhtumDSYf/7zn51+SoFAoEfwwx/+sDr44IOrMWPGVNOm
TUs5UyAQCLQC6tSzZs2q1lprrWqfffapvv71r3f6KQUCgR7CJz7xieq5z31u
9fznP7+64oorqv/+97+dfkqBQKBHoP/ola98ZfXEJz6xOuOMM6JXIBAItAy/
//3vq6OOOirVqY855pjUOxAIBAKtgJr0Bz7wgWqdddZJPY/mNgQCgUCrcOml
l1abbrpp9aIXvai66qqrwgcTCARahi996UvVy1/+8hTDnHvuuamuFAgEAq3A
T3/602rSpEnJB/OOd7yj+slPftLppxQIBHoE4pX3v//91VOf+tRq7733rr76
1a92+ikFAoEeAb2F7vKSl7ykes5znlNdfvnlocEEAoGWYeHChdWrXvWqavXV
V69OO+200GACgUDLwPdy9NFHV2ussUaamfmjH/2o008pEAj0CJyFZNb3M5/5
zGqXXXZJNaVAIBBoFcxrMAsGx3zsYx9LM2ICgUCgFXCOwOtf//qkwegV+OUv
f9nppxQIBHoENN0TTjihGjt2bNJ6zegNBAKBVkGvgHkNzhZYsGBBzGsIBAIt
w+233556BcycOv300+N86kAg0DKYmfnGN76xWmWVVdL5AtErEAgEWgXzpWgw
5k1Fr0AgEGg1PvKRj1Qbb7xx0mHmzZtX/eAHP6h++9vfVn/961+TTyYQCASW
FjfddFPywein3nbbbaspU6ZUH/zgB5Pe++Uvf7l68MEHq5///OfVn//85zhX
NhAIjAjmNbz5zW+uVlxxxXR+rPOR1JO23nrrarfddktnmpx00kmpD/IrX/lK
tXjx4uSVkVvpi4zeyEAgMBD4YI477rjUiySG2WabbVJNafPNN095kzMfN9lk
k2qrrbaqdt999+otb3lLmu/w+c9/Pnlm8M2vfvWr6m9/+1vKp4JvAoFABs/L
mWeemebZbbTRRqmf+otf/GI6y+Tkk09OHl+xzDOe8YxqvfXWq9Zff/3q2c9+
duKhvfbaqzr00EPTWQRmPtx5552Jb+g3+CbyqUCgv/HII49UM2fOrJ785Cen
GEVcIg6ht9BdzAC/+uqrE+8ceeSR1X777Zdmx4htNthggxTfmCPje7vuumv1
tre9rTrvvPOqa665Jp3h9t3vfndJPhUIBPoHziv59Kc/Xb3sZS9LuRHu+MY3
vvH/5ThyKBwhNnGG0pVXXlmdddZZSQvWWyC+edaznpVm4olxzA/ffvvtq/Hj
x1eTJ09O+dR1112Xfv9nP/tZ4rQ4/zoQ6E3gD9zymc98Jmkqa665ZupznDBh
QvXZz362WrRoUfXjH/843aexr9rvyn1+/etfp9gE31x77bXV+eefn7gEVzkf
8ulPf3r1lKc8pVp33XWTfrPjjjumub8nnnhi9eEPf7i65ZZbUm0Kb/3xj39M
fBPaTSBQb1jD4gdxC25Ze+21U+yCX3CCGrU45j3veU+a26BGjUcefvjhpp4Y
j/foo49Wv/vd7xJf3HbbbdUnP/nJ5Ns76KCD0nyZLbfcMmk2ZkHIq/DPDjvs
kLRieZc+KL/n98U3eC34JhCoF6xXs+suu+yyVHum6dJceHfVjF7wghckjRfP
iDnUqf1M74D+JLENj6++AhzVzH9H06Xd6DWg3dxxxx1L8qlDDjmkGjduXPW8
5z0v6Tb+llzK33nFK16Rfi6+wWtmXsmnxDaBQKD7gRM+/vGPJy6hze68884p
r7n77rtT/HDJJZdUp5xySjq3xHoXc/DDuPn6xS9+cfXqV7+6mj59evL9qhc9
8MADyfM7EN/gNNqufOr+++9Pc60uvvjixCNvetObEt/Qh3GNGpX4Rm0c/6lN
yb3ETYHehOtDrCrnjhln9YTPUBwwf/78lK/ol3bOvX9b934u7nAfNaOHHnqo
uuGGG1LMoWZEp3Xeo/wm84CYAwe84Q1vqKZOnVp96EMfSnzjd+VSerGb1adx
kL/D1/ftb387+YcvvPDCasaMGanXkpdY7EQrxoFmX8V84N4EXvnFL36Rrhv+
BvscL1XwTL3wpz/9KX1+eILeIicSf9A5BoKakc9ajuJzl1PxyagZ4SaaipqR
2EauQ1PBXW9961tTLnXFFVek+jS+oakMxDeuJbEPDqEr33jjjdU555yTciXP
V68CP02gd5D3O7n2qaeemnJw/obXvOY1aU/jE7fvBc90N3yOtBCeFpqtmEDc
4Yx7ccpw9dP8OOISWq/rghaj7qy3QM1os802S7GN2APX5OtFjiMXwjdq33hk
sPq079OI5FL4CTeFT693INc1m/VTn/pU8m66XvTvq2E+6UlPSrmy6+bss89O
+5prJT7/7gRO4Ds54IADki/Fmhcb0F6XtTYjX1Zbvu+++1KtWX40a9asdN7J
HnvskTQU8Y2cKvcX0G7kOxdddNGSepHH8Dxjr+pt+Hx91q5H1wB/FP+CHJgG
t//++yfNz/XC64lnDjzwwKTVfe9734szuroMcqLrr78+cYvP0fp2nv1I4pbh
gqZin6Gp0Hvl0zwuatziG94Xuq26FO0m51K5l0mt3Cw9+RHuw11Rm+4NiD1c
G3xS8maeCD0m8nS+TNcIznHmn76UOXPmpGvDfohn7Inu42fi59iHOg/1mi98
4QtpT+BvUwO2jtvBLc3gmqLtyIVouGpAcjJ1qT333DNxnXkz4htcoy6llrXv
vvtW733ve1M+h2fiWqovXGf2OHvGRz/60ZQLiUl4Iuw18nU+BLXHHJvYp1yj
+lGmTZuWtH48I++m0dD/8FTkTJ2Bz1R+K35Qi/HZWMuzZ89OOm2nYoKsFdN6
XR/4Q57GV7PPPvskT5/6Ny4U34h39DDx7AXqB35LvMEfTu9XexRDy33win5Y
vig80eyazBoN3xRPOF8WXrInTZw4MfGVONn9Is5dfvjDH/6Q6r3yDjEoLdc6
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
NM73cXaK/V7vQB35RW/VwoULl5yRZw7APffc8zgPU6Cz6Hd+KeOXE0444XEe
Vp5dvdPOXqzzfMxyfl0z/25d59eJU84888zUg+pzsgeEB7m7UPLLnnvu+bjz
SfoBpf4iVyhnLM2fPz+dS63H0ZmKdcRg81/qzC9iF+eG2hOdzeV1lN7kQHeg
5Jd+9FiV/KJ/uuzxK/27vdB/xJ/drD5dR37Ry6Anc5111knzBS+77LKIXboQ
/X5+QMkv6ps0iYxe89fJA2+//fYlPyvPV6sTv9ClzftyTvFaa61VTZky5XFz
hQPdg5JfGuuzwKskZ+Bf6kXdrOQXPsNyxnWv8cs222xTXX/99Ut+5kxHczHV
p+vEL2bwibVxC850Bl546roTvALZXydW5rcroZ/6kksuqa688sran2XfDCW/
WGulN8tr3nLLLVNvdV3rR3QKc23WWGON9DrvvPPOJT8r52PWxf/CP3D22Wen
nnazS33Ngx7oTlhPzq3I9ctyPitYY7vuumuq4cp3b7jhhrTHl3XcOqPkF7P0
S2+W2pIzc/3c664rzCZ3tjgvXdkjXfYHyJO6Pccwm8dnQkd6whOekPbFe++9
t2fOQu9F4H4eiIH6G2n01hgPCC8IrnGOBx6ihdb9sy35pfH8DtwrduOzq7Pn
XF+Rsyh9lrSLjFLfNcOw27V9s8+OPfbY1M++2WabJc29fD2B7gNdJfdPN8bP
IEd3bZoPsummm6ac1//t9c4cu//++xPP1FGbwY36Vnbaaacla8zryTALxtr0
HpRzYeoGr1OffLkWfY/eUs5evvvuu7v2daoN8QtsvfXWKXZxzdZFL+pn4Jfp
06cnjY/HWp2vnHEN/s33edZZZ6UZrvJemoRzgSZPnpz82XSbOmkzYm0xybnn
npv2QmtMbHbNNdf0RFw2GGih6oT2h3z2tvfgtNNOS3o/Huqm1++58OWaU2QO
mP2AptsrOXovw2c0b968asMNN0yxiTPQL7/88hSLlp+ffU1/rfrm8ccfX+24
445prj7/wXbbbZe0GbGAmmc5w7bb4LmJSfhAeD/pSrRPa0wOKEfCsXXjy+GC
PmrG94knnpi4xWfutetB4iNR67366quTDlXO2uok8J3PSi87Xff000+PWZ41
grVmBi8fmTXmutOLI1eyx5e1P1+rM6jdil1ck+q3Pnf6sP4yjyen6KacKecI
1tZ5552XciG+/7Fjx6bXzafLZ77++uunGJyXl16BU7uZL4cDr11+gTN9bnJb
n5e9wfmU22+/fbXFFlukPcYaxrli2muvvTZpNJ18/fa1u+66K+Vv8qKJEyem
nqNuurYCg0OOJC7hX3Vt6XPfZJNNEl+ImWn21lmOZ1yvfodWYW6kPX/zzTdP
a9OatXbVcx988MG0B3Y61ra27MfydzG2nmhrC6/wT8yYMaO69NJLUx3Xv70O
60+/sX2zG/lyuLA+xaJ8L2YYyGm9PjyiH4lG6rP33tBO8+fvvdl5552Tlq9n
xD7TiXzE33VdZp+unK5b4qrA8GENqk+qR/PZ2c9oLPrG1I9oLzQYvJL5wv/V
n6w/c31yTCAG4ksTa9MzrO1OeLfFWvbfG2+8McUjO+ywQ+qzVX/IvKJ2Kx4T
2/AW0rI9b140r8PrwZ8XX3zxEr6sA3CB127eLo6gLYlPcEf2GuAVPYI+RzkI
vXTBggXJZ7jVVlstef0+fzyrZuh9Wl77hfdavMWnu+aaa6bn1ejPCtQL+EOd
UvxhXdnr6Sz0Pz4Z2gzPXVmLyJqG+sMZZ5yR+iTtjznWdn6gNU6bWR71CX9D
vGHftbbEIZ4LvrQHqsfjPXzayHv0iewp5BHFr/Zy2jfekTPw/3RrzmTt81v7
LMSeehrV+3yG8iA9EIN5Jb1+cSk+Vbv2fvld14FZd/rI8dCjjz7a9teBz+RD
9gR631VXXdX2vxtoP+QB1qe9T31lv/32W7I+xQDibPu8uWGlNmPN5XjB/uh6
dm3KNXAOr6UYqJ31XnxhfWR+xA/0IToDfjST7r777hvUN5HXKG9MXqPyRfv/
LrvsUp166qlJE9Cr1E05k/3e/u415lhSLiR3NftTboE7yxi0GfLnr2ZjRqj+
ERzl9ftMzeGizXn97eJZ77/3Pu9T9q2yNyxQf7h26PS33XZbikFwi/jajQZs
Xoqf0WZKvsi5Fk3DHijXkj+7RukfznLmY2ulNuOx8B1u4/O371pbNFvxC26z
XuQDw+UE3Cn/zzUzcTq+xFk4x9rrBo3Jni63u+6661J8QmOxF4g5cKznKRbI
udBwkf0/8l+6Pd8sb4LXj3M8rp9Z963cL+R2N998c/J7yovCp9vbcP3ii5yb
yxVcv+IS1xxtxvXbeJ3ZgxYtWpTORZTDu7+c3toXA1kPtI9liXn9rnyFHwIH
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
A1Df
"], {{0, 199.}, {280., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->Automatic,
ImageSizeRaw->{280., 199.},
PlotRange->{{0, 280.}, {0, 199.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJztnQusbGdZ97lpiMZIjEai0bQNTdsUAxiVTwwoBCJEI0k/BJGQCLblolBD
SwuFll7Ooff7/UZbCrQFwqUWhCIXobRQrhIUxYDFAu2BAsX7fT5+K/mt7z/v
WbNn5uw9c2bOfv7J2jN7Zq0173rXev/v8zzvc9n/hUcdduRDHvSgBx398B/8
OewFxz35Fa94wav/7yN+8M/vvvzol7zo5Ucc/oyXH3PEi454xf954UN/8OH3
f7A9+sEPetDDfvA6KhQKhUKhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoXC
QvA///M/o//+7/8e+59N/O///u+Gm+AcfvZf//VfY+echv/4j//otmzDpPYN
7V8oFLYf4IDkhlk45z//8z97rtoTDP2GHAXvAc5N2/itPf2dQqGw/vjXf/3X
/n0rV80COSWPc8vzTUL+TnsuAEcllP9mPX+hUNh3oHyUXAEX/Pu///vc52rP
Mw+fID/927/929i5bEd7HvmqUChsT8AVe8JRyjvwFNyX3DKLPunxeRzc9c//
/M9jNiraxm9oH2t/q1Ao7Pv4x3/8x14mYvz/y7/8S//drHzQ8g3v4ZfUNTc6
NnU+jss2KP8l+L+4qlDYnki5Cq7wf3lhow3ke+QfzjHP+l3y1QMPPNDret/+
9rfHeAkZUJ2Rff7pn/5pD6+4UCisI+CW888/f/TSl750dMYZZ4x27tw5Ovnk
k0dnn3326KSTThqdeuqpG26nnXba6IQTThideOKJo9e//vXdsa997WtHF154
4ejd7373TG1o+RJ873vfG1111VUjUuK4PfKRjxyde+65o+9///u7HVcoFLYH
khMe/vCHd68PechDxj7faHvYwx42euhDHzr6sR/7se7/Bz/4wd3xfM7/v/3b
vz360Ic+1Ot12KZA68OV4POzzjqrO5ftYYNbC4VVArqEeoBzqPqFvjh872et
XrLRlnqK9hU+Yz7P32vtL2lTybUsxqDjL8+X52p/d5WA7QpO+KEf+qExDpqV
r374h3+4f8855CmP53v3efaznz26/fbbx+xkrgPSDu328trll19efFVYaQzN
t9g3Lrjggm7+Zkyw+d5x4fM8z/h6xCMe0f2PHoNu853vfKf/TbhHHlT/aNsG
HzF+fvzHf7yXJWgXbW39hiZd2ypATkhZKftp2ka/c93JLcpp9A2vP/IjP9LL
b3fdddeY7wKwb3i176688sriq8JagOeWZ9q5FnvIpPGi/jHL2GIstp8xhhin
P/VTPzU67rjjxtakUq5StktZ6dJLL+3Oye//6I/+aHc+2go4B9ewqjwFuFZ5
nH7wGrJvN9rsT/ug5TllrZ/7uZ8bmy/uuOOOXv5sfT+181988cXFV4WVxpA/
DoAXkId4/nnmlWfmkQPSbsvYZM5XDthvv/3GzvfZz362k6scU6xFpd7JOOc7
xlSOWdpIW2e5plWBvGT/wFlXXHHFTOuD6sD0xXXXXTe67LLLRrfcckuny8lR
2rWYD9JGBuhH+D91b/kd3i++Kqw6GCe59sPzzDpU6h/KU44Bx5nfTdocK2mz
+Ymf+Ind9EX2+9znPteNydRdtLMIuIljUragra2v4zzxv8sE1+L12jds8/CC
Mmer46Ffv/zlL+/6Wn3QPqLPzznnnH5f+zV919Gri68K6wBtr3ID8728IM/w
/o1vfOPozW9+8+jaa68dvelNb+r+32h7znOeM/rJn/zJnrOc+9l+5md+ptdh
HLusawHGHmMy4014z/p6ax+jrUPXsKqwL5UT4ZaLLrqo9yffaDM2WY5BToKf
0//8iU98YtfPysRyF7+nbVDkuc4777ziq8JKo31+Bc9pq7fAWynHzGIncgwx
LvBN/MxnPjP6gz/4g06PS1sW5+Yzxpq29zy/chc6C8cw9hzvk8bUpGvbm+Ca
htb50HNnkQntk9ZXAcB3/k8fc251RH/zU5/6VOcX6nmS24uvCusAbe25xnbJ
JZf0cpXrgjzLyjCz+gsoDxCHAtQ7n/nMZ/ZrWcoB/v+JT3xibBxlu9AH0zZN
22hr7rvqNvfkBK/FNYPNwn6De1qbI/x+5pln9lznPVSvhDOVxX76p3+6O/51
r3td9136PaS+bWxhC/1VvBetrFwo7AlyXKc/4aT1waF9pyHlBtf/4C98vF1r
VFaCs04//fRunxwH/h7clOtovIfDGAuOnRyH6ljZDm35bW46f4/9F2n/WiRf
yQ/f+ta3drMRwj/PetazevnVa/S6kaVomzZK7gk+Dn6fa7Xcx/e85z3d+u7x
xx8/OuWUU0YvfvGLx+KLPM74xkJhs1g0XzF+Wn9Un3lsVK7ra9difkdmct/2
91q+Yl9sWsJjUheEn3JdzN/3NdcikyMXpU8ukq+yf9PHIddIzBMoX8nd2Ntb
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
Ozc2o4wjnKedxVebR/FVYZ0xy/qg4xjbdtaNmgXYuFvfBHXCedtZfLV5FF8V
1hnz6IPwVcZlzDOejcXZk7XxbFvx1eZQfFVYZ8wSP5j5XoaO29PfnSe2p/hq
a1B8VVhnzOt/JeapP5jnt47dvHxXfLU1KL4qrDP2dH2w5YZltLP4avMoviqs
M4qviq9E8VVh1VF8VXwliq8Kq47iq+IrUXxVWHUUXxVfieKrwqqj+Kr4ShRf
FVYdxVfFV6L4qrDqKL5aLl9xbnKB4YebeRCXWZuPfmmvjbgpcq9+8pOfHH30
ox/t6qFRF4ecP8R7znq/9a2jRi45OTgX56Tu0Mc+9rGZ2kd+xbwH5AQBxseb
hz+vx5rVhdWHueWyJkDmksx8wJP8PHk+zCnMvvCCOa6yhouYJ7fCZtDGHiaP
Ms5pI231+riGeXKDeq5lXqN5v7g228q9mqemw2bAb7UxnDwXOeZ5pvhM/hnK
UT2E9pyZj3+W4/0tNmpV3nLLLd09eexjH9vXWPQVZJv9rLC6GHrG87mQn4by
A/s8+nmeE92greNCrr5Z6zptJawRRf6sc889t8urbE5h2khbW64Gs/CW12jN
MmQf+ITrnLcW0KyAC8xXYXuRR5aF5ATntfZ/YW7lWWPU6bfN1Jm1viIgv1rm
/bd2EXIg8J6z/6J098Ji4P1ybOczI8cwPqw9MHRc3ndqit9+++2dTM+GbvDB
D36w+86cw4sazxvhG9/4xui2224b3XnnnZ3OQhtp69A1zPIMo6dwrjvuuKM7
V9ZpWASUB7gn2b5lyauJ5CmR+TeMn/Jez5ojOrkvn5V55N6nPvWpY3Y06whQ
qzKhPL1M20Rhc3Ceyeeufbbe8IY3DB6TnMN9b+vAs59jyX0XVad9CPw2z6Sy
Ps/lkNw/1PZZ+HSI0/iM616ELOm4sg+t5zOpLYv6/fazrR7vk+yi05DPLbXg
4Czr6bKR4xaZ+M1vfvNuNo69MX8W5kd7v7QZ8D95PcmVTk1ycqcDa7TnnN7q
BnzneM1xlPPxrPXotgJtGwDcRBuVqYbkhWnIvnOsLPq5b7nQGljLkLEm8UbK
RLSHtlhrZx6wvzHtQ+efBp4pjucVu/rpp5/e2xetEUndRWStt7zlLb1tvrhq
PeA8rdwOXD/hnqPDaXvidb/99uvWadr7m89r+3nWrctxvQx5IO29rW2lHXuT
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
hefWjbMLhX0FKTede+65u+VGcTMnPHbldYqXbnVX/TV4Peigg8bWGbBRWW+Z
+BrlKvzc5easCVkoFJaPlJUuuOCCsbwO6EXIG4xh4qRTzloH3kpdznUG3pun
WD3YeCXseGeddVbv/zG0RjpUu6tQKCwe7Toi3HXRRReNreXnGiIyCUDmWIcc
pXLLvffe26+PwrvmXWUdkGvjlevFnxaeQu/TVwReVpeEo4qnCoW9h7TrOEZ3
7NjRc5ZcpY7IK1iHeB3zT8FVcLM+65mvyv+pRSsHe22ZkzVz8FQ+40Jh+Whz
yViTFZjbIWPm9HUgX906yFfam5CJzF2sbz/XYh1T5C8hF3l9+q/5f/mtFwqr
CfP+pSxijIo2eGB9MbBsH29t6MAYb7mFV+rC45vBph+odnY+k6va/FXrID8W
CoVxkNvBHCpyFz7gyCj4AiDDyA/LXutvfSrIQ6V/Pxu+VelPxntkQ2s1WnfD
NUNQul6hsL5AbsK+rnx14IEH9nYs+Ivxb86t1KWW6Z+V+auU7ZCrtMHBr9Y7
02cBrjLGOe1UWRO7UCisD3LMEsMiZxmnoryFbkg+mvaYRUOfirRTwTesceqj
gFylDyicRZtF5imEu1K2Kh+rQmE9oY3Z2juZDyrzlpLbAQ7Q12kZMBex9qes
A6gPhu3Dj5/9U/8TrW9HoVBYL8hTjHHfM9Yzvs66C8ozF1988ZjNe5FIXoFv
lPnSb931TNoF1FOtD885eD+pTmChUFgfZF1ixjZyDDJU8oFc5fobuuGybO/4
3MM7tIFN3/UDDjigb8+xxx7b7Zv1BNvchvAY+mWtCxYK6wl1rPTTMiYPPkq9
UG7wlbW5RUM7v7pf1v5R1jrjjDP6+hvKVvBS1ufItYH0ay8UCvsO4AE5wjoy
+f7SSy/tOWFPa7S28S/WVxSuUWbco35i2N2tV5b+++uSW6JQKGwd9FtIn1L1
MXzHkXuI7RnCLOuI8ouykLnoQdZaZr0SfuL39FvIuoCtT2nlhCkUth8yVkWZ
xvpXbsTBkPdB/YqcB/PwBXzY+pxfccUVnd4pN8FXmQMHpG8C65pp/y9dr1DY
fnAdTb8nbEXasOCtlLvIOZw8NW9OZfy/4B3quxoHiF8Vv6XNDLtVy0u0TZ5L
+3rZ1QuF7Qk5An4wH426WsbxkM/Tuqyz6IOp/yGXkVO+redjDgm4Sv2PNcPW
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
CwB5Cdu6sW3IVYwTxgtcxTogKL5aPOxT5gf6PXMqu+ZBTgzrWHA/uH/GIHJf
W18s71mhsE6Qo6wzBdDjvvGNb3RxIvpYZ51A7L1Cv8Qhriru2hok3zhv6E+C
zwMbMu9rXvOaXr7yODApf1bxVWEdkX6d2J7gq/SvJv+4c/njHve4Pj+T+Xkn
yVbFV1uDXLugz4kdMBei/u/6apEjA3hPUq7if/xNvC/lH1dYR+R4YH5Wx8hc
AczpxLhp/8i5u+q7LA/KRPg6aHM3XhoZGF3xiCOO6Pah/5GZ1QvbGj7l81BY
Nzj/Yvv47ne/O8ZP2nbZ8F8EzM+uPfG8T6qbXvXUtwbKvsi8WeuMeeNXf/VX
O7mK+9TWZD366KPH/Bsqf1ZhXwG8QjwgvMR6E/M0PlXpZyX0UcAW77GTzll8
tbVo89Kgkz/mMY8Zi9kh57RrJOQku/fee/tjyj+rsO5gzoWrnJ8z1yWcpX+V
NqtZbbTFV1uHjHFSps049F//9V/vuarNQXbaaaf1/llwVMYrFAqrCOP/gflA
fW6Rk5SltLFbM5335a+w+sCf9+lPf3rPVcw9WY+I/FmZf6ZQWFXk3Jw2DGxV
X/ziF7u1Jv0Q0QVZc1LWevvb3158teJI3wRipYgzxOauj6/zzute97pen6y4
g8KqQnt61i+Aw/CvMs4DruI5zzrxt956ax/3X/5VqwtjcIiX5j6R809fUvPC
u8570kkn9cepVxYKqwbmU+dWdEHsVTn/ph8P23ve855u33YdvPhqNdHmRWbu
YY2EdRN8e+Wum266qc9NViisIrKuCpyFraPNC+o8zPbhD3+4zxOQeS/Lv2p1
kWt9ylvUCst4HbgKcC9rbbCwqvDZhLPMC4otVhsHchVzMZ+hA6InuIHyr1pt
ZH1tX33/K7/yK939fd/73tfti81SlA2rsIrweWbeVaYyf3HWM7jlllvG8u2p
M5R/1eoj69P73nhQ5iDz+8BXrreUP0NhFaHd6hWveEVnp9JnXZ2Q7V3velc/
L2demY3qqxRfrQaG5pWUj/0uc2OlfaCwfGS8rmPM+2V9NzEUP+X32myAtma+
Ywynzp/j2nufx9KGnL+y9gLf+X4rYyLkl6zHaUwyNQLlKHO+IVfx2Qc+8IE+
DwnI6yy77L6P1g/Y8eMz2+Z2yOP8LOtfKMv5vc+TdRPz2cz/0wcWqK9mfjZr
AvndutcrY50e/nCctrnKGMt8n/3i9ed6v/sDa8NpG8i1GPut7Xv7kT6Ww/K+
tnGnm8UQ733rW9/qXl/60pf269muc/v6zne+s3uOco5u660Utg+Yu7B1ffzj
Hx996lOfGn3iE5/o3rt98IMfHH3oQx8a3XnnnaO77rpr9OlPf7rb773vfW+3
TsNnn//857vPOQ+f8f0999zTPUuMHcbMpHw2fE5+yPRtZux5/s997nOjz372
s107ho5fByR/OL7+4i/+outf+o9X+pdX+v8zn/lM955+/+hHP9r1Jxt9zP8c
yyt9wufs98lPfrL7/u677+54zH4XQzKJ7WI/2kX+c85NGz7ykY905+WzrUDW
PGf9z+fhmGOOGYtftp4dr/iCJn/Cq6UfbE9w/5m3yAWYPnjaOvGRx5Zg/MPQ
lnFc5qBNOynnoxYZ8RTqHvrcM9+39n9zftE24ozS34b3mX97HaEcxLVbByHX
czPntf1uH3P9eS/a/duaMMcff/zo7/7u73bze7HPs2a4uPjii8d8CHg2zjjj
jC259nZ9mpww5G7L5838uTx32NZzrai1d1Tuye2DvO/5zPvM5DgyL+BQTW8/
z3GkzUF/GZ9/6pF96Utf6n4zcxnl/Jlc5Pkyv1Huv45IHStlCvoQm01yRXsf
6GP63XzY9EtbD7ztM/b7kz/5k9Ff//Vfj9nPMr8jfMaGTn/++ef3cXm+UmN8
q65dUC+F3Li2PWtu8j9ylTzb6sBtX67z81CYH3JP1uPJfKa58Sy14yifOXNy
OVayHhkyPq+Z4yNtKu18n/FiyVfrDm19clXKqK1cxX3gNcdzW1ud77wn5lmR
7+xzcm/S73CAck7a48UVV1yx27295JJLNn3N6n5yJrq+Ps35DHG/3//+90+0
T7V+DKD8Cvd9aAfgtR0Hjhd0AcYDz7/jRXnK8cA8zqu5aN0vxxSyvfO9cUPI
WdqFU74CfI5N2pq8qVu262jrglx7U7bNvpZX+D/z+rpl3v6UNx3zyl059of4
jftN32a8HlDGuuyyy/pjPAcy11agtbe/6U1v6s5P3gV+j9ebb765l6tsU67x
0N6Wr9bZPlCYD8xXWf/WcXH55Zd3OhtzV7ue7vPh9wA7w4tf/OLRYYcdNjr8
8MNHz372s7tz5hyateHYfC7Je9PagmkXPJm5Q3i/zr40bQ30Vu+D6+GGVl7I
dbFcxwWsr7G29tznPrfLL/usZz2rzy9Ef8uD6pvKqOnTkPPFkHyFTWuzSL+J
vD5sVLYPmcs+4pmzjZPuOedcx7mrMD+MZ+dZMP9M6oRnnnlmv29bv6K1c/r8
scbn/z5H5m/W5y/1yRtvvLGLvxfwl88mr0N25GzHuqGVIx2nzBHKR8oy0/y2
W1izzWOz3q5cry2b3GhDOTs47tJLL93NdnbhhRf2Omz682X7fJVvUg5uOcWc
k4B5jueAdci0abJP1UcpiOSe1lbLdsEFF/T7ts/NLGNIOYDnlxqKqcNok+G9
MRgt4Dw4Km1qbJ43c4fYnqwn5GvrS7Y35+NF8pXHJP88+tGP7uyJ3N+sz0f+
Ic6LXJu1KjfiK+Hchb3eNspl/j8kF6nL5f/OmcxznGOSf1XJUIVF8xW2c+Uu
nl/qKzFWXMP3N1lv9zlun8u0QasbJlLuS7/Tdv1eHlOf2lvz9SL5Km1DrlvA
Aax3pL7vq+uFrU/9JL6SX9qct967zGGb+yhzA2tjDrXZay3/qsIQFs1XIP1l
zj777O68rh+q51177bX9uc27Jhw3OXYAz3M+945PfZuE8z7IMbS3bGCLlq+8
duRVORuuYb0j7fT0vWt+HDOPfEXfpwzH8e19y/fJPcpNylUic323/lVlSy+A
ZfCV/OF6lGOFsWme+ec85zndvml78bVd22L/BONSTjKuI9GOG2Wr1u69LCya
r5BxUnZEZ4O38r7an8973vP6/kl9bhJfMSckT/Fe+bmN85E3rXniOl/2Qxt3
P8RL8lvJW4VF85WxE4m0/zoeWL8CQ3yVYwZdUn+GXO8G5JkkNiX9mNjwT2XN
6a/+6q/6NgzZypaFRfKVcYOAe6rM6TzhPZav8Jnw/mTs4DT5CsBVX/va1zo/
qZe85CX9OfH9Yj4ij8Kf/dmf7XbdopW5Es5xbRx/YXtjGfJVcgN2jDa3vFsb
Y+v5k9fkImUBxsyxxx475kvqOFTX1DcDvx58vP/yL/9ykEeXhUXLV/Q391M5
iPU21385fxvfA9qY6kl8pZ8cMY3mU8+YBv3u9ttvv36dmbnobW9725j/QptD
gvfaFuXcVk6s9cHCMviq/S25RR7Rt3vo/OqDxqgYCwTwNdU/gs+Rvaif0vqx
+hv+HjUb8ffZW1i0fNVCOcZ72sZ6gln9GcAf/dEfjfnQ5Vwid7VzBffsqKOO
Gn3lK1/ZLe/DNPtUu7Zb2L5YNF9pn3A88NrO8/g1Mh+LofVB61irb5CLoG2r
49B8Sa3POMcfeOCB3XvWJ7/85S9vouf2HBvxle2Er9IPfk/011wDxVaXcYdy
zC//8i/332eb+H37Wnn1nHPO6XxR+YzzOBfQ166feA/4Lp8nfw/O0sbY2tQL
hWmYxlc8txlnmvaRtDW1z1v6zqRv1Ve/+tUxTuE9MhHrhhmHk7AtrG8xr8tD
1p1LvZK5/2Uve1lnRz7yyCP7seacr76i77exdCD1j0XmX52Fr5Bvcl6YNT+m
fe090YeDGjNyj/0Hp9Dv3pu8j+eee+5Y37ERQ6U8Je/R9/iovOAFLxi98pWv
7GIanvGMZ+xm10/5dufOnV2cM0jZaW/aFAvrgWl8deWVV3bfD+W8NH5r0jgy
51X6PhMnwu+g38E/xCbyO7fffvtu49g1oZan2LSdsD3lKU8Z3Xbbbf1vYtvK
mpnYTlL2Ms8N9ixkhqH+2Ft8ZYwB8TD2b2vD2Whr4XU885nP7GWhjG0itxXH
YZfPa6ZflGtbO6NyFdzkb8KH/p4cSQ3fNo5b7kpuqnW/wqyYRb5q/Ywn+R/z
nA49e8pLzNk8/64PMj55z5zd6iMg7S4+8+iNKSM97WlP6/yzATE9reznOcln
Zx1zNnkSLjQnrz5Ei/bLmiZfsRFv3Orfs+QfyFhM7wd5YNTXvMfKWnJLe25i
BW2L80v6xr/jHe/o9svcDtzDvH/o/uibqa9zD7h/xnnl72YcTqEwhGl8xXM1
q22hlbWQc/RrZi5u52t557rrrtttbKbPOu1q20b8NHEmgN+Qn3j+GbPKV2kD
2rFjRy8bwFe0g9fWD14sav1wI76ifbQLvmjjNX2/0dZeCzk75Rn6O/t/KD8M
/cXvXnXVVWO5a5JP3/3ud+9mA2h1uZTVDj744O44uMq2wMd5bNU/KcyCaXx1
ww039LV2stabep41KvNcvGJT/cIXvtD5Q6l/YP9obRnocjkv+5o+6cpBvGYu
O9qQnJLHmHNX3mI/NmSytjbUNddc083tcuui16KmyVe0j3WO9N9sfS03wvXX
X9/lY1GGzOuVr5/61Kd2+2Yu/MyJwFpg5gxKuU/QZ/ZvxttkDkDimJHvMm7U
9Y/kPPhq1usrbF9M46u0uWpfRR8wdtYt89f6fdortI2nPsjn+PGkf2PWPgDa
r/wdz5F5I4TPe5vXLb9PXwfOQ7vavE5Zf2MR2IivMq4y5ZtcX5i2Ice0a3Nw
j5zPeen3STUoaZf29jwH90vuzHmqvS6hLQubfuZFMy9q/n7ZsAqzYBpf8Yw6
NzrWh9ap22eb55LjGCPuI08pb1HLAGRcjHpB8sxQjjrGU+Z+ELmGr29jzv3I
LYz79C9lvSp12UX7+2zEV+bWlFtSPtLmt9GWx+lnLod575B5kd0yNrytX0Te
syEubGOb1LnbekhDa7y55qHfl/e7fNcLs2AaX6WvjvqFW/rzmPNlUt5xuYox
xD7EcMAzGz3n6nGZSz7zzyTaOn5tXA9gbGhHts20H/uZ+m7ry7gITNMHucbM
pZq58r0fkzY5yXXA9OFku+OOO3q7dvqm2D9+bn5R85Tx2xdddNHUa0s7ZF5n
+mrYzqG+KBQ2wjS+gl+G5CrHVet/mFyV+Y/lK+Jh5p1LPae/z+u89XrdHxtz
yim812+7Peei1gmn+TPwv7WNk/dTzpy06e/vfVOOpP4MyHpqAF5v1zqG+Ir3
xVeFvY1Z7FfIVdqd1FlSP7EOTo4V7BXY15///Od3z3lrK6FG76zrb9uJr7Rf
mS8/+R89dpo+yPbkJz+5y41MnWT8Mtt88bluClyXyPYZj6N+mv20EYqvCovE
NL5iXRuucU0wc0Za10Y/H+0Yk+qWqH+0+Y2mYTvxldd39dVX7+ZHMsv62VA9
Z5D5Drhn6X/Q+iYkX2W7iq8KexvT+Oqss87q953HDyv9yz02c+5m/oBp2G58
xUY7jYNq8wlP829Pv12OxU44zdc0OavlK9uUsaSTUHxVWCRm8W8XacNmHrcu
SeZQb8dPq/Pl2JvVR3A78ZV2K9bnlEf1dZvFv505IHW9jXzGuW9DfgR8bj8V
XxVWCbPy1aQ1/nlyIu/pM7md+MprRb6ZdOws8lUrkylnuZ+x0MVXhXXCNL7S
nzmfJ8fDpGeslbPasdPmYZuG7chX+F1ob5rHRyn3z/yr7XUN+Xp6XPFVYVUx
ja/wTW71hrZW5xA/5dhv16c8dtb8IduJr7Yiv+hWtG+WfMhDKL4qLBLT+Gor
84vuKYqviq8KBVB8VXw11L7iq8Iqoviq+GqofcVXhVVE8VXx1VD7iq8Kq4ji
q+KrofYVXxVWEcVXxVdD7Su+Kqwiiq+Kr4baV3xVWEUUXy2fr/RHM2bA8Ws+
Md4bj5NtWFZOO/zg8RPOfDbk3SCv8Sxo/ez43xxeWZuH77IvCoVZoN+mvJD5
QHNONQelWMaciM+1z7h8xdgBs45fxryx1tTJMl+Xuf+oWWYfEO8oRyyCr7LP
PD9tMC+o1whfyFfLzr1JX2V+UXkLn/tpaJ8JfYs53nzOXitoYx8KhY1APKxz
m7ndMkcoedKte9Dm8FwWsu6BHDNrjnX4J/3xka/kK/OLkjPHa5oUU7eVgIPT
t5/roe8dx7QJfayVZ5cBYxUyD6vPwiz5+hJZZ9dzcY0+Z6Lq4xTmxa5du8bq
8/mcvvWtbx3Ljw4WVedqCNTZsVYquUppF+2cJVdBC3IXYBciJ17m8eSzrOkC
jAdeBLKuBr+ROdeVa5ED5TQ4hBjAWfPvbBbcb/okdTf6bKjGR4uhuHba3tbK
4JqH6owUChshazEM5R6Bx8CQHrPMZ8ycgYA2Z+2ujcBYYdxnW5N/87rgYXTe
RcqPeW45t+WhzFm8bFk2f4/+MAfjvFxJ+7k+ZdWhawQ571TNicKsyJwJPGNt
LPJQPpll2Ejbui2ZP3MeHcJ5X1sW4JozJruN6d4TGW6WdojMiUB/K7e6j/Ww
bN+y6vOljJTvZ+nvodwPPkt8zjX6f+qL/lahsBGGnpEhe8ky1s2mIWt9bVUb
JtnWMxfqVoP+zRzRqXsmhyV/LsuGZXvS5pfz2Kwwl2OeQ77lWrPu2rz5hQrb
F8lX5lX3+XFctWOa12WuPz/wwAP9+8w9Pst8P4l7W05IuSvH6FYjf0+0cpVc
uVG990Wh5RjbM+v9buVHof7u92kDbfMOFQobwXHRPi/tmG25bRlox7JIDpsV
0+SV/GyR8lWhUCgUCoVCoVAoFAqFQqFQKBQKhUKhUCgUCoVCoVAoFAqFQmF9
8f8AX55fDA==
"], {{0, 241.}, {300., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->{50.24609375, Automatic},
ImageSizeRaw->{300., 241.},
PlotRange->{{0, 300.}, {0, 241.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJzt3Qm8beX4B/DbgKIoU2ggpUJEaTQ0q0SaLkLRPFHppoSkLs1FkwZCs1IK
GUJxRUJlHlKaKaXRECrr3/f1f1m2fc7d57TPXuvd+/l9Puuee/a4zlrv+7zP
83t+z/Muvs3um+4w57Rp02bM88g/m269z5p77rn1vpst8Mgv03ebsfOOu22/
3Qa77bX9jtvvuco2cz3y4FmPHPPMMW3a3I/8rAKBQCAQCAQCgUAgEAgEAoFA
IBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAI
BAKBQCAQCAQCgUAgEAgEAoFAIBAIBAJF4i9/+Uv1u9/9rrr77rubPpVAINAi
3HvvvdWFF15YzZgxo/rsZz9b/f3vf2/6lAKBQAvAFnzta1+rXv3qV1cLLrhg
tf/++ydfIhAIBG6//fbqPe95T/XEJz6xWnbZZavPfOYz1cMPP9z0aQUCgRbg
sssuq9ZZZ51qjjnmqLbccsvquuuua/qUAoFAC8B3+MAHPlA9/elPr5Zeeunq
lFNOqf72t781fVqBQKBh4BjEEssvv3z1tKc9LcUYt9xyS9OnFQgEWoCf//zn
1dve9rZq3nnnrdZcc83qm9/8ZtOnVCT++Mc/Vtdcc011xx13NH0qgUBfcP/9
91cf+9jHqiWWWKJ61rOeVc2cOTPG9yQgL3zqqacm3ubkk08O7UigePzzn/9M
+cxXvvKV1eMf//jq7W9/e/IlHnrooaZPrTj8/ve/r3bbbbfE7a6++urVpZde
mq5vIFAqcJJ77LFH9djHPrZ64QtfWJ177rlNn1Kx+Otf/1p9/OMfrxZffPHq
KU95SrXvvvum6xsIlAicJHvwspe9rFpkkUWq973vfdX111/f9GkVjd/+9rfV
O97xjmq++earXvKSl1TnnXde+GKB4sDv/c53vlO97nWvq+aff/4UM//iF7+I
sfwoQUsmXnvFK15RzTPPPInz/c1vftP0aQUCE8Kdd96Z/AW24dnPfnbi08I2
9Ad33XVX9ZGPfCRdV8fRRx8dGvURhDW48ygB1rivfvWr1WqrrZbWuLe+9a3V
z372s6ZPa6jAF+OTPeYxj0l61O9+97tNn1JgQLAW/OpXv6q+/OUvV6effnpa
ez/xiU9Un//85xP3b/1oc82jGHmXXXZJMTI91Pnnn189+OCDTZ/WUAFXKddJ
h/rkJz85cZWRMx5u/OMf/0ixJHtgzV1ppZWq5z73udUznvGMpBvAR73pTW+q
9t5776RFpD/0njbhgQceSOdP64Bjf+973xsc+xThxhtvrHbfffdU6/bSl740
1cqHHR5OuK9ql7bffvtkE+acc850zD333MmHdMw111wp9+0xtY9y4XLgbRoT
P/rRj6rNNtssnWPWSZYSF5WIWbNmVWuvvXbKH1tTfv3rXzd9ShNCSXFzk/jl
L39Zbb311kl/zAYstNBC1YYbbljttddeqUeCg45ggw02SL7EtGnTqsc97nHV
Flts0ZrYnvb3oIMOSv6OGqwDDjggxUKBqcOf//zn6kMf+lD1hCc8IflsJ510
Uqtr3tgCPqZxce2111aXX355Gr/GjsfDVvwv6GaPPPLIauGFF04+wote9KLq
gx/8YHXllVf+Fy993333Vd///veTz87HYCO855hjjmk8znBfL7nkkupVr3pV
Oi95zauuuqrRcxoVuO70qdaLN7zhDdVPfvKTpk/pfyB3pZ/gxRdfXH30ox+t
3v3ud1dbbbVVWu/e+MY3pnXQ4+zFn/70p6ZPt1W44oor0nUyr57znOdUhx56
6Lhck7gTH8XHYE9wEvyPJoFjkM9cYIEFUn3mUUcd1aq4Z5hhfTnssMOSz2a9
cO3xl20Bv8Ba9/73vz/ltJxnjpXz4XePv+Y1r6mOO+640HT8P+Qhjj322OqZ
z3zmhNbdH/7wh+m13rPYYoslv7KpPkx8h6985SvVKquskngH/EP4DoPFD37w
g2qTTTZJPIS1xprTBl/dObAN2267bVo3jFd1OGIhvMnGG2+cfE6/exznZjzj
4NWpjjr4XHKBbCgtERsrjpgd+GBiEj6E977rXe9qzC+7+eab0/c7/2WWWSbl
3ZqOd0YNeAjXHW9tHu65557VDTfc0PRpJV/XXH/qU5+a5j7/WI2eOhJ8/I9/
/OPEsct5vfnNb07cFRtCj8+Pvueee5r+ExoFnQOO0TVZcskl0z3uFd/4xjdS
3Om9r3/969O1HjT4LOecc04al2ILHKoxERg8rDViPHlluohPf/rTjWpW8aSf
+tSnqqWWWiqNUef04Q9/OI35Tv2O3+W+rJVsiTVPLEJnN8qocw8rr7xy0kT1
ClyleM17l1tuuaRDGjRwz/JqdJJqAtzP6DfbHNS8rLfeeinOsO40yUupxdtu
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
EAgEAoFAoB/4PxA7QG8=
"], {{0, 166.}, {264., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->Automatic,
ImageSizeRaw->{264., 166.},
PlotRange->{{0, 264.}, {0, 166.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJztnQmYjWXYx7v6vuorJTshoexLKAllDW2EslQSSVJISiqSJUKJECJlS6Xs
S7SQLcouCtkiChUVJS3P53ef65nrOM6MMTO8c8z/d10nMufMeZ/33P/nXt/z
5nvgsfoPnXvOOec88X/H/lO/eaeqHTo0f+bODMf+p0G7J1q3atfywVvaPdmy
VcsO1z/wP8f+ccSxx3fHHv977OGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh
hBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh
hBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQggh
hBBCCCGEEEIIIYSIEf7777+4R1o+BhEsQdvAmX5/3ufo0aPu999/dz/99JM9
Dhw44I4cOeL+/fffeF/3zz//uD///NP99ddfCT6Pn/Ecfh+vSegYfvvtt7hj
OHjwoL1OWkwb8Dn//fff7tChQ+7nn3+Os0NsLD674fn8HNtJCF6P/SVkqwnZ
YEL2nRx4T47rhx9+cF988YV76623XNeuXd0zzzzj+vfv7z766CO3ZcsWO6ZI
HbD27777zs2ZM8ctW7bMnhMNjp21LF261M2bN89eE3kMhw8fdrt27XKff/65
GzFihOvcubN79tln3cCBA91nn33mvv/+eztOcXYSbofLly9348ePdz169DAb
eOmll9ysWbPct99+a9oMt0P0snnzZjdjxgy3evVqs8looL/du3e7+fPnuyVL
lrj9+/ef8P7omOdgp6NGjXLPPfecvf+AAQPcJ5984rZu3RpVB8ldN79z0aJF
7uGHH3a5cuVyl156qcuePbu77LLLXObMme1RuXJl0+aePXuO2ws4H2PHjnV5
8+Z19erVc19//XXU92EP4T3uuOMOV7p0aTdu3Li4n/H72O84h40aNXI5c+Z0
GTNmtPfPkSOHy5Qpkx3XfffdZ1r8448/Umz9InXg7XDx4sWuTZs2Ln/+/Pa5
8/ljB1myZHHZsmVzt912m/vggw/MXjz8vW/fvi59+vRmw/H5Afb4SZMmueuu
u87VrFnTLViw4Lj3x9fhH1q0aGE26HXAMaABjuGmm24ye//xxx9TxCfyvr/+
+qvtLxwTdn/NNde4hx56yA0bNsyNHj3adevWzVWvXt3OQ758+VyXLl3s/T3J
1SDH8Msvv7i3337b3pt1onf2Hn4ve9ETTzzhrr76apc1a1ZXrVo188vxxSQi
9sAGyH+IpdAY9o5O2rVr59544w2zg+eff95VrFjRNIH9YBc+JkquBnl/Yt0p
U6aYrfv3b926tRs+fLj5HvxhlSpVTI8FChQw/7x3795kr501sO/UrVvXfjfa
W7t27XHPwdaJG/v06WN7U9GiRd2rr75qPhuSq0HOy9y5c23tl19+uXvqqafc
zp07j3st70Xs0LhxY9Pogw8+aP5YnB1gGytWrHBNmzY1jd1///0WU4bHe8SX
2Fb79u3NVrEjXgPJ1SD2RXx6++23W7z16KOPuvXr1x/3WnRAHIr28EUlS5Z0
Q4cOjdNBUmB9+/btcy+//LL5OOx748aNUZ+LzyVG7tevn8uTJ4+75ZZbLG+E
5GiQdW3bts10x95DDEA+GA32yffee8+VLVvW1ahRw02dOjXJaxepB+yQOgH7
OnZYu3ZtqytEA3snJ+M5xEyvvfZaXB6TVA3yevbzXr162fuzD5BzRsP7oxde
eMF0EL4PJAXyWPJetHfVVVdZzplQnomGyFPvuusud+WVV7pXXnnF/j1Sgxs2
bDiunusf+NyFCxe6OnXqxGmQc/rxxx9bfFmiRAmLL+KD9aNPtPfuu++ads92
0kJfBjtctWqV+T7ioO7du8dbd/N6IxfBVtjvo2mQ/CqaDWKr5JLs416DvBcx
FnZdpEgR820JnXNvx8SOhQsXtn0gqWD/M2fOdOXLl7c4Fy0kBGtFA8TF5I3k
zZy/cA3iH1kX+0rkY8eOHaafm2++OU6D7EvvvPOOreXWW291X375ZZLXczbB
uebzwT9Qu+M8na1a9PtwrVq1zD8R65wqXoMXX3yx+TFqpNFskFhy5MiRZn9e
g9hvuG+k5pcQ+ILt27e7Tp06WX3iySefjLcOezLCtVO/fn33zTffnPQ17C+v
v/66xeP33HOP5W3+9xBHX3HFFe7OO+90DzzwwAmPZs2aWbxNLO01SMwwZMgQ
d8kll7h7773Xeg9pGXRGvEFtnpiL3IP+0PTp060Oxh58tmkR+2EfLl68uO3P
1CdOFa/B8847z3wZOoxmg/ha6g7UPL0GsUF0ie0SE6Lfk0EN0cfO2HVS7Za1
v/nmm3Y8DRs2tD0isa9Bb7yGnqHXILq86KKL7Peha/9gbf5PnkO8EE2DnJ/I
fk1awfeksSV6o+iO/OD888+3c8q5e+SRRyyfxjfy3LNFi16D5CLs0b7OcCp4
DZ577rlmS+RqnLPIB/+O78IGvQbxK/QAsNsmTZpYvHYyeA0x66m8Jhqsnd5D
7ty5LRZOjP7RDL1z9E8fD5/sNcj6brjhBtMoe7h/EGfw54cffmi9durLXoPU
WVg/fSB6f4mpdQY9u5TSENvwmX711Ve2t5Kr+L2sQoUK1o/iM8JusNOePXta
7Zpe1tnQn8F+Jk6caDZBLkNudjIibcBrkPOGjokbsLvIB7kXPQ5q++EapP9A
LkoslhhfRB9j8ODBcTWcyHmTxEKfm/yUz5UYIL5alMfXj7ABapj0B9iTk1MX
Dc8HOXfk5gnhfQUxMOculuF8sn5iiTFjxpj9ZciQwc4texlzIdTnyMGJ/8nZ
6cuQi1eqVMn2LvbNyJmRWIN8kBoLmqA2MXny5ASfz77D/oMNoAX+Pzl1UfwA
8zjFihVLVJ2Tz433pi7CzAB1EWLTpIAmfG+Q/jf+K6F9Nbx+xb5MfRaSo0Hy
G84/MXq5cuVsT4hv9sDXRQcNGuQaNGhgz41FP+BrxPR6mAvC/xMfMZNRqlQp
9/jjj1u9OlpvjPnBMmXKmA7RI+eS88DvitVc0dsVeVWhQoWs3o6tRIP1oTfs
jdiN2ih6TI4G2QOYjcEHXHvttTYrkpBdcWzEy9RD6JfT20sq2Do+lM+VPA1t
EVtGe39f/2VegN4kcyzElpDc/uCmTZus70rs1bZtW+tZRtqSryujV/wFnxWx
QDS9plY79DkfsQPngXoa5yxdunQ2d0HNAJtIqMaGztinmR8pWLCg6ZYYqmXL
ltZjJp/GplPrOYBony31Jvw+dQZyHPrj0T5b1o9e6SNjs9Qm8WPJ0aDvvT/9
9NNmg5xLdBGfDpiNIS4hfqRPTZ6VHFgTv4Ocg3olvXKOh2PlGPyMOXU69lv6
eJwnagZ+nSkxJ0P8wb/xIDZnnf5aDY6B96JvwewQPoM6bmQfw8d2xKipzSf4
nI88DlvD31144YV2LolD3n///ah2wxpYV/ha/Hwhc1133323aZA6BPE88RE2
mhpzRd9v4dgi5335vOgJ0DtmP2IekjoHz/N2yN+ZIWF2kjjsxhtvtNkySO6c
DL979uzZFu/z/lwrQP85UgfEGxMmTLBcgBoPx8IekBz8jAI+nXjY56Uc55o1
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
hOY=
"], {{0, 154.}, {225., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSizeRaw->{225., 154.},
PlotRange->{{0, 225.}, {0, 154.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJztnNlTVEcUxq0kD3nMv5AHK0+aKisPqbJSpcYYNSkDgwhIUso6IpuyCIiI
IqKiiIiKiIAiKkgUBCSkBJXNpSRgAEXQAmRXFlcW15P+OlxqmEG8M1zmMkX/
qq7IDDCnv9vndN/Tp/trZ1+N+2ezZs3y/5L9o3EKWujn5xRi8xX7xtbH30Pr
4+a6zCfATevm973z5+xFe3bZsOsLdpFAIBAIBAKBwrx+/Zry8/PJb+NGcrCz
o+CgILrEvu/v61PbNIvi2bNnFBYaSr8sX05RUVGUde4c7Y2Opp8WL6aonTup
s6NDbRMthtTUVPrd0ZGKi4tpeGiI3r59y/tpSUkJaaytKfHoUa63YGJevnxJ
rs7OtG/vXnry5MmY9969e8f7ZdCmTdTQ0KCShZbDw4cPyXblSjp75gzvi/qc
OX2a3Fxc6ObNmypYZ1nU1daSxsqKcnJy6P379wbv5+XmktOaNVRWWqqCdZbF
8+fPaS3TKiU5mV69emXwfmpKCm0KCKDamhoVrLMsPnz4QNu3bSMvT0+6e/fu
mPcw3qzTaili+3Zqb29XyULLorW1lWu2ccMGqqqqosHBQWpqauJjjgsblypv
3x7X/wWGoG82NjbyMfvHRYto7pw59MP8+eTj7U3V1dV8PBfIB/0O/bOrq4s6
Ozv5/Bx+PTAwoLZpFknkjh1Uyubn6Kfw62Q2Hj148EBtsyyS8LAwunr1Kv//
rVu36FhiIjWKObpJCC2VQ2ipHEJL5RBaKofQUjmElsohtFQOoaVyCC2Vg2t5
5QoNDw/T9evXhZaTYHNICFmtWEE/L1lCfzg68rymWOcxDqyfpaWl0Ypff6WE
I0eopbmZ59l/Y7rGxcZSd3e32iZOe5CXRHzUurnRrqgoarh/n6+fIU/05s0b
6ujooINxceTm6kp5Fy9yzQWG3Ge6IW8e4O9PN27c4Gs9+rlzaApta2tr+c/6
+/nRP5WVXGcBUW9PD8WzvubO+mJ2djb19vZ+Mm8OjZETLi4q4r+HPtzM4gC0
nolgbMa6rbOTEx0+dIhaHz3i9RnG6AHN+/r6KO3kSXJeu5Z/7ZuB9UaY4yQf
P041NTVcV1P7lBRLsba2e9cuKiwspMEZto6BPgUNlFpPhKa4J8b2bTWA/2Rl
ZfF4pgvqp9C/mlm/AMeTkuhQfDxf99KltLSUTp44weOaOZBrh9x2KQnGzR0R
EdTW1jbm9ZSUFPL18eFrrcDLy4u+mT2bTjB7decs6enpFBgQQP/euaO4beMh
1w657VKSQDZXwXNHm959xr3zZnajJgCs9/Cgb+fOpWVLl1J5efmov51ic2/U
pd6ZAtvGQ64dctulJMZoGbZlC9mvWsXvedOIj6ihpRw71NJy4YIFvMYUczrp
Qq3uageHMVruj4nh9Wg21tY8NmHerYaWcuyQ2y4lwWfa2dpS9J49vC5XulDf
48Tmdrpaxu7fT48fP+ax397OjvsYYry5tZRjh9x2KQk+M3zrVu4rmMtIF/Jg
qEnT1xLjIubN+B4+hto0NbT8lB1y26UkxsRLqQ2I9xUVFWSj0XCf0bq7q6Ll
RHZM97FHagPAnDz+4EH6bt48XjuthpYT2WEpWr548YJ/RZ0a6ilX29urpiVs
QB5U3w41tBwaGuLPaPrPfIgteE/K7eD/Us4RzxjI6eIZA6+jJtVctZO6dgDU
zJVcu2Zgh9x2qQ3yunh+MNdz40TorsNZIkJL5RBaKofQUjmElsohtFQOoaVy
CC2Vo6ioiJKSkkZzh2qCXCZqkywNvh+nspLvEfX09KT6+nq1TaINvr7k6OBA
11jfxPOMJYB1EzyvIV+1MzKSjiYkTIt+uZX5OM6ZwDP2ltBQunfv3rR5PtRH
qqdycXLi+dburi6+L9mbaYr6Kv0zCswF6juwrx+1CMgPIN+CGgfYibwRch7T
Bd16Kqz1P2hs5HkB+DnyBZcvX6aVGg1ZW1lRQUGB2fYz4rPLysp4rSHWz3Ky
s0f3o2MNHff6yOHDPH9+/vx5vm9dTSaqp+pi9zt6927y0Gqp4NIlXqeBfHZQ
YCBfT0V7pgqcMxG6eTPfM13O9LxSXEzr162jbeHhfP8vbJTqvOqZr+NnsX6L
Nox3LsVUMlE9FfpdxtmzvE4IOUDU+UE3vD/AtP6L9U2clxGzbx+1661JT5an
T5/y+Iy/j3N4epid+Fxc2Mf/Z1YWtyuB/QzWgQB0xViEM2Y8Rvb5415M9f50
aJKbm8v9AutRj3TqqfDZ6APItUZGRPCxWzd/qPs3EDsxV0LMyszImPT5OIgp
6PsuTMMDsbF8PjteLQxew77puAMH/q/hZG2R6hCgN+5FBrMHa2ZJx45NaYzv
7++n/Lw8qqurG1NPNepTbN6BtT7YN9F9leqp4G+YQ8O/Ktjv4W8aC+IF5jsh
wcFUXVXF+9hE9UQGNZws7mA/tVTDia/IsaMOWf+MCiWBHbi3kk64j4nj+JRc
JP9Cf/b08OBrBdgfLse/MP7uYfEYaxF/Fxbyvm2MX+rWcGLcxBkKmLuhjdK9
Nsc5FNDTwKdGxm5TkOJZZmbmqH/1fMS/PhaPTQWfjTPi0k+d4vMmnNmlX6dl
CnLPo8O+ENQ/oG7pUz5lDJJ/YVxC3EUtpTSHkhuPTWKkH7a0tFBMTAw/+0jy
eVPO6DPmPDq0a6p8QIpnuE/+I3Oo7AsXKJjFNrnxeLKfLcUpU8/om27n0fF4
NjKHQl+4wObTxsbjyWKKJtP5PDrYPzTSDnPW+5qqiTiPzhBTNRHn0Rliqibi
PDpDTNVEnEdnyGQ0EefRGWKqJuI8OkMmowk0Rn4BuWc87yKXgfnITOuPuiih
yXTfu6UGQhOBQCAQCAQCgcAy+Q8sueNT
"], {{0, 88.}, {83., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->{46.51171874999994, Automatic},
ImageSizeRaw->{83., 88.},
PlotRange->{{0, 83.}, {0, 88.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1: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
"], {{
           0, 72.}, {189., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->Automatic,
ImageSizeRaw->{189., 72.},
PlotRange->{{0, 189.}, {0, 72.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJzt3WWUXFWzBmDWd++P+/P7xx/cJbhDcHcI7iQQgiaQBJcEd3d3hwDB3Z3g
7u7uvm+efdfm9tdrMpaZ6dM99a7VkMx0ZvY5vWtX1Vtv1Zl+yIhB2/1riimm
GPU/E/8zaPCey44cOXjv9f498S8bDB+1w7DhQ7dddfjoocOGjlx0yH9N/OKQ
ia+3Jr7+e+IrBQKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCLSBv//+O/3+
++/phx9+SF9//XX68ssv01dffZW+//779Ntvv+XvBwKBnsEff/yR7WvChAnp
sssuS0ceeWQaM2ZMOuSQQ9IFF1yQHn300fTZZ59lmwzbCwQmD3zYm2++mc47
77y01VZbpaWWWirNPffcafbZZ08DBgxIiy++eNpoo43Scccdl5599tn0888/
N3rJgUDT4s8//8z2dthhh6WBAwdmW9tggw2yjzvhhBPS4Ycfnrbeeuu04IIL
pnnnnTftuuuu6emnn852GggEuo4vvvginXXWWWmRRRZJCy+8cDr44IPTI488
kj7//PP066+/pu+++y49//zz6bTTTkvLLbdc9n0HHHBAevfdd9Nff/3V6OUH
Ak0FPu6JJ55IgwYNSnPOOWe2t7feeit/vRbyNzZ46qmnprnmmistueSSafz4
8enHH39s0MoDgeYEPvLSSy9N88wzT1phhRXSww8/nDmStsCnPffcc2mzzTZL
c8wxRxo7dmz6+OOP+3jFgUBzg80ceuih2cdtu+22Oa9rD59++mk66qijss1t
ueWWHb4/EAj8J95+++00YsSI7Of233//9NFHH7X7fnU7flFOt8oqq6SXX365
j1YaCLQGXn/99TRs2LDMR+It+bH2oEZwzTXXpNlmmy0ts8wy6cUXX+yjlQYC
rQGx4U477ZT93EEHHdRhfib/u/jii7PNhZ8LBLoOsSSuEhe53XbbpTfeeKNd
jcknn3ySjjjiiBxbqtnhOAOBQOeB67/22mtzXU6seOedd05SY0IbRheGt2Sj
nYlFA4HAfwL//8ILL2Sfhbvcc889c47G7mr9nfrBe++9l0488cSc+6mN33bb
bZXXgLkGZ4V1iou9nDOhGQ00Et9++23WNPNz9F377bdfuv/++9MHH3yQ6+By
PFqv448/Pi299NJZG3bggQem999/P+9bdmtP06tUqfeAremLcIY4Hy655JKc
i6rlP/PMM/naqrTeQP8Bm2FfJ510Ulp++eXTAgsskHUpo0aNyrzK3nvvnePJ
RRddNNvkHnvskfds0VvyG7Riaghq5r/88ktDr4cNWcNLL72UdTN8+Oqrr559
sxfuR23RGfLkk0/msyLsLtDXoPX68MMP05VXXpm233773EfAn4kjcZpsbZNN
NsmaS36DDrOAH1QnZ698pJpfI3WY7O2xxx5Lu+22W163mHmNNdZIO++8c9pl
l13S+uuvn88Vr6FDh6Zbb7017C7QENhzfBabuu6667J9HXvssdn/sUW6THro
n376KcdtBb52yimn5PoBnfRVV12V93Aj4Ox47bXX0ujRo/N66Nn0H9133325
FomX1QdI082XzzLLLNkPPv744/2iT8JZ6Dojn60eSo5Gd1JszOekl+DBBx/M
db2yR33dnt1www3TtNNOm7bZZpvMy9TaZV/hm2++yf21/BsdtvxN3lbrd+01
OewNN9yQ40x+EAerH7dVUT5PObg8QJ9IbawSqCbMapCzbbHFFrmnrraXx/fO
PffcHI+qI5xxxhnZ//X1WVp0NXwcDrbwPG2BjR199NFpxhlnTGuuuWbeh/X9
FK0AZ6L4/6677so9kfy7Xix1nvB11QYOkC3xC4sttliON0sMyfZwFurqfN26
666bz9O+jNfsH3kcnmT++edPV1xxRfbTk4K9aB+qTYqJ5XVVr310BeIMZyHO
WXwtp51pppnSzDPPnHbfffd85oTNVRvshx2JIaebbrrch8DOim+wv9XX8Zvy
JPEanUtffa722O23357PhCWWWCLHux3Ft3ybcx9XdPbZZ+eYs9nh/PNZvPrq
qznOHjx4cI49pplmmnwe0R3JzftD/toKMKMI/yCGxGf6M/8HbOudd97JMd30
00+f+Qs20Fe+wx66/vrr0wwzzJDnudCCdmTvr7zySp7/Yk/ii1xfs8K1ytFo
F+SqeFs+XNyx0EIL5b/fdNNNuS7UijF0q8JnxTfg2H2WePdazg9PL15bccUV
s93hD/uqdmAN6t3iJ/wJHqej38tPb7rppvkMobERizUjxMm4Ij3Haqr8mftf
dLHycHzupPqRA9UG/dTVV1+dczpcBc1zbQxJB61eJ74UZ/ZW7YD9q23gKtm6
/XTPPffkupvf68/tcXPW67zgj/0b+Wlt/icuxdlWWaviHoiHaRFOPvnkPDtq
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
t256TS/3LuyuffwvS0EfNg==
"], {{0, 98.}, {221., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->Automatic,
ImageSizeRaw->{221., 98.},
PlotRange->{{0, 221.}, {0, 98.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJzt3Qe8ZlV1Pn7/aoyJyScaiTQpAlIMHQSpglIEBASlE6oDiIB0EQlFAYNB
kJIIOvSiIiUgbQQp0jvSERDpCIEgASkp++d357/wzOt9Zxi4c99z3lnP5/M6
OHdm7jn3nP3stZ71rLU/stVX1t3mne94xzt2e+8f/mfdLb+64q67bvm1z7//
D/9nvZ12+9K2O4374mo77T5u23G7fmKrd/3hN//3D5/3/n/veMe7//BrSSQS
iUQikUgkEolEIpFIJBKJRCKRSCQSiUQikUgkEolEIpFIJBKJRCKRSCQSiUQi
kUgkEolEIpFIJBKJRCKRSCQSrccrr7xSHnrooXLjjTeWxx57rPzP//zPoC8p
kUgMGK+//nr59a9/XU466aSy9dZbl7XXXrvsvPPO5dxzzy3PPPPMoC8vkUgM
AP/93/9dnn766fLTn/607LDDDmWxxRYr0003Xfmbv/mbMtNMM5VPfvKTZf/9
9y/XXHNN+c///M9BX24ikRgD/O///m/53e9+V6677rpywAEHVB748Ic/XOab
b76y6aablj322KPGELPNNluZY445yjrrrFOOOuqoctddd5XXXntt0JefSCSm
El599dVyzz33lKOPPrqsu+66Za655qrcsOaaa5Z/+Zd/Kbfcckt5+OGHy+WX
X17222+/sswyy5Tpp5++/P3f/33ZYostyqmnnloeffTRyjGJRGI48F//9V91
XZ9xxhll3LhxZf755685xHLLLVdjiCuuuKL89re/rVqEvOP3v/995Ymzzz67
fPnLXy4LLrhg5Yklllii7L777uWSSy4pzz///KBvK5FIvA2oQfzHf/xHjQf2
3HPPstRSS9V4AT9Y9+edd1555JFHat7QGxPgCbrD3XffXY4//viyySab1Hhj
lllmKausskr51re+VWsdL7/88oDuLpFIvFVYt7feemv59re/XVZfffU39ISN
NtqonHDCCVVPeOmllyZZx8QZYo/nnnuu3HDDDeXQQw+t3CD2wBXrrbdeOeaY
Y8p9991X/1wikWg35Ahyg5NPPrlsvPHGZZ555qkxw6c//elyyCGH1HUuN7Ce
mzGDGMLf83W/ih8C/hzt4oknnigTJkwoX/3qV8uSSy5Zcw65x7bbbltzkaee
eiq1iUSihbCeaQgXXHBB2XHHHcviiy9e93m/7rXXXnVdP/7445U/etew/29t
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
R+hdcG7ND3/4w1Gb9zhIDCs/uC96ln4Rve4+ZmC2LcenjfC986mJT+VBw7L3
vF14hvz85orI7fUFfO9732vl+4nvr7322rLJJpvUdURT0h/ZdQwrP3heYgXz
MJ0f7v7MrmnTvgOux97j586jJoZ2LuEwPIO3C8/QPALPkDfHmjM3OUCXwPf2
gTczJ220IL4z80CvUnxfz1HOYw9yBoUzaPUrdP05DiM/iPc8O3mqfccMG2su
zih0z+7Ru2bWLz1prD78qrypzVq5d8zew9MufzXzU49s27hsLOEZqkebkyiu
8gzNLYzcS+wuzhIf6jH0sx0L+P56m+US1ox5TPGcfM0etNNOO9U96Qtf+EJ9
rl3GMPKD+Xbnn39+1ZLl9WZ9m6/b/Lr3yUxdvan08LH6iA/WXXfdOtvTvhcQ
RztTxExyZ5Idc8wxQ1Unm1J4B+Vdce4KjSa0W++snw0vhFnK5qv777EADrj1
1lvrfHf1MNzUzAfFM2eddVbtU/Du8UR0WXMeNn4Qc95///31bB6aJI7wnjW1
Inq4eVjmWfz1X/91+fM///Mx+/zlX/5lPUtMndzcreZ123s8BzGEM0PM+us3
N3SY4Z69k7QY85Y9Q+etRe2XZmmNmoVs/oDasJ/dWMA1eG7Ow5UP4ifcFO+X
a3ee1b777lvfPx4Xe1VXY8Fh4wdzLMy2Eo+qGVqHzX0aPEucbv2ZdeH5jtXn
1FNPrV4oc8d7PZP2HucRqsWa0yU/EmNPa1CTpv9be+oBnmHoyqE7OyfK19SG
xV2Tm4U2mvC9eKrxk9jGPDV8FbB+nBXBU4nrzWG0xrqIYeIHz01ub+6ms8Ht
K3rPRvIcuW8fXxvEZ6T9xO+LVeVD6vyf+tSnKpeM5bs/aMQztPZokmrS6psB
GhJe57FW79xhhx3qvNWxhGfH82D+wZJLLlk1Lt6VOA83tBMz3u1RckZnR42l
hjpaGBZ+cB9iAnGfOph9RY4vl+gSvP/2npjr57yipmY/zPAM6bY0R7GBmrRn
GHGWdadX5Zvf/GbV/8RZzpMfRA4mBhUD0kVci1zVcwvgAn5YsYUYg17R5Lmu
YFj4wbq6/PLLq/ZnXdGQ6cxdy/tcr73HfkSnsPfISXpnjg8joibtGdIV6MdN
7Y+uLJ5ybqNnbOZZb+44lrD3uB4ag+sR94WmFFwn97FXeZb2rq7tV8PAD/YV
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
FPXOtu9NngMu4AsQG/FD2lciJ7W/0Fto/jEHw9yRtt9XP8S517xfYiH5IF5v
iy9oaqB5jq93Uw7Z9jN/usYPEF4be4+1Yq5fU4uM/BZ3iDF4Ttq+N/XGBnKM
pn8oZk7ymVtL+jG6MHNyUoizeeWDtEqzldqo4Y8GYjav2TC8sIsttljt5277
WusiP8RMEf0scojw2sReG/VOMQZ+UO90VlNb8/TwOtlX8J0aDV0lYqLm+fDy
jjijt837zptBzI6hI+uxMcPCOaNtf//eCuIZmjtunek77kJ9rYv8AOG1sffQ
+Z2LTOcPRH4b516LMdrqxeGTUcMUG8TsxYgNwke533771biC7qJ/e1g8AzFb
Sf+t3gzPSx2769zXhP3KM3QGhv3KM9Sv1tb9qomu8kPMNNXT2TxLq+kTEJ9H
vdOf0afRNn8anou+/zjPwpyQWB9ypXPPPbfmSnQJmn9ba2FvFZ4JDck9io/4
X9us2U0pPEO9yM7AoLWYV93WPpledJUfIHovaN94Wfx9xRVXTDQzXX6rr5Me
pN6pV7ote1N4nQ466KDqJ1TnExs0Z5eKQd2fdaMHXz/+sGl47hPn0YnUpdV1
5YNt7SWZEsRZo+ZSewf1cNPOunJvXeYH6O29oDmI5QJ6EmgTdD9xhHpnW/am
0FHtK67dvtJ77WZamGnMK0nrjzPahg048corr6zzscwDMuu6+bPoKsSz5lHT
yOwBZje2vU+mia7zQ8wWEJNaQ729F75+3333Vf3BHiy/pUsMmr/jPG7XJeYU
G5hFHTmpGIGeIuahWZpxIRbqaj1zcgh/LH2fzsIjK3fsQo7eD3JHz4w2Zm15
hs3ZWV1A1/kBQouUX1hLvA/NOlnTd6R/C5cMOocPH5fYgG5vX4m+/9BOaPl8
5GZbmPEVXvJhBS7AidaTeqfZxG2atTsliH52+pfnS/9Sp+lKn0xgGPghZs3F
elJbbvZeNPNbMYZcRE4yqH6YiA3U+2mS1oFaTMQ0rpvOIKYQ8zg3gQ7RFt1k
aiFmkuNCz5C/EG+2TVN+M4hnGP2C6jNNL2xXMAz8AKFFWnNiiJg11zyjSX5r
joo1R/Mb1DxbPhnz+9X8rQNep5jHGN4N88bEOjR99Ys29vZNDcgL5YN6TPiu
zc6iOXeJG2OWvThV7mg/kvN2UVceFn6I2QLNmJ2epwYaX7cu1UB5DMTsYoyx
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
esc6azteffXV8vDDD5c77rij3ncg+SGRGBnWifWAH5ZZZpnyox/9qK6jyB/8
av1YU8ccc0xZd911y+yzz14/a6yxRo3T6RNd1Sbc33PPPVfOOOOMynvJD4nE
H/H888+XE088sSy66KJ1zW+33XZVx8MbzbjAevF711xzTTnooIPK8ssvX2aY
YYYaU9Am/BsPPvjgRNzSZrjG119/veqvEyZMKNtss03lhgUWWKDei7pNIjGt
g253ww03lO23376uD5/VV1+9fOc736kxw8svvzzRXmpNPf744zV/32WXXcrC
Cy9ceQK/7LjjjuWiiy4qzzzzTP1zbYX7kRfdeOONVY/4zGc+U7lx7rnnrvzo
97vAcYnE1IZ1QIe0JsQFK6ywQq3/fexjHyubbrppOemkk6quh0diT/V3/P8H
HnignHbaaWXzzTeva2uWWWYpK664Ytl///1rnNE2bcL1y4PuueeeMn78+LL+
+uvX65511lnLSiutVDkxcqVEIvFHNOOC3XbbrSy22GJVi1x88cVrXKBm8eST
T04UF1hvuOW2224rRx99dFl77bXLbLPNVuaYY47630ceeWS58847awwyyHg9
+OyRRx4pZ511Vhk3blytxeBB97fHHnuUn/3sZzXXyLwikRgZ1hEfkbjg9NNP
L1tssUWZZ555alwgrhAXXHfdddUX0cw5xAjPPvtsufLKK+ufWXrppWvOQfP0
b/z4xz8ujz322JhrE6ExuLbLL7+87LXXXvXa3M98881X65yu7de//nW9tkQi
MXnYQ3GAuEAMwHMoLuArWmeddWo99O677/6TuIAf4tFHHy3nnntu2WGHHcr8
889fZppppvKJT3yi7L777uWSSy6pa3UstAn89cILL5RbbrmlHH744bXWQmOg
r3zuc58rxx57bLnrrrsyl0gk3iKsMVrjFVdcUeMC9T8xuXW/5ZZb1hiDn6C3
HioGue+++2odQG0Dr0SOT+Ogh1q7U6OGiK/4Iu+///6qnWy88ca1xuL700bo
kddff32taaYGmUi8fYgL5O7igp122qksuOCCZcYZZyxLLrlk1SouvfTSWvvs
1SZwwM0331w9EjyY/g6u4HH+3ve+V3s6cMlo5PzWOp4Sv/B4qcfQUOQSoTGo
Yz711FOpMSQSowzrTz5hTR9//PFlww03rGtd3rHKKqvUfqebbrppRG2CF1tu
If9fYoklKk/gGJ4D3ky66FvVJkJjiDiHr1OcI14IjYH3KTWGRGLqw96rbilH
UA/kHbAW1QnXW2+98v3vf7/mFuKCZs4R3uYzzzyz9nDQLuUqyy67bPna175W
9UMx/5TUQ0NjuPXWW2uMwrehdkJnoJnQSdRPUmNIJMYW1rFYXW6x995717hA
zULdUFygr8vXmz1ceII2QBfUC8p/EOsZz9AR9YdOLo7AUWIZdRYaw0YbbVQ1
BnzD13nggQeWq6++umqhqTEkEoNBxAVidzE8X4G4gG9CXPD1r3+9xvzigl5t
gq+bTigv0RcVNVSaZ7/6Rnw/tdLzzz+/fOUrX6nagu+3yCKLlJ133rn6N/SU
tcmXlUhMywhfolheDxdvlJwjvNqHHnpozQF4qZraIB7gubr44ovLAQccUPbc
c8+qU/TWNZo+hquuuqr+WbUIcYe4YbPNNqs+TvEEH1QikWgfoofLGhbjiwdo
kdawOuMpp5xSNYjmfJmICez5+rvEFb3/Js1TLwiP5lprrVV1Udyz5pprVo2B
Jxr3ZC6RSLQfTa/2rrvuWnu38IRcQH3U7/MyT8onJc6gceIMsYEYQU8IjUF9
4pvf/Gbt8cBHWa9MJLqF3h4uvV5zzjlnXd/iCvGFGohaSDOfaMYTF154YdUY
+Bj8PTVRvkyzXPBPzmhIJLqN8GrzOX/3u9+tPmdapHqoWTNmseinpF+odcSM
CRqDeVZ0DPmE/OTkk09+o3aaSCSGB+oJTa+2+oacwzwWHibahP6uo446quoK
Yg3csNpqq1VeoW/yOqTGkEgML6KHiwfaLBaagh4uuQPO4HlUr1xqqaXKvvvu
W2dc4pXUGBKJaQPh1ZZXHHfccWWDDTaoPu3pppuuxhOhMeCR9DEkEtMmwqtt
dpV+LZqDPIPGkD6GRCIBYgS+B14pWmZqDIlEIpFIJBKJRCKRSCQSiUQikUgk
Eoku4P8BJiQ4iQ==
"], {{0, 254.}, {264., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->{40.73046875, Automatic},
ImageSizeRaw->{264., 254.},
PlotRange->{{0, 264.}, {0, 254.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1:eJztnQm8jNX/x+vfoleWVCK7a8mSiCxRkjVl30WWm+6VfYuLyBoi+xKSJaFI
EYok+xLZl8h6o5CU9r3z8/6+Xsf/MWbuOnOfmbnf9+t1izFz53nOOZ9zvst5
zjfi2a4Nov/vhhtu6Hnblf80iIyp1KNHZN+GGa/8pXGXnu3bdYl67skuL0S1
i+rx8LM3XXlxxpWf2Cs/N1/5MYqiKIqiKIqiKIqiKIqiKIqiKIqiKIqiKIqi
KIqiKIqiKIqiKIqiKIqiKIqiKIqiKIqiKIqiKIqiKIrr/Pvvv+b33383ly5d
Mt9884356quvzJkzZ8yFCxfMjz/+aP766y+3L1EJMP/995/0M/1Nv589e1bG
wddffy3j4rfffpNxovgX2v2PP/4wsbGxZtGiRea5554zDz30kMmePbvJnz+/
qV69uhk2bJjZsmWLuXz5srxfCT/Q1g8//CD9TH/XqFFD+j9XrlwyHqKiosyC
BQvM6dOnzZ9//un25YYN6OmXX34xmzZtMpGRkeaee+4xd955p7T7fffdZ/Ll
y2fuvfdekzFjRlOsWDHz6quvmnPnzqkOw4x//vlHbJ4pU6aY4sWLm7Rp05qs
WbNK/zMOcufObe666y4ZC08//bTZuHGjzNtK8sG2QH9NmzY1mTJlMpUqVTIT
JkwwR44cEZsE+2P16tWmbdu2okvmxcGDB5uLFy+6femKn2D9w+YcM2aMKVCg
gMmbN69p166d+fTTT2VdZBwwHkaPHm0efvhhGSd16tQRHapdmjyY+06ePGli
YmJkfmvZsqXZu3fvdWsc78MnGDVqlGiQfli4cKG8roQ++H6LFy82jz76qKyB
06ZNM7/++ut17+O1NWvWmNq1a5ucOXOarl27yrhQkg426NKlS03FihVN6dKl
xdb3BXo7deqU6du3r9go0dHR4j8qoY1zHs6RI4fp3Lmz2KS++Omnn8ySJUtk
zJQpU8bMnz9f/ZJk8N1335mxY8eaPHnyiK2Jrx0XtD/rX9myZU21atXERlVC
G+Lg69evN40aNTIlS5Y0c+fOjfP9aPbo0aOi1WzZspkBAwbIXK4kHux47Ih+
/fqJHco8iMbigv7asGGDadiwYYL6Swl+fv75Z1nXiAMkdF4lFjBy5EixR9u3
bx/nuqn4Bj97//79YlOyDuJvB+IzSnBDzOX111+XmHezZs3M7t27E/wZfEdi
eQn5jHI9qkEFnBpMqJ6S8hnlev7++29z6NAhsSXI/YwYMSLeOCd52V27dpk2
bdpI3mjcuHEpdLVKoEBPs2bNMiVKlBCfcMeOHfF+5vvvvzdTp041hQsXNi1a
tJB5WUk8xLLOnz9vhg4dKnHOLl26mG+//TbOz+B7f/DBB6ZKlSqmfPnyEs9W
Qhv6dOXKlebJJ580FSpUMO+9916ccU7+jVwi8XHyhD169JDYnpI0yAvNmTNH
7PqaNWtKfMzXWmg1yz4Z1sAmTZqoDRIG4F+QE2YfGv3KHrW4YnPkCNetW2fq
168v+2fYz4FNpSQNbMvPP/9c9qjh3/Xs2VPyE546RH/o9aOPPjK1atUyERER
YrsSJ1VCH/ZCkZcvVKiQqVy5suSM6Vvnemj3ch87dswMHDhQ9moQH9+2bZuL
Vx4esAebPGupUqVknxI2xuHDh6VfiFujPWwPbFDanJwQ+wU/++wzty9d8RNo
68CBA6Zjx44mS5YsYpcuW7ZM7B76n3GAvblv3z5ZJ1n/7r//fjNx4kSdh/0A
eULamr26tGvmzJll/wN2/muvvSb70/C7sVPoH3S4du1a3RsRZqAl9g3T1/h5
7BklV0HsmzWyd+/eskeR8fHAAw+YV155Rf1AP4KeiHVhg9SrV09yrzw/wbMS
PENBDp+42QsvvKAxsDCG9fDgwYOmf//+pmjRotLvPCvBGECX+CDs1WavVHz7
OZSkwZqIbYqPOHPmTDNkyBCZB999913ZK6p7tMMf+ywp/c2cTAzu5Zdflnwg
/oc+P6ooiqIoiqIo4YsvW5/X1Q9IHcTV1zoOAgfxFvYO8jwTMVLbztZHZx8b
Z2vps2LhDfs2yDmQr3Lm/ojX2VwxuWM9w8K/oDOeCZs8ebKcZ8BzvfbcLLtP
u3v37rKnl70ySnjCnjPOjeG8oGefffaaPTB2bzd7hcnTM08r/gMNssaRF7r7
7rtNr1695Kwn4P/sD2zQoIGcbzdv3jyXr1YJFMy3PDfB2ZZVq1Y1H3744dV/
s8/tct4F+2k4f1bxH6pBBVSD7qEaVEA16B6qQQVUg+6hGlRANegeqkEFVIPu
oRpUQDXoHqpBBVSD7qEaVEA16B6qQQVUg+6hGlRANegeqkEFVIPuoRpUQDXo
HqpBBVSD7qEaVEA16B6qQQVUg+6hGlRANegeqkEFVIPuoRpUQDXoHr40yOup
XYOp6Rwxbxq0968aDCyeGqQGGmf48HPu3DmzZs0aqTeXmjTIOXOcIcfYo7ZC
ajjn36lBzm6i1hZnqXF+E+epUe9ONRgYnBqkzgtnaq1atUrOVxs+fLjUeaQe
VmrQIGf2ob0vv/xSasK9+OKLcp4YdfeofxnOa6LVYNu2bU25cuWkthK1t1j/
Fi1aJPYRte9Ug/6HcXfmzBnTr18/c/PNN0u9HWrU33TTTSZNmjRSe4f5r2TJ
klK3NxzPlkRbnKdJO7z//vtS94vaU7feequ0B+c6UieauYrzVsNRi9z/1q1b
pb4ktZaoc3bLLbfIGODPjAHapH379tJO4dgGboCNRS2d7du3iw1y4403Xm3z
IkWKSE1C+oPXChYsKGdLcg5wuIxDW1+WM4zxezlHlRqzadOmldrEzDvURr3j
jjukBiNrADXDOeeWz4VDGzCnor+TJ09KvS3WQOZi+p3avNQbZDwwBmiHpk2b
ytmjqcVGDxTW5jp69Ki0O7Ym6x115h577DGpeUbdVepd4R9Se5X2z549u9gq
jNcLFy6E9Di08w9nGGN3YWvffvvtUn+RGNTbb78t8w01afk760CGDBnMgw8+
KHPR7t27xV8K1XFo5x/68ZNPPjEdOnSQe0yXLp0pXLiw6dSpk9m8ebM5dOiQ
GTdunKlQoYKMD2IGxGwYN8ePHw97G93foD1inbGxsWJbNWnSRLTFj63zSf1B
51n3jNPVq1ebZ555Rvooffr0Mj/iPzIOid2E0jikDRg3+HizZ8+W8cS4w86q
VKmSmTRpksSiLNwbMYkZM2aYihUryvtor8cffzwkxyHXyZnaxFp27twpdSax
d5h/WPtZ56g56ayzi92zZ88eqZVevHjxq7VhGzduLLY7tqlnDXvlWmzdCHxp
4i1RUVEma9asV/XE3zds2CDzojdszWxiMk888YTYJqwJ1EemjjYxDOqWB7Ov
aH0+1jbGTfPmza/WG2YNJP5y+PBhn5+nbTgLnjFbrFgxGYd8njWStTIUfEX6
h3764osvJN5CbQPsbsZCjRo1pNYn/ewL5potW7aIT2htdOI0rVq1knmazwZ7
G6Q01t4gxr5x40apK46dYf0dYg/Lly9PcG1jfhd6w1ZFf9gl2Cc1a9YU2y0Y
50OnzbV27Vrx6RhzrH3MP+3atZO28Zx/bG7M816wI4hdYLvhOzIXYR9go/P7
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
"], {{0, 154.}, {
           225., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSizeRaw->{225., 154.},
PlotRange->{{0, 225.}, {0, 154.}}]\), \!\(\*
GraphicsBox[
TagBox[RasterBox[CompressedData["
1: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
WdPef/99zpACQIBSUlJcXcYKFSq4uItqealWIwAgLIqXf/PNN9azZ09XD+DG
G290+6QAgLD480WTJk1y54tKlChhTz31FLXTASBAyl387LPPrG3btm6N3rFj
R9u+fXvUwwIApJLW6MpreeKJJyxv3rxWqVIlV1tX50gBAGH5/vvvXS+jOnXq
WK5cuaxXr1526NChqIcFAEglrcUVYxk0aJCr6dKoUSNbtmwZuYsAECBf0+WK
K66wQoUK2fDhw6npAgABUu7iV199ZV27dnX10Vu2bOl+DgAIi2IrR48etYkT
J9qll15q5cuXdzVdlP8CAAiL8s4VN2/atKmLo99xxx22Z8+eqIcFAEgl1XTZ
t2+fjRw50tXo8jVdyF0EgPBoD1RzePXq1S1Pnjx27733ujOkAICwaC2+ZcsW
N4/rvOj1119vq1atIncRAAKkGovTpk2zUqVKna7pQu4iAITH13Rp166dZcmS
xW655Ra3ZgcAhEWxlcOHD9v48eMtX758VrlyZVfThX50ABAe9aNbtGiRNWzY
0OW6dOvWjX50ABAg5S7u3bvXHn74YcuRI4fVrVvX5s+f734dABCWU6dO2dtv
v+1q6OrMqGq60I8OAMLja7rcddddrqZLs2bNXD86chcBICy+H92UKVOsWLFi
rvbic88952LrAICwqKbLypUrrVWrVm6Nftttt9mOHTuiHhYAIJW0/6maXKrp
on501apVszfffJOaLgAQIN+PTvW5lI/ev39/+tEBQIBicxdV06VBgwb28ccf
sy8KAAHSnL5//343p2fKlMnq1atnCxcujHpYAIA4KSf9gw8+sNq1a1uBAgVc
D2nq6QJAmHz85bHHHrNcuXLZVVddZUlJScRfACBQykP/5JNPrHnz5q4/3Z13
3mm7du2KelgAgDhoTX7kyBF3zkg1AcqWLWsvvPACtRgBIFCav7/88kvXQ1rn
jm6++Wb3cwBAeLRWV72umTNnWsWKFe2yyy5z55DobQQAYdJ+qWoCKPfF56t/
9NFHUQ8LABAnrcvnzZtn11xzjeXOndv69Onj+h4BAMLjzyE98cQTrlZAlSpV
bPr06eQ2AkCg1GN6zZo1duutt7oYTKdOnWzbtm1RDwsAEAdfT/3ll1+2EiVK
uJrqWreHUqtR47/Q3yu4BlwDIJbm740bN1qvXr0sS5Ys1rRpU1u9enXUw/qP
NGbVlPz000/de4b2Bi60e9pfg88++8zWrl17QV8D9QRYsWKFpaSkRD0kIF3Q
vaD+pKqprlowQ4YMSZf3h/YAjh075urW3HLLLa5PU9WqVe2+++6zzz///II4
OxV7Ddq2bXvWa5DR53Zdg+PHj9uSJUtcD8Yrr7zS2rRp434O4F/3iGoEDBs2
zNUMqFOnjpsz0gvNUar/rvcHvU+UKVPGLr74Yvvd735nf/jDHyxnzpxWt25d
Gz9+vB04cMB9PhmNroFqO2jeHjBgwE9egyeffNK2b9+eYa+BenWpn+6DDz5o
FSpUcN+vefLksa5du9qmTZuiHiKQbmjOXLp0qes5rfnh7rvvdnkxUdM+ru5V
1R5Tbo7uYZ9TP3bsWFc/uHz58vbHP/7RChUqZC1btnT9m3SuKqOsV7X21t71
U0895dbkl1xyyf+5Bo888ohbq2pu13uWvobTpk1zdSAy0jXQmQrVsrj22mtd
HTqdg7766qttwoQJ7jmm+R7Av/haMM8884wVLFjQ1YJ58cUXI5sTdA/v3r3b
Jk+e7O5hrcW0LtW8rrlN9QwUgzh48KCrBa/8etWwUX34UqVKuXWb3sW1tg11
XlO8WO8dr7/+ul1//fWWP3/+09dA6/GzXYMiRYrYRRddZJdffrnLY9IZhNCv
gWLms2fPdrEmfW9qLlfMSWv1devWuWsQ6ucHpCWtiXWPdOzY0d03illv2LDh
vI5BMQM9W9577z2XY6k5SvOY8nIUM1ZdSd3DPrbgYxJaw2l9rjHrDJXWsZr7
tDewfv36YHJ5RJ+b3jMWLFhg7du3d/UbdA1Kliz5X6/BW2+95eY+XQN9DStV
qmSDBw92839I10Cf08mTJ2358uXWs2dP95zW56N3sS5dutiiRYvcXJ8RY0zA
uXJmLZiiRYvaqFGjzsveo4+ZK16sXqmlS5d297BiCZrX3n//fbdm1XPnp/68
+n5888039vzzz1utWrVcPEZzW/369d37uXpsp+c5wF8D5bEoZq53JeUi6XNo
3bq1e8793GugGIViM/7P+2ugd5/0fg30fPr6669dXE3P5Rw5crh4oGpE67mt
r+NPXQMA/5fWclu2bHHzquYDzQVpXQtG96f+TeXGq1eH4sX6uO6661zuvGKl
mut+7vi1htV+qvZ89WzwsfabbrrJzQla/6W3d3V/DRRTUYxYn7+uv/Y9p0yZ
4n4vNddA5w6U56l9CMXaFY9J79dAawft1b/00kvueaRnka6B9hAUb9u8ebN7
ZgFIHd03H374oTVs2NDFZbUPlxb8e4HWn40bN3Y1CrQ21z08evRoFzOJd+7R
/KA1reLJ3bt3d3FYxdo1x/fo0cPlM2tPLep5TWtm1dlRzKRJkyaWN29eN07N
w3pHSk5O/kXXQLF2xXCUL6QYjt9v6Ny5s4tfpJdroHibcq30Tla4cOHT8bYH
HnjAPZuImQPx8/OM9qU0rygWkBY05ygvTXOs5nLFi/V+oBjq0aNHf3H817/H
a52vWjbKidH6V7kz1atXt4ceesidt4oiFuHjxdrHVb8pneHNnDmz+//evXu7
Xz+X12Dnzp3uuaEYTux+g2Lt2kPRv3O+50z9ezoHsWrVKvd1176nj7clJiba
/Pnz3TMppH0AIL3SPKf7TXO75oS0+jf097/zzjs2fPhwt05T/uS5jpX6uUPP
D+X1KNau9apyaRo1auTyezR3nI85zcfMtWep/VvlYWp+1fpc+7u6FuobmxbX
QO9feoYp1q4zCLGxdl0X7bGej+ebf85oLHof8/E2xcz1vvbaa6+5Z1Bafd8B
ODd0L585Z8Q+O35uvDheWu9p7av3gIEDB7q4kmLtyq3x82lanrHXe4neGTR/
ak7VHKYYQ40aNdxz5dtvv03zM/663oq1q6bAo48+auXKlXPXQHmgWsMr1q5r
lFZj0Ndg37599uqrr7r8TD3L9H6id4Zx48a5/V19PxBnAdIv3Z+KhypGP2nS
JPfjKGkNrHlF7wXq4ac4vuYVvfvrrNWyZcvO6Rl7zWN6D9B8eeONN57OM1de
i+I/im2d7zNSPtaur4ly+TWna0zab+jWrZstXrzYrevP1Zh8TQP9e7fddpvb
r9W/p1hTv379XPyFmDkQBt3Pyj9TXovmUMUWouZjIFu3bnVnLlW7TLFcxdoV
C1C+iH7vl8QifMxH7wXap/Uxc82fqlOiPUq9n0QVLz5zv0HPG7076Br43P4v
vvjiF8WBfMxH7wWKmWvfU9dZ63OdP1COquJtF0KtHiBq/p7Xu7g+fio24udH
5S6otlLsHKXf0/2q+Kje9du1a+d+rLkyPeRJawzaq9Tcpfwe5RH+6U9/cmt3
xXaVR5jaWIS/borfjxgxwp370Typ2LWvXaCcvfRylt0/e5QT/uyzz1rNmjXd
fkNsrF3jTe3XS88CxZMUU9Eehq9poHyqqVOnpipHFcAvp/tNuektWrRw+cK6
t892D2odlpSU5Prg3XvvvafPteicn961tQ+mNZ/mSJ1l0pluzZ/6M4qBpAd6
DumZpLiL8ucUg1BOt9bWyq+bM2fOzzpj73OsFR/XfOhzTGrXru3mS+0LnsuY
xrnk4yOKgwwdOtRdAz3fFCdp1aqVzZo162fFR3xNgxkzZrjaMz62pZpbY8aM
cc+O9JgfD2R02q/TvOvvba2vlOt85r2o+1NzmN6nb775Zhez0H2tulM6Q6Pc
Eu0Jak9S97d+rFiH8ug0x6UXvu6fnjOaw5VPp7w6zUcJCQmunorOMmnuO/Ma
+Bzrd999181/+nPKK1HMXGeflGOtvcn08G7y3/jcfuUSKkakz0XrdsVNlNeu
2gRn28v1+6+KKSnGpjxzXTudR77nnnvctdM7TwjXAMiIYuf0X//61+7dWftn
WofGOtuc7uMPmh+1Lvv444/dfa25XD/WXK6/Jz2+e2vs+tx9rF01xDSn6Yy6
clRGjhzpYgp+bte6W/Ocro3mPc1jOuOkvHM9A/W+ElqOdWwNGdWK0PlTvW8o
Fl65cmUbNGiQqwXk89p1vZTnrnwi1QHWf+trGiifSN8HoV2DC4HPRTvbOuVC
cSFdg9g5/be//a2r5ao5S3GT2Nzhs83psXStFI/RvqP2xfTjEPhaWspLefzx
x935Vr2vKG9FzybFhPV7OpelPUXNY9pj1O+plqLmw9BzrH2sXfO3Ym/ab1BM
SvO1ajc899xz7kyuYuY6x+VrGuhdTGf8VdNA30dIX2L3fNR3QB9+nXIh0Xu5
ak7oXlZs1Ne6y6hzu5/TFXfQeXLFy/25ENVa937OnK68F8VSb7/9dvfjkCgW
obW28vv0rqEYktbtyl9RbEVnl7R+Vb6M5jbNfxktx9rH2tUvUOfD9GzXNdDz
TdfD1zTQ9dC+sO6NjFTDPiPx5ySefvpptx+ur52+jnpGKydAuVgZ/eumeVvz
kGp5K6as+KI+VF9J93A8OQEh8HO6ao8ob0F18lSTRHOYYsvKb5b/NqeLciAU
o9XaNcSaej7Wru8D1UxQ/o7Wqnp30fNOewOKF8fWwM2IfF679s6Vn6lroF5L
ip2rxoPyNrWvkJGvQaj8OQnd04qJ6X7VO5diivo6+vN3+t6eO3duhluXiO97
qO9fxQwUI9U10PulfqxroP9XrFE5ARltLz92TlcOh+KiEydOdHteWo/pjLnm
558zp2cUPnas91T1cFX9WvWj0L1yoeRY++ebclJVf03rPeWZ69zBhXINQuL3
fNSLW8/h4sWLu/iY8pm0B646d7q3O3To4PpH+Rwl1epXbDE91Hn7pfx9q89H
uXna89E10PuJPm/dy3qO6cyhrouvdafro72yjHANJHZO1/uJYg/a29QaXc81
xY0VS72Q5nRPz3tdHz3z00ue+fnmY7LKdUmPe9341/uxYoF6x9Z+h85JKH6q
dajmMT2H9f2r72XtfbzyyisuJ0BnfPXfKQdXuWvnqxZQWvDnY7QfpPio3ks0
n9erV899vsrP0/evPhSTUg6uzt9pXtcemfbR1B9Svxf6Pv+Zc7pi6Po1vbfo
6645XOe6dU0utDkdSM9i+x4qTu77t1arVs29V+kePXPv2ucEKH9J+Qy+FpDv
86v8p7SsBXSu+RqBmsO0/lQeteIs2h9UXoP2fM6MrcTW+9M7uHICfv/737u5
TddRtU1CugZnOtucruukOIOeearHra+78mAUk2FOB6KluSY2Xqz5WLEU7Wlr
z0fnpf/bubHYnAC9k2uvJLbPr87lpefcED8vK4agWIrvU6w4ufKNf04tb99b
R+fvdAZRf4ffb1BvT53BSK9nB0Xj8h+xzjani77misGozrfe5ZQHo689czoQ
DV+fQ3O2zgioHl1svFj7Hanp3+r3TJR3rPW5YhG+toPW+qo9p5hOeorH+Fig
xqXcK9Wx1vykWIvOwiu3QTkOqdnz0X/rzyAqZ0/XQM9I/d2qX+TrIaWnuV3j
UaxJY9acHZuT8lNzuugZpf0xncHRNdOzXF9v5nTg/NK8o/inz030ddh0z6r3
4y852xd7PkFnEXwtIOW+6e9X71/F5KOe03xuovLMFRdWrEl7Anr++Nz7X3IN
9Ge136DcR+V065yK5nf9WDEaX8MqSr6Ota9JqHNFeg7FntX/T3O6xq8/r5xz
5UH95je/cbEq5nTg/NA9qBiC1lba8/S16JWzorPOPl58rv4t3+c3thaQYhFt
27Z1a8IockPOrOGsHHPN5crtUcxEPeu1h38uxuXzILXfoOurd6Ezcx/P1b+V
Gj6vSfOz6pkoJu7jbTorqTF7/2lOF63p9e6h2h46Z6qvMXM6kLb8Pax4seLD
/h72ZwQU7z4XfQ/PxtcCUt6f1oB+DlVus2Kxvh5SWvO5iarhPGDAAPfvK9ak
55rmdo0vrfoe6u9UHEt7FrH1kGL7L2hdfz7mdj1HfbxN8SBfx7pNmzYur0nj
jB2HrpmePaqlqPcZjTWW76mpdYLeyfS1Vb8gvQcCOPe0jtJZdq0TtdbSPayY
p84C6l5Ni76HZ/KxCN3n6jOofBBfD0l5Inp3Vxwkreb22HOw+vd8j2HVClTc
4XzU5Ijt86va2b4eksaheI/i+fo6pdU18LEm1d9Qvqnf61B+pn7tbHlNomun
canPmNbrZzvT7/OF9MxS3ErvYHr/AHDu6B7WfK14sd6ZFe/08WLloG3atOm8
19XxazrFIlRP29dD0rpVNZY1v+q9/1z2C9M7gvZstefpa6bq2ab88bPlJqY1
/86k3Efl/+kMgJ5vypu84YYb3Nx5Lq+BjzVpHa38Ut8vTPmHOoOQnJz8H2ty
6Nf9OVHtk/zUe4z+HT23NXZ9fvrv0kvPCyBksfWLFetQ7FZzhq9f7Gs4R7lH
qbWf1nVLlixx51VU/0dzu2Laqs2s9/tfkhvi3wt0Dla5lPp7NZcrlt+zZ08X
E1Y9iijPA52t17H2FzXWTp06ubrV5+IaKLdS8R5f/1U5loq/qf5rWl0DxXd0
/lbvX4rnXKhnLIFfwt/DWnfpjL5ywxVnUT6H6rHovVhr1vRyrtHnPupdQjmD
2lfTePWh2K3vlRBPryzlm2ivT3u/ii/oGii3Uut15Wmkp/pRvtex+ijofIDy
gxTn17uE6lOrh3q810DvQv4a6EMxL10DXfO0jDVpPa+zVr4Pver4Afj5fG6i
YpmqWaw4teZG1QxULp1iuOl1reT3LhUL0jygOlFasyu/0tc8VP/Zn9MrS/+d
zu4rXzA21qSauIoJKyaQHsXWhFKs7FxcA98zzV8D5U/6nmlpTWsLxdQVV1JM
6f777z9n+VRARub3pvR+q1ipz030sVLliIdyL/m8P8WG1OdL7xmqYar4r3Iy
tI49W91H/VzxYMWadF4z9gyrr316LuPTaSm2/4J6Met9xdda0DXQ+8zZ4v8/
dQ3UR1OxrfN9DXz/C50z0x6w5nbtrwI4O7/XqPp/ykX0sVLd+126dHH3tmKl
IcxjZ4qtzay4r6+zr/x2fa6an3yc2Z+D9f2AFbNQ7EKxJuWfKy8vxLqfvtaC
6rfqGmitq/X2z70GWp/rDIDyMxVvi+IaKLajvQLl92he176Gr7UO4N90f+od
XbmJlSpVOt0rS3kjb7311um6iSGL7YOommKqJaJ5XXODzqGrXpj2UXVO1efl
aS5TvEG5khmlX9iZuY++7qPyMbWO1zXQuVzF23wNAvWtUG5i1NdA49dzSfFA
1ZtQrWLV+Eov+zlAeqBYqNZePjcxtleW9tIyWs+/2JqHyi1X7qNiEdrzVFzB
r18Va9Icpz7GGa0vh899VBxN86PP//ypa7B+/fp00y9M6w/li6rPsp65enfQ
9ymAf8coFWv2Z9m193Qh9MryNQ+Vm6i8P81l6pWlvAqdw1QMKqP3yvLXQGeB
lQ+jr////M//pOtr4OP8es/QO6VySfXcCf0dCjgXYnsPaV2uvIKoYqVR0eeq
vA7tF6hnmmpHprfcxLSmz9VfA/WgSO/XQM8YneFVfq3WIg0aNHC58QD+HWNV
DsOFutaJPdfINQjjGigmqDNUms+1h62aw7F1wgAA4fA1ebWvr73cypUru73v
9BDzBwCknnKxVKdA54WVu6O+K8rfAgCER2ty1beZMmWKOw+mMxXKZSK3EQDC
pD1u5Zuqppj2S5s3b+7q2QMAwqTzA++8846rF6CaocOHDw9inxcA8P/TfqnO
xmou17k5nYFVXi4AIEyqUaP8etV8UF2L7t27u5oWAIDwaL9U9bxU60A1JNUX
VXun5DYCQJh0Zkp1ldUHRHWL9P/UggGAMGlNrrOkqqOp+mOXXXaZO5OU0erQ
AcCFQrnpOnekvh3qzaX4umquAwDCE1trVGdL1adPvVAAAOFR/otqe9WrV8/V
9urTp4/rowEACIviLuqLrnr4ymds1KiRLVmyhNwXAAiQ6gRPnz7dEhIS3P6o
+hFq3Q4ACIvyGJOTk+322293PWZbtWrletwBAMKi2Ip67Kk3tnrZKY9RPavS
a58mAMBPUx31ZcuWuZqM6o9xxx132I4dO6IeFgAglZS7uGfPHhc7V57LVVdd
ZUlJSdRQB4AAaQ907ty5VqtWLcufP78NGDDAxWEAAGHRWnzz5s127733upiL
zoyuXLmS3EUACIyv7TJt2jQrU6aMFS9e3MaMGUMvDAAIkHJa1q5da+3bt3e5
i7fccgs1GAEgQFqjHz582CZMmGCFChU6XSud3EUACI/iKzrz36RJE8uVKxc9
jQAgUL7u4ogRI9x8XqNGDZs9e7b7dQBAWNTf4v3337fq1au7uMuQIUPsxIkT
UQ8LAJBKP/74o9sH7dmzp6uNfsMNN7h9UnIXASAsmre/++47mzp1qpUoUcJ9
jB071tUFAACERTktn376qctZ1Bpd/aO3bNkS9bAAAKmkNfrBgwdt3LhxVqBA
AatYsaK9+uqr1HQBgAApd3HhwoWub5HqdPXu3Zt+dAAQIK3Ft2/f7vJbVNOl
du3aNmfOHPZFASBAyl189913rWrVqnbppZfa8OHDXY86AEBYlLu4fv1669q1
q2XNmtX1vKAfHQCER7GVo0eP2ksvveT6RZcuXdqeeeYZaroAQICUd75ixQpr
2bKl5ciRwxITE23Xrl1RDwsAkEqq3bJv3z57/PHHLW/evFa5cmV74403yF0E
gACpH92CBQvsmmuusXz58ln//v1dHAYAEBatxXU+VP3odF5UOenLli0jdxEA
AnTq1ClLSkqyChUqWNGiRe2xxx5z+YwAgLAopyU5Odluv/12t0Zv3bo1/egA
IECKrRw5csSef/55K1y4sF1xxRXux8pRBwCERXO31uidOnWyzJkzW4cOHWz/
/v1RDwsAEAftjX777bd2zz33WKZMmaxhw4ZubxQAEKaUlBRX2+Xqq6+2/Pnz
u7pdymsEAIRHZ4327NljjzzyiOXOnft0/2jyGAEgTFqXL1myxPUaVW1d1e/a
vXt31MMCAMTB579MnDjR5acnJCTYpEmTWKsDQKCUp7527Vpr3769ZcmSxW6+
+WZq7AJAoLQmP378uE2fPt3Kly/vau2OHj2aGl4AECjN31u3brX777/fsmfP
7uq+LFq0KOphAQDipDovc+fOtTp16riau/369XOxdgBAeJTbqLOkY8aMcTV3
q1WrZjNnzmS/FAAC9cMPP9gnn3ziepEqBqP6Xtu2bYt6WACAOPi+pMpnLF68
uJUqVcrGjx/vetsBAMKj+l4bNmywHj16uPpeWrN/9tlnUQ8LABAn1YJRr4xK
lSpZoUKFbOjQoXby5MmohwUAiIP2S3fu3GkPPvig5ciRw+rVq2cffvhh1MMC
AMRJtWAWL15sTZo0sVy5clnv3r3t4MGDUQ8LABAH7ZceOnTIJkyYYAULFrQr
r7zSpk6dyvlSAAjUmbVg2rVrZxs3box6WACAOPhaMK+++qqVLFnSLr/8cnvy
ySfJbQSAQPk+d3379rWLL77Y1VpfsWJF1MMCAMTp1KlTNmfOHKtVq5YVKFDA
Bg8ebCdOnIh6WACAOCi3cd++fTZy5EjXD+mqq66yWbNmRT0sAECcVAtm2bJl
p2vBdO7c2fbu3Rv1sAAAcfB97p577jl3trRs2bL24osvktsIAIFSbmNycrIl
Jia6WjDqc7d+/fqohwUAiIPW6tobVV31ChUquD53o0aNcnEZAEB4tF+6Y8cO
GzhwoDuH1LBhQ/rcAUDA1Odu3rx5ds0117haMH369HF11wEA4VEM5sCBAzZ6
9Gg3p1epUsWmT59OnzsACJTqA+g8acuWLS1r1qzWqVMn2759e9TDAgDEQWvy
Y8eO2eTJk12fu2LFitkTTzzh4u0AgPAoN111Gu+++26X23jTTTe5XEcAQHh8
XF35jIq/qB/SwoULox4WACAOykv/+OOPrXHjxq7HXbdu3VwfDQBAWBQ33717
t40YMcLV9dIa/aOPPiL3BQACpPq7SUlJlpCQcLr+rn4NABCWH3/80e2N9urV
y8XRmzZtamvWrGGNDgABOnnypL388stWpEgRK1GihI0bN87V9wIAhEVnjVav
Xm1t2rRxa/TbbrvNtm7dGvWwAACppNiK8lrGjh1refLkserVq9tbb71FDXUA
CND3339vc+fOdX1JVeeld+/erk8GACAsvsbukCFDLFu2bNagQQNbvHgx+6IA
ECDlKb755pt2xRVXWOHChV1eOr0wACA8yl386quvrGvXrq4PRosWLeyLL76I
elgAgDgcP37cJk2a5HpLly9f3qZMmULuIgAESPGVJUuWWJMmTSx79ux2++23
265du6IeFgAglXzdxTFjxljOnDmtRo0aNnv2bHIXASBAyl2cM2eOy0PPmzev
DRgwwMVhAABh0Vpc50Pvu+8+ty/asGFDW7ZsGbmLABAg1XSZNm2a60lXqlQp
e+aZZ4i5AECAVNNl5cqVrhedetLdcssttmXLlqiHBQBIJcVWjh49ahMmTHDn
/6tUqWIzZsygdzQABEj7ovPnz7c6deq4/kU9e/a0w4cPRz0sAEAqKV6+bdu2
0/ui9KMDgHCppsusWbPcWdGiRYvayJEjXWwdABAWnfVPTk62Tp06WaZMmaxZ
s2bu5wCA8Ogskeq4XHrppVa2bFl78cUXyV0EgAApvqLzRFqbq6ZLly5d7ODB
g1EPCwCQSspR3Lt3rz366KOWI0cOq1atmiUlJbEvCgAB8v3oVJ8rX758NnDg
QLdXCgAIi+LlmzZtsj59+rh9UfWjU11dAEB4UlJS3BlR9aMrXry4Pfnkk66n
EQAgLMpdXLt2rd1666128cUXW9u2bd15IwBAWLT/qfP+48ePd3XRExISbPLk
yeyLAkCAtEZfs2aNtWvXztVdvOOOO+zYsWNRDwsAEAftjap2br9+/eyiiy6y
+vXr2+LFi6MeFgAgTsphnDdvntWtW9fy5Mnj6nbp1wAA4dFZo/3799vo0aNd
nfSqVavazJkziakDQKBUE2DFihWun1G2bNksMTHRduzYEfWwAABx0Jrc1+5S
bV31HX322WdZqwNAoHTG6Msvv7Q777zT5anfeOON9vnnn0c9LABAnFTf5e23
37aKFStaoUKF7OGHH6bOLgAESvP31q1bbcCAAa7ui3JhPvzww6iHBQCI0w8/
/GALFy50dbxy5szpctepzwgAYdK+6KFDh+zpp5929QIUh3nttdfYLwWAQCm3
cfXq1da6dWvLkiWLq++l86YAgDCdPHnSrc9LlCjhPlTni7U6AIRJuY0bNmyw
u+66y9WCady4sa1cuTLqYQEA4qS90Xfffdf1Ji1QoIANGzbM1XIEAIRHtWB2
7txpgwcPdnH1mjVr2nvvvRf1sAAAcVJu46JFi+zaa6+1HDlyWK9evVysHQAQ
Hu2Lqk/GxIkTrWDBgla+fHmbOnUq+6UAEKjYfkiqBaMcR+2fAgDCpHjL9OnT
rUyZMlasWDF76qmnXLwdABAe1YLZtGmTi6crt7FRo0a2dOnSqIcFAIiTetp9
8MEHdvXVV1u+fPls0KBB9LkDgEAp1rJnzx5Xgzd79uxWvXp1V5sXABAm5TYq
5tKkSRPX565bt2525MiRqIcFAIiDchi/++47mzRpkhUpUsTKlSvnfkxuIwCE
SbmN69ats44dO7r9UvW5++KLL6IeFgAgTikpKfbWW29ZQkKC60v9+OOPu7pf
AIDw+D539957r2XOnNnq16/v+iMBAMKkPEb1K61du7blyZPH9THV+h0AEB7l
Nu7fv99GjRrlepeqJq/iMQCAMKnP3fLly6158+auHm9iYqLt27cv6mEBAOJ0
4sQJV6vxsssuc/Vgnn/+eWrBAECglO+yfv1669y5s2XKlMmaNm3q6jgCAMKk
PnezZs2yypUrW40aNWz27NlRDwkAECd/vnTVqlX20UcfuXgMACBsiqPrg1oB
AAAAAAAAAAAAAACcX/8L6YKfvQ==
"], {{0, 347.}, {373., 0}}, {0, 255},
ColorFunction->RGBColor,
ImageResolution->72],
BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
Selectable->False],
DefaultBaseStyle->"ImageGraphics",
ImageSize->{57.40625, Automatic},
ImageSizeRaw->{373., 347.},
PlotRange->{{0, 373.}, {0, 347.}}]\),
     CloudGet["https://wolfr.am/KR7FBcsM"]}], MoleculeEquivalentQ]]

Something else that’s new in 12.1—and a first sign of something big to come—is the ability to import data about molecular orbitals:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Import["ExampleData/Pyridinecarbonitrile_MO_25_29.cub", "Graphics3D"]

Making the Data Repository Easy

We launched the Wolfram Function Repository in June 2019 , and there are already 1146 functions published in it . One of the innovations in the Function Repository is a very streamlined process for submitting new functions, applicable both for the public Function Repository, and for individual deployment on a single machine, or in the cloud.

In Version 12.1 we’re introducing a new, streamlined submission mechanism for the Data Repository .File > New > Repository Item > Data Repository Itemgives you:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica

Then if you’ve got, say, a Dataset , you just insert it in the notebook, then add examples (using theInsert ResourceObjectbutton to insert references to the object you’re creating). When you’re done, pressDeploy, and you can deploy locally, or privately or publicly to the cloud. Lots of checking just happens automatically (and if there’s something wrong you’ll usually get a suggestion about how to fix it).

My goal was to make it so that a simple Data Repository entry could be created in just a few minutes, and I think we’ve streamlined and automated things to the point where that’s now possible.

External Connectivity

We want the Wolfram Language to provide a consistent computational representation of as much as possible. And that means that in addition to things like the molecules we just discussed, we want our language to be able to represent—and seamlessly interact with—all the other kinds of computational systems that exist in the world, whether they be programs, languages, databases or whatever. The list of kinds of things we can deal with isvery long—but in Version 12.1 we’ve made some significant additions.

The Wolfram Language has been able to call programs in other languages through what’s nowWSTP since 1989, but in recent years we’ve been working to make it ever easier and more automatic to do this. And for examplein Version 11.2 we introduced ExternalEvaluate , which provides a high-level way to directly evaluate code in external languages, and, whenever possible, to get results back in a symbolic form that can be seamlessly used in the Wolfram Language.

In Version 12.1 we’ve addedJulia,Ruby andR to our collection of external languages . There are all sorts of practical issues, of course. We have to make sure that an appropriate installation exists on a user’s computer, and that the data types used in programs can be meaningfully converted to Wolfram Language.

But in the end it’s very convenient. In a notebook, just type > at the beginning of a line, select your language, and enter the code, and evaluate:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
> [1,2,3+3]

But this doesn’t only work interactively. It’s also very convenient programmatically. For example, you can create a function in the external language, that is then represented symbolically in the Wolfram Language as an ExternalFunction object, and which, when called, runs code in the external language:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
> def square(x)
  x * x
end
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
% /@ {45, 135, 678, 34}

For each different language, however, one’s dealing with a whole new world of structures. But since we have built-in support forZeroMQ (as well as having a connection to Jupyter available), we at least have the plumbing to deal with a very wide range of languages.

But particularly for languages likePython where we have full built-in connectivity, one of the significant things that becomes possible is to have functions that work just like standard Wolfram Language functions but are fully or partly implemented in a completely different language. Of course, to have this work seamlessly requires quite a bit of system support, for automated installation, sandboxing, etc. And for example, one of the things that’s coming is the ability to call functions containing Python code even in theWolfram Cloud.

In addition to external languages, another area of expansion is external storage systems of all kinds. We’ve already got extensive support for theBitcoin andEthereum blockchains; in Version 12.1 we added support for theARK blockchain. In addition, we introduced support for two external file storage systems:IPFS andDropbox.

This is all it takes to put a Spikey into the globally accessible IPFS file system:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ExternalStoragePut[CloudGet["https://wolfr.am/KR7G4pNJ"],
 ExternalStorageBase -> "IPFS"]

Here’s the content identifier:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
%["CID"]

And now we can get our Spikey back:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
ExternalStorageGet["QmcNotbm3RZLv7caaPasU8LiHjNCCuuEemrCgbLAsN49TZ"]

You can do the same kind of thing with Dropbox, and after authentication (either through a browser, or through our new SystemCredential mechanism, discussed below) you can put expressions or upload files, and they’ll immediately show up in your Dropbox filesystem.

Given the framework that’s been introduced in 12.1, we’re now in a position to add connections to other external file storage systems, and those will be coming in future versions.

In addition to plain files, we also have a sophisticated framework for dealing with relational databases. Much of this was introduced in Version 12.0 , but there are some additions in 12.1. For example, you can now also connect directly toOracle databases. In addition, there are new functions for representing relational set operations: UnionedEntityClass , IntersectedEntityClass , ComplementedEntityClass .

And, of course, these work not only on external databases but also on our own built-in knowledgebase:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
SortedEntityClass[UnionedEntityClass[
    \!\(\*
NamespaceBox["LinguisticAssistant",
DynamicModuleBox[{Typeset`query$$ = "EU", Typeset`boxes$$ =
        TemplateBox[{"\"European Union\"",
RowBox[{"EntityClass", "[",
RowBox[{"\"Country\"", ",", "\"EuropeanUnion\""}], "]"}],
          "\"EntityClass[\\\"Country\\\", \\\"EuropeanUnion\\\"]\"",
          "\"countries\""}, "EntityClass"],
        Typeset`allassumptions$$ = {{
         "type" -> "Clash", "word" -> "EU",
          "template" -> "Assuming \"${word}\" is ${desc1}. Use as \
${desc2} instead", "count" -> "2",
          "Values" -> {{
            "name" -> "CountryClass",
             "desc" -> "a class of countries",
             "input" -> "*C.EU-_*CountryClass-"}, {
            "name" -> "Unit", "desc" -> "a unit",
             "input" -> "*C.EU-_*Unit-"}}}},
        Typeset`assumptions$$ = {}, Typeset`open$$ = {1, 2},
        Typeset`querystate$$ = {
        "Online" -> True, "Allowed" -> True,
         "mparse.jsp" -> 0.363881`6.012504373043238,
         "Messages" -> {}}},
DynamicBox[ToBoxes[
AlphaIntegration`LinguisticAssistantBoxes["", 4, Automatic,
Dynamic[Typeset`query$$],
Dynamic[Typeset`boxes$$],
Dynamic[Typeset`allassumptions$$],
Dynamic[Typeset`assumptions$$],
Dynamic[Typeset`open$$],
Dynamic[Typeset`querystate$$]], StandardForm],
ImageSizeCache->{232., {7., 15.}},
TrackedSymbols:>{
          Typeset`query$$, Typeset`boxes$$, Typeset`allassumptions$$,
           Typeset`assumptions$$, Typeset`open$$,
           Typeset`querystate$$}],
DynamicModuleValues:>{},
UndoTrackedVariables:>{Typeset`open$$}],
BaseStyle->{"Deploy"},
DeleteWithContents->True,
Editable->False,
SelectWithContents->True]\),
    EntityClass["AdministrativeDivision", "AllUSStatesPlusDC"]],
   "Population" -> "Descending"][{"Name", "Population"}] // Dataset

We’ve been very active over the years in supporting as many file formats as possible . In Version 12.1 we’ve added the popular newHEIF image format. We’ve also updated ourDICOM importer, so you can take those CT scans and MRIs and immediately start analyzing them with Image3D and our3D image processing.

Like, this is part of our director of R&D’s knee:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
knee = Import["knee_mr/DICOMDIR", {"Image3D", 1, 1, 1}];
Image3D[knee, ColorFunction -> (Blend[{{0.,
RGBColor[0.05635, 0.081, 0.07687, 0.]}, {0.0777045,
RGBColor[0.702347, 0.222888, 0.0171385, 0.0230167]}, {0.3,
RGBColor[1., 0.6036, 0., 0.303215]}, {0.66,
RGBColor[1., 0.9658, 0.4926, 0.661561]}, {1.,
RGBColor[1., 0.6436, 0.03622, 1.]}}, #]& )] // ImageAdjust //
 Blur[#, 3] &

In Version 11.3, we added MailServerConnect for connecting directly to mail servers. In 12.1, we’ve added a layer of caching, as well as a variety of new capabilities, that make the Wolfram Language uniquely powerful for programmatic mail processing . In addition, in Version 12.1 we’ve upgraded our capabilities for importing mail messages fromEML andMBOX, in particular adding more controls for attachments.

Yet another new feature of 12.1 is stronger support forZIP andTAR files, both their creation through CreateArchive , and their extraction through ExtractArchive —so you can now routinely handle tens of thousands of files, and gigabytes of data.

Whenever one is connecting to external sites or services, there are often issues of authentication. We’d had some nice symbolic ways to represent authentication for some time, like SecuredAuthenticationKey (that stores OAuth credentials). But for example in cases where you’ve got to give a username and password, there’s always been the issue of where you store those. In the end, you want to give them as part of the value for an Authentication option. But you don’t want to have them lying around in plaintext.

And in Version 12.1 there’s a nice solution to this: SystemCredential . SystemCredential ties into your system keychain—the encrypted storage that’s provided by your operating system, and secured by the login on your computer.

It’s as easy as this to store things in your system keychain:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
SystemCredential["secret"] = "it's a secret"
In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
SystemCredential["secret"]

Paclets for All

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
Length[PacletFind[]]

In my Wolfram Language system right now, I have 467 paclets installed. What is a paclet? It’s a modular package of code and other resources that gets installed into a Wolfram Language system to deliver pretty much any kind of functionality.

We first invented paclets in 2006, and we’ve been increasingly using them to do incremental distribution of a great many pieces of Wolfram Language functionality. Paclets are versioned, and can be set to automatically update themselves. Up until now, paclets have basically been something that (at least officially) only we create and distribute, from our central paclet server.

But as of Version 12.1, we’re opening up our paclet system so anyone can use it, and we’re making it a fully documented and supported part of the Wolfram Language. Ultimately, a paclet is a file structure that contains assets or resources of various kinds, together with a special PacletInfo.wl file that defines how the paclet should integrate itself into a Wolfram Language system.

A paclet can set up code to execute at startup time. It can set up symbols whose definitions will be autoloaded. It can install documentation. It can put items into menus. And in general it can set up assets to be used in almost any part of the fairly complex structure that is a deployed Wolfram Language system.

Typically a paclet is distributed as a single archive file, and there are many ways someone can get such a paclet file. We maintain a central paclet server that’s used by the Wolfram Language system to get automatic downloads. But in the near future, we’re also going to have a full paclet repository through which users will be able to distribute paclets. (We’re also going to make it possible for Wolfram Enterprise Private Clouds to have their own paclet repositories.)

I might mention how I see the Wolfram Paclet Repository relating to our Wolfram Function Repository . The Function Repository is built to extend the functionality of the Wolfram Language one function at a time, always maintaining the overall structure and consistency of the language. The Paclet Repository will let people distribute complete environments that may serve some particular purpose, but may not maintain the structure and consistency of the overall language. Paclets will be extremely useful, and we intend them to be as freely used as possible. So whereas the Wolfram Function Repository has a curation process to ensure a certain level of design consistency, we plan to make the Wolfram Paclet Repository basically completely open.

The goal is to allow a rich ecosystem of user-contributed paclets to develop. The Paclet Repository will serve as a smooth distribution channel for Wolfram Language material. (And by the way, I think it will be quite common for functions in the Function Repository to actually be based on code that’s distributed through the Paclet Repository—with the Function Repository serving as a streamlined and structured presentation mechanism for the functions.)

In Version 12.1 there are a variety of functions for creating and managing paclets. With the Wolfram Language, PacletObject is the symbolic representation of a paclet. Here’s a trivial example of what a paclet might be like:

In Less Than a Year, So Much New: Launching Version 12.1 of Wolfram Language & Mathematica
&#10005
PacletObject[<|"Name" -> "TrivialPaclet", "Version" -> "1.0",
  "Extensions" -> {{"Kernel", "Context" -> "TrivialPackage`"}}|>]

This can then be packaged into a .paclet file using CreatePacletArchive —and this file can then be distributed just as a file, or can be put on a paclet server. Once someone has the file, it’s just a question of using PacletInstall , and the paclet will come to life, inserting the necessary hooks into a Wolfram Language system so that its contents are appropriately used or exposed.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Looking For a Challenge

Looking For a Challenge

the University of Warsaw / the University of Warsaw / 2012-11 / 0

LOOKING FOR PROGRAMMING CHALLENGES? Then this book is for you! Whether it's the feeling of great satisfaction from solving a complex problem set, or the frustration of being unable to solve a task,......一起来看看 《Looking For a Challenge》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器