• +598 29008192
  • info@servinfo.com.uy

Archivo del Autor: Belen De Leon

Notch appeal? Smartphones sales set to bounce back this year – CNET

After smartphone sales shrank for the first time ever in the fourth quarter, Gartner is more optimistic about this year. The firm sees a big bump in 2020 thanks to AI.
Source: CNET

GitLab gets a native integration with Google’s Kubernetes Engine

GitLab, one of the most popular self-hosted Git services, has been on a bit of a roll lately. Barely two weeks after launching its integration with GitHub, the company today announced that developers on its platform can now automatically spin up a cluster on Google’s Kubernetes Engine (GKE) and deploy their applications to it with just a few clicks.

To build this feature, the company collaborated with Google, but this integration also makes extensive use of GitLab’s existing Auto DevOps tools, which already offers a similar functionality for working with containers. Auto DevOps aims to take all the grunt work out of setting up CI/CD pipelines and deploying to containers.

“Before the GKE integration, GitLab users needed an in-depth understanding of Kubernetes to manage their own clusters,” said GitLab CEO Sid Sijbrandij in today’s announcement. “With this collaboration, we’ve made it simple for our users to set up a managed deployment environment on [Google Cloud Platform] and leverage GitLab’s robust Auto DevOps capabilities.”

To make use of the GKE integration, developers only have to connect to their Google accounts from GitLab. Since GKE automatically manages the cluster, developers will ideally be able to fully focus on writing their application and leave the deployment and management to GitLab and Google.

These new features, which are part of the GitLab 10.6 release are now available to all GitLab users.

 


Source: TechCrunch

10 stunning bezel-less phones to try video – CNET

These phones have very little border around their faces, with displays running right up to their edges.
Source: CNET

Google Cloud gives developers more insights into their networks

Google Cloud is launching a new feature today that will give its users a new way to monitor and optimize how their data flows between their servers in the Google Cloud and other Google Services, on-premises deployments and virtually any other internet endpoint. As the name implies, VPC Flow Logs are meant for businesses that already use Google’s Virtual Private Cloud features to isolate their resources from other users.

VPC Flow Logs monitors and logs all the network flows (both UDP and TCP) that are sent from and received by the virtual machines inside a VPC, including traffic between Google Cloud regions. All of that data can be exported to Stackdriver Logging or BigQuery, if you want to keep it in the Google Cloud, or you can use Cloud Pub/Sub to export it to other real-time analytics or security platform. The data updates every five seconds and Google premises that using this service has no impact on the performance of your deployed applications.

As the company notes in today’s announcement, this will allow network operators to get far more insights into the details of how the Google network performs and to troubleshoot issues if they arise. In addition, it will also allow them to optimize their network usage and costs by giving them more information about their global traffic.

All of this data is also quite useful for performing forensics when it looks like somebody may have gotten into your network, too. If that’s your main use case, though, you probably want to export your data to a specialized security information and event management (SIEM) platform from vendors like Splunk or ArcSight.


Source: TechCrunch

HP ZBook Studio x360 G5 Release Date, Price and Specs – CNET

HP’s ZBook x360 goes some way towards redefining what a mobile workstation should look like.
Source: CNET

Apple’s 2019 Mac Pro will be shaped by workflows

A year ago, I visited the Apple campus in Cupertino to figure out where the hell the new Mac Pro was. I joined a round table discussion with Apple SVPs and a handful of reporters to get the skinny on what was taking so long.

The answer, it turns out, was that Apple had decided to start completely over with the Mac Pro, introduce completely new pro products like the iMac Pro and refresh the entire MacBook Pro lineup. The reasoning given at the time on the Mac Pro was basically that Apple had painted itself into an architecture corner by being aggressively original on the design of the bullet/turbine/trash-can shaped casing and internal components of the current Mac Pro. There was nothing to be done but to start over.

The secondary objective to that visit was to reassure pro customers that had not had news of updates in some time that Apple was listening, was working to deliver product for them and, overall, still cared.

Now, a year later, I was invited back to Apple to talk to the people most responsible for shepherding the renewed pro product strategy. John Ternus, Vice President of Hardware Engineering, Tom Boger, Senior Director of Mac Hardware Product Marketing, Jud Coplan, Director of Video Apps Product Marketing and Xander Soren, Director of Music Apps Product Marketing.

The interviews and demos took place over the next several hours, highlighting the way that Apple is approaching upgradability, development of its pro apps and most interestingly, how it has changed its process to more fully grok how professionals actually use its products.

After an initial recap in what they’d done over the past year, including MacBooks and the iMac Pro, I was given the day’s first piece of news: the long-awaited Mac Pro update will not arrive before 2019.

When we got the news that it wouldn’t arrive in 2017, there was some implicit messaging that 2018 was not guaranteed either (we were told ‘not this year’, but not ‘definitely next year). This time around, Boger is succinct: the promised Mac Pro will be a 2019 product.

We want to be transparent and communicate openly with our pro community so we want them to know that the Mac Pro is a 2019 product. It’s not something for this year.” In addition to transparency for pro customers on an individual basis, there’s also a larger fiscal reasoning behind it.

We know that there’s a lot of customers today that are making purchase decisions on the iMac Pro and whether or not they should wait for the Mac Pro,” says Boger.

This is why Apple wants to be as explicit as possible now that if institutional buyers or other large customers are waiting to spend budget on, say iMac Pros or other machines, they should pull the trigger without worry that a Mac Pro might appear late in the purchasing year.

But there have been some other very interesting things going on at Apple since our last Mac Pro update, and they’re shaping the future of all of its pro products.

Pro Workflow Team

In that discussion a year ago, Apple SVP Phil Schiller acknowledged that pro customers including developers were hungry for evidence that Apple was paying attention to their needs.

“We recognize that they want to hear more from us. And so we want to communicate better with them. We want them to understand the importance they have for us, we want them to understand that we’re investing in new Macs — not only new MacBook Pros and iMacs but Mac Pros for them, we want them to know we are going to work on a display for a modular system,” Schiller said.

Now, it’s a year later and Apple has created a team inside the building that houses its pro products group. It’s called the Pro Workflow Team and they haven’t talked about it publicly before today. The group is under John Ternus and works closely with the engineering organization. The bays that I’m taken to later to chat about Final Cut Pro, for instance, are a few doors away from the engineers tasked with making it run great on Apple hardware.

“We said in the meeting last year that the pro community isn’t one thing,” says Ternus. “It’s very diverse. There’s many different types of pros and obviously they go really deep into the hardware and software and are pushing everything to its limit. So one thing you have to do is we need to be engaging with the customers to really understand their needs. Because we want to provide complete pro solutions not just deliver big hardware which we’re doing and we did it with iMac Pro. But look at everything holistically.”

To do that, Ternus says, they want their architects sitting with real customers to understand their actual flow and to see what they’re doing in real time. The challenge with that, unfortunately, is that though customers are typically very responsive when Apple comes calling, it’s not always easy to get what they want because they may be using proprietary content. John Powell, for instance, is a long-time logic user and he’s doing the new Star Wars Han Solo standalone flick. As you can imagine, taking those unreleased and highly secret compositions to Apple to play with them on their machines can be a sticking point.

So Apple decided to go a step further and just begin hiring these creatives directly into Apple. Some of them on a contract basis but many full time as well. These are award-winning artists and technicians that are brought in to shoot real projects (I saw a bunch of them walking by in Apple park toting kit for an outdoor shoot on premises while walking). They then put the hardware and software through their paces and point out sticking points that could cause frustration and friction among pro users.

Ternus says that they wanted to start focused and then grow the team and disciplines over time.

“We’ve been focusing on visual effects and video editing and 3D animation and music production as well,” says Ternus. “And we’ve brought in some pretty incredible talent, really masters of their craft. And so they’re now sitting and building out workflows internally with real content and really looking for what are the bottlenecks. What are the pain points. How can we improve things. And then we take this information where we find it and we go into our architecture team and our performance architects and really drill down and figure out where is the bottleneck. Is it the OS is it in the drivers is it in the application is it in the silicon and then run it to ground to get it fixed.”

This information has allowed Apple to make machines like the iMac Pro more performant, but also to enable creative users to stay in their flow and keep them moving forward. From personal experience, I can say that the times I felt most frustrated as a professional photographer using a Mac is when I had to wait. When you’re taken out of your rhythm, it creates layers of frustration that can add up to you wanting to flee the platform.

“These aren’t necessarily always fundamental performance issues,” notes Ternus. “These aren’t things that you’d find in a benchmark or an automated test flow. You know we have examples where we find something like it’s…a window that a 3D animator uses frequently to make some fine fine tweaks. The windows are not super graphically intensive in terms of processing and stewing but we have found an issue where that window was taking like 6 to 10 seconds to open and they’re doing that 100 times a day, right? Like ‘I can’t work on a machine like this, It’s too slow’ so we dig in and we figure out what it was.

“In that case we found something in the graphics driver was not right, and once you know where to look and you fix it, it completely changes the kind of live-on-ability for that system — the productivity for that user completely changed.”

This kind of workflow analysis has enabled Apple to find and fix problems that won’t be solved by throwing more hardware at them. An in-depth analysis of how workflow is affected by the whole stack of hardware and software has, Ternus says, helped them to really understand the pain points. He stresses that it’s not just Apple’s applications that they’re testing and working to help make better. Third-party relationships on this are very important to them and the workflow team is helping to fix their problems faster too.

“We’ve gone from just you know engineering Macs and software to actually engineering a workflow and really understanding from soup to nuts, every single stage of the process, where those bottlenecks are, where we can optimize that,” says Boger. “And to JT’s point because we build the hardware the firmware the operating system the software and have these close relationships with third parties we can attack the entire stack and we can really ferret out where we are we can optimize for performance.”

But the Pro Workflow Team isn’t just there to fix current bugs. It’s also empowered to make improvements on future products, like the Mac Pro.

Future Plans

“What’s really powerful through this exercise is that it’s helping us to kind of map out where we’re headed,” says Ternus. “Because we’re really like digging in these workflows and figuring out where how are the ways we can improve these in the future and then that can help shape our future plans as well.”

I ask, specifically, whether this means that the Mac Pro will be shaped by this team’s work.

“So it’s definitely influencing the architecture of where we’re going, what we’re planning for,” says Tom Boger. “We’re getting a much much much deeper understanding of our pro customers and their workflows and really understanding not only where the state of the art is today but where the state of the art is going and all of that is really informing the work that we’re doing on the Mac Pro and we’re working really really hard on it.”

I’m also curious about whether the process over the last year has changed the timeline on the Mac Pro. To be blunt: is this the original story arc of the Mac Pro’s development, or are we looking at a roadmap that has a fundamentally different timeline than 1 year ago.

“I don’t think that the timeline has fundamentally changed,” says Ternus. “I think this is very much a situation where we want to measure twice and cut once and we want to make sure we’re building a really well thought out platform for what our pro customers are doing today. But also with an eye towards what they’re going to be doing in future as well. And so to do that right that’s that’s what we’re focusing on.”

While there are no further details on the exact shape that the Mac Pro will take, Boger says that they are still very much in the modular mindset.

“As we said a year ago working on modular was inherently a modular system and in looking at our customers and their workflows obviously that’s a real need for our customers and that’s the direction we’re going,” says Boger.

“Well it’s a need for some of them,” adds Ternus. “I want to be clear that the the work that we’re doing as a part of the workflow team is across everything. It’s super relevant for MacBook Pros, it’s super relevant for iMacs and iMac Pros and in the end I think it helps us in dialogue with customers to figure out what are the right systems for you. There is absolutely a need in certain places for modularity. But it’s also really clear that the iMac form factor or the MacBook Pros can be exceptionally good tools.”

What shape that modularity takes is another matter entirely, of course. I know some people have been pining for the days of internal expansion card configurations with standardized hardware – and maybe that is the way that this will go. But on Tuesday I also got a tour of the editing suites where Mac hardware and software is pushed to the limits, including extensive use of eGPU support, and a different vision emerges.

First, we visit the room where they record new instruments for Logic and Garage Band and then on to an edit bay used by the Pro Workflow Team to put Final Cut Pro through its paces.

Throughout, the idea of modularity was omnipresent. An iMac Pro with two iPad Pros hooked up to it allows for direct control, shortcuts and live access to the Logic manual all while you’re mixing a song on the main device. An eGPU with a MacBook Pro running a live edit of an 8K stream with color grading and effects applied.

External GPUs plugged into MacBook Pros, in my opinion, is going to be an enormous shift in the way that people think about portables. I got a live demo of a graphics stress test running on a MacBook Pro natively, then on one and then two external GPUs. The switching is nearly seamless, depending on the age of the app, and some modern rendering software can use all three in concert. It’s one of those things that works exactly the way you think it would and it leans heavily on Thunderbolt 3.

Whether that informs the shape of individual machines in Apple’s future lineup I don’t know, but it’s certainly the way Apple is looking at the pro ecosystem. It’s not just MacBook Pro, iMac Pro, Mac Pro – it’s the enabling force of eGPUs, it’s iPad Pros as input devices, purpose built extensions and portable workstations. And it’s even iPhone, as Logic and Final Cut Pro are both completely compatible with Garage Band and iMovie. You can start a project and continue it on iOS while traveling then put it right back into your pro machine when you’re back and continue riffing. It’s Apple leaning into its advantages of having control of this stuff to the bolts.

Prommunication

With pros, Apple has three options. It can maintain the same amount of locked down, tight-lipped comes it applies to its consumer products, where it still feels the reveal is everything.

It can utilize a ‘whisper campaign’ of on background commentary, quiet liaisons with the developer and professional communities that filter outward in order to quell rumors or allay fears.

Or, it can choose to engage in a meaningful way with pros on their actual workflows and ingest their pain points as actionable intel that helps them head off issues before they become headlines or Medium posts or viral Twitter threads. That’s what the Pro Workflow Team is all about.

One allegory I see here is when companies hire people to help fix structural problems or improve diversity but then do not empower them to effect change.

In this case it’s heartening to see that there is a straight line between the pros that Apple has hired, the conversations it’s having with contractors who come in to contribute and proactive action taken on products. The work of the Pro Workflow Team is directly affecting the development of the new Mac Pro. And the iMac Pro, and Final Cut Pro and macOS. They sit doors away from the engineering team running through real footage and mixing real tracks to figure out what’s working and what’s not. And they use a mixture of software, not just Apple’s first party stuff.

This also includes liaising with external mainstays like Adobe to figure out what their major pains are and figuring out ways to fix them.

This isn’t the perceived culture of covert insularity in which Apple waits for the complaints to hit critical mass or someone to take it up as a cause before it’s addressed. Frankly, a developer shouldn’t have to complain to someone like me to get a company like Apple to change its mind. They should have their own representatives.

And Apple can still have its reveal. All we currently know about the Mac Pro is that it’s modular and that it’s being shaped by the feedback from those pros in house and external conversations with developers and professional users.

My recent conversations with Apple (including the ones cited in this piece, but not those alone) lead me to believe that they knows they kept going on a path with pro customers that they felt was working long after it had in fact begun to erode. I’m not exactly sure what the timeline was, but given the fact that the Mac Pro won’t arrive until 2019, I’m guessing just before the round table discussion a year ago.

As a side note, by the way, I wouldn’t expect to see any more info about Mac Pro at WWDC in June. Maybe Apple will surprise on that front, but I think for anything further about Mac Pro we’re going to have to wait for next year.

In an interesting confluence of themes, I also believe that they had the same revelation recently in the education market. Apple’s second go round at capturing a big chunk of that market ran aground not on the quality of its hardware or onboard software, but on the tools that were used to deploy and manage that hardware in under-resourced school districts that had already begun to commit to web systems. Apple is starting anew there, as it has begun doing in the pro market over the last year with refreshed hardware and a new approach to addressing performance and operation issues. An interesting note too that when it wanted to figure out how to turn edu around what did it do? Hired teachers and educators to tell them how it works in the real world.

As depressing as it has been to see professionals believe that Apple was getting ready to give them up, I find this an interesting and exciting thing to watch. It is very, very hard for a company like Apple whose reputation is built on myth building, to admit that it was mistaken. And it’s even harder to then change course with billions of dollars worth of revenue at stake.

I’m sure it gives a bunch of people at Apple heartburn, but it’s fascinating for me because I don’t have to pull it off.


Source: TechCrunch

Autodesk seeks to reach future architects through hip hop – CNET

The Hip Hop Architecture Camp, which will travel to 17 cities over the next five months, is designed to expose underrepresented kids to new careers.
Source: CNET

Jimmy O. Yang talks Silicon Valley, Mike Judge and his book – CNET

You know him as Jian-Yang from HBO’s Silicon Valley. The comedian, actor and author stops by CNET to discuss the show and his new book, How to American: An Immigrant’s Guide to Disappointing Your Parents.
Source: CNET

Botanalytics offers analytics for conversational interfaces and chatbots

The rise of chatbots and smart speaker-powered voice assistants, such as Alexa and Google Home, has produced the need for specialist analytics so developers can track how well those conversational interfaces are working. Hoping to take a chunk of this nascent market, including competing with Google’s own chatbot analytics product Chatbase, is Istanbul and San Francisco-based Botanalytics.

Previously backed by 500 Startups, the company quietly raised $1 million in seed funding late last year. The round was led by ACT Venture Partners and will be used by Botanalytics to further develop its technology.

This will include enhancing support for “voice first” platforms, and enabling business to gain actionable insights based on customer conversations, including understanding how to improve customer support across various channels. The idea is to be able to optimise voice and chatbot performance for engagement, retention and other KPIs.

As it stands, Botanalytics supports a plethora of existing platforms including all of the big names: Google Home, Amazon Alexa, Messenger, Slack, Twitter, Telegram, Kik, Twilio, Skype, Line, Microsoft Teams, WeChat and Viber.

The analytics offering spans a number of features, such as “fundamental metrics” measurement, segmenting conversations, tracking activities of a chatbot, retention of conversations, live take-over, broadcast messages and the ability to set up funnels.

The Botanalytics tech also claims to be powered by AI (presumably NLP). This makes it possible to track transcripts of any conversation — including rich media such as video, audio, location and images — and compare live conversations with historical ones.

CEO Ilker Koksal tells me the main difference with Botanalytics compared to competitors is that is it positioning itself as a broader conversational analytics play, including newer voice interfaces, and traditional customer support, not just chatbots. “We’re analyzing all conversational channels of companies,” he says.

To that end, Koksal says Botanalytics’ customers are agencies that build bots for clients and companies with various customer support channels. They include Coca-Cola, McDonald’s, Ford, L’Oréal and GoPro.


Source: TechCrunch

Do You Weigh More at the Equator or at the North Pole?

In which a physics professor very severely overthinks his daughter’s science homework.
Source: Wired

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698