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

Archivo del Autor: Belen De Leon

Congress members slam Apple over censorship, first all-female spacewalk video – CNET

In today’s news, Congress members call on Apple to stand with Hong Kong protesters, NASA makes history with the first all-female space walk and first impressions of the new Google Pixel XL are in.
Source: CNET

These Startups Are Building Tools to Keep an Eye on AI

The software can help developers constrain their creations so they don’t make bad decisions.
Source: Wired

Inside Apple’s High-Flying Bid to Become a Streaming Giant

With Ron Moore’s space-race drama “For All Mankind�, Apple is betting on marquee names and lush production to get its TV+ service off the ground. Can it achieve orbit?
Source: Wired

Google's Pixel 4 turns up the heat on Android rivals, but not because of its camera – CNET

Commentary: Face unlock doesn’t just catch Google up to the iPhone. It’s the first time any Android phone has potentially even surpassed Apple’s most buzzed-about innovation.
Source: CNET

Commercetools raises $145M from Insight for Shopify-style e-commerce APIs for large enterprises

Global retail e-commerce is expected to be a $25 trillion business this year, and today one of the companies that has built a set of tools to help larger enterprises to sell to consumers online has raised a large growth round to meet that demand. Commercetools, a German startup that provides a set of APIs that power e-commerce sales and related functions for large businesses, has raised $145 million (€130 million) in a growth round of funding led by Insight Partners, at a valuation that we understand from a close source is around $300 million.

The funding comes at the same time that commercetools is getting spun out by REWE, a German retail and tourist services giant that acquired the startup in 2015 for an undisclosed amount.

The route the company took after that is a not-totally-uncommon one for tech startups acquired by non-tech companies: commercetools had been acquired by REWE as part of a strategy to take some of its own e-commerce tech in-house, but commercetools had always continued to work with outside clients and has been growing at about 60-70% annually, CEO and co-founder Dirk Hoerig said in an interview.

Current companies include Audi, Bang & Olufsen, Carhartt, Yamaha and some very big names in retail products and services (including major telco/media brands in the USA that you will definitely know). Ultimately, the decision was taken to bring in outside funding and spin out the businesses as an independent startup once again to supercharge that growth. REWE will remain a significant shareholder with this deal.

Hoerig said that commercetools had raised only around $30 million in outside funding when it was a startup ahead of getting acquired.

Although e-commerce has grown over the last couple of years with slightly less momentum than in previous years given wider economic uncertainty, it continues to expand, and in that growth, we’ve seen a swing back to individual retail brands looking for ways of connecting more directly with customers outside of the third-party marketplaces (like Amazon) that have come to dominate how people spending money online.

That is giving a boost to those providing essentially non-tech businesses the tools to build e-commerce activity by offering “headless” tools that are attached to front-end systems designed by others.

Shopify, which focuses more on providing e-commerce tools by way of APIs to medium and smaller customers, has ballooned to some 800,000 customers. Commercetools focuses more on companies that typically generate revenues in excess of $100 million annually, Hoerig said.

Commercetools has no plans to expand to smaller companies — “We have no plan to compete against Shopify,” Hoerig said. Nor is there any strategy in place to extend into logistics, another important component of e-commerce services.

Instead, it wants to use the funding to continue expanding its business in North America and other parts of the world, as well as to continue building up its B2B2B offering — that is, tools for businesses to sell to other businesses. This is an area that companies like Alibaba are very strong in (and Amazon has been also growing its business), and the idea is to provide tools to let companies sell on their own sites either as a complement to, or to replace, third-party marketplaces.

Another area where it will continue to figure where it can play better is in the development of better online-to-offline technology.

Richard Wells and Matt Gatto of Insight are both joining the board with this deal.

“With a strong track record of investing in retail software leaders, we are excited to have the opportunity to invest in commercetools and help them scale up internationally,” said Wells in a statement. “In our opinion commercetools represents the next wave of enterprise commerce software and has the potential to unlock powerful innovation and growth within the e-commerce sector.â€�


Source: TechCrunch

Gojek founder and CEO Nadiem Makarim resigns to join Indonesian cabinet; Soelistyo and Aluwi to be new co-CEOs

Nadiem Makarim, founder and CEO of Gojek, said on Monday he has stepped down from his role at the ride-hailing startup to join Indonesia president Joko Widodo’s cabinet.

The announcement, which has taken many by surprise, comes a day after Widodo was sworn in for a second term. Widodo has previously said that he wants young business executives to join his cabinet.

In a statement, a Gojek spokesperson told TechCrunch that Andre Soelistyo, Gojek Group President, and Kevin Aluwi, Gojek co-founder, are taking over as co-CEOs of the startup.

“We are very proud that our founder will play such a significant role in moving Indonesia onto the global stage. It is unprecedented for a passionate local founder’s vision to be recognized as a model that can be up-scaled to help the development of an entire country,� the spokesperson said.

“We have planned for this possibility and there will be no disruption to our business. We will make an announcement on what this news means for Gojek within the next few days. We respect the process set out by the President and will not make a further comment until there is an official announcement from the Palace,� the spokesperson added.

Makarim (pictured above) said he was honored that the president had asked him to join his cabinet as a minister. He did not reveal which position he would hold, but an announcement from Widodo is expected later this week. “I am very happy to be here today as it shows we are ready for innovation and to move forward,� he told reporters.

Makarim, 35, founded Gojek in 2010 as a two-wheeler hailing service. The startup has since expanded to include a range of services including mobile payments, food delivery, online shopping and most recently on-demand video streaming.

The startup has amassed more than 2 million driver partners and 400,000 merchants on its platform. Gojek was valued at almost $10 billion in its most recent financing round. The company, which operates in Singapore, Vietnam, and Thailand, clocked gross transactions worth $9 billion last year.

Makarim comes from a prominent Indonesian family: His parents are anti-corruption activists, while his grandfather is an independence hero.


Source: TechCrunch

In a big reversal, Libra reportedly could peg its cryptocurrencies to national currencies

Facebook is willing to reverse course on its plans to tie its digital currency project to a synthetic currency tied to a basket of global currencies.

Reuters is reporting that Facebook’s head of the Libra project, David Marcus, told a group of bankers that the company’s main goal was to create a better payments system and was open to alternative approaches to the original structure of the project.

Facebook and its partners had intended to create its cryptocurrency by pegging it to a basket of national currencies whose holdings would be set by the Libra Association.

National banks considered the plan part of a dangerous end-run around their regulatory authority and have been holding up the project until they could assume tighter control over how the Facebook-architected cryptocurrency and payment technology would operate.

The scrutiny from regulators proved too much for some of Facebook’s largest, and earliest, partners in the Libra Association, whose members would determine how the cryptocurrency would operate.

In the past month seven of the Libra Association’s founding members dropped out including: PayPal, Mastercard, Visa, Ebay, and Stripe. Those seven represented a big chunk of the strategic value and commercial heft of the planned association, with Stripe, Mastercard, Visa, and Ebay standing in for a huge number of payment processors and merchant touchpoints that the new cryptocurrency would need were it to dramatically scale to the size Facebook wanted right out of the gate.

Now, in another strategic reversal, Marcus is conceding the synthetic currency in favor of stablecoins tied to the local currency in each market that Libra would operate.

 

“We could do it differently,â€� Reuters quoted the Libra Association chief as saying. “Instead of having a synthetic unit … we could have a series of stablecoins, a dollar stablecoin, a euro stablecoin, a sterling pound stable coin, etc.â€�

All of this is happening against the backdrop of Facebook’s stated launch date of June 2020 for the Libra cryptocurrency. Marcus told Reuters that the June launch was still the goal, but that the association would not move forward unless it had addressed the concerns of regulators and received the proper approvals.

Those approvals are becoming harder to come by as the regulators who overseen global monetary policy cast a more skeptical eye at on stablecoins as well.

Reuters reported that the G-20 financial overseers wrote in a statement that money laundering, illicit finance and consumer protection need to be evaluated before any stablecoin projects can “commence operation.”

 


Source: TechCrunch

Should we rethink the politics of ‘blocking’?

Years ago, I wrote a piece criticizing a cover story by a well-known writer and political commentator that I’d met a few times, with whom I’d occasionally sparred on Twitter. The piece wasn’t merely a representation of my own views, but pulled in snarky tweets from other journalists disparaging her work too. It was a pile-on, and not my proudest moment.

The Writer wasn’t exactly thin-skinned; in fact, quite the contrary: She was a brash, sometimes obnoxious feminist with strong opinions, unafraid to speak her mind. I often agreed with her, even when I found her delivery abrasive. Still, after a couple of years with me as a thorn in her side, she decided she’d had enough—and so she did something that many readers will find familiar: She blocked me on Twitter.

The block button is an important tool that allows women and other vulnerable people to have some semblance of the same Twitter experience that the average white man might, free from constant harassment. I couldn’t tell you how many times I’ve used it over the years to drown out nasty ad hominems, sea lions, and of course, sexual harassment and worse. 

Twitter wasn’t always the “hell site� we know it as today. Many early users like me found professional advancement and lasting friendship in 140-character missives. But as the site grew, so did its potential for misuse. By 2014—two years shy of its tenth anniversary—Twitter had become central to the GamerGate controversy, ostensibly a dispute about issues of sexism and progressivism in gaming but on Twitter, a free-for-all of harassment and doxing of any woman even tangentially involved in the discussion. The harassment was so severe that it drove some women off the site permanently.

Out of GamerGate emerged better tools for blocking, tools like BlockTogether that allow individual users to share a list of people they’ve blocked. The idea behind these tools is that harassers are likely to have multiple targets, so why not make it easier for potential targets of harassment to block numerous would-be harassers all at once?

But BlockTogether and similar tools are not without flaws. Once you’re on a blocklist, it can be hard to get your name removed and if you end up, for whatever reason, on one created by a prominent or well-respected user, you may find yourself blocked by people you don’t know and would’ve enjoyed following. Some might call this reasonable collateral damage.

Numerous journalists and others have complained of finding themselves on a blocklist after a disagreement with an individual who uses them. I’m unfortunately on one used by a number of journalists. Why, you might ask, was I blocked in the first place? I remember quite clearly: It was for disagreeing with someone about the life sentence handed to Ross Ulbricht, the creator of the Silk Road website. For my opinion, I’ve lost the ability to follow or interact with dozens of journalists whose work I read.

Despite that, I don’t blame women or other minorities who’ve experienced harassment for using the block button liberally. Blocking someone isn’t a matter of free speech (unless of course the blocker in question is an elected official), as some of my harassers have claimed—rather, it’s often a matter of preserving one’s sanity. The block button, along with blocklists, are useful tools for curating space—not a safe space per se, but one free from random harassers, spammers, and the like. Think of it more as a large invite-only event, as opposed to a New York City street.

And yet, I can’t help but wonder if our liberal use of the block button prevents us from experiencing the kind of reconciliation that can happen in our offline communities. We often remove someone from our life, only for them to apologize their way back in later on. Even the Amish, who practice shunning as a matter of faith, allow for the repented to return.

twitter logo sketch wide inverted

Twitter’s architecture has changed over time, sometimes for better and sometimes for worse. Presently, its algorithm sometimes surfaces replies from people you do follow, to tweets from individuals you don’t, based on some assumption that you mind find them interesting. Occasionally, it will surface a reply from a friend to someone with a locked account or, in rare cases, to someone who blocks you, as it did for me the other day. Someone I follow had replied with an interesting comment to a tweet from The Writer—a tweet that, of course, I couldn’t see without logging out and going directly to her profile. And so I did.

What I found was someone who, with that same fierce energy, seemed a lot more thoughtful, with views more similar to mine than I remembered. I felt a momentary pang of sadness for the camaraderie that might have been. I realized the obvious: That we’ve both grown, alongside the backdrop of the horrific political environment that’s accompanied us through the past half-decade. “Have you thought about reaching out to her?� a friend asked.

Therein lies the rub: In the case of The Writer, I could reach out to her; we’ve met in person a few times, and we retain mutual friends. She might respond favorably, or with a “thanks but no thanks�, but either way, it’s unlikely she would deem my approach to be harassment. But there’s this other journalist I’ve never interacted with, who no doubt signed up to a blocklist that I happened to be on. I discovered that she blocked me when I went to read a tweet someone had DM’d me, and was disappointed—but reaching out to her through some other channel would seem weird, invasive. It isn’t worth it.

I recently reviewed my own list of blocked accounts (you can do so through your settings), a list that numbers well into the hundreds. Most aren’t worth revisiting—there’s sexual harassers and transphobes, Bahraini bots and Roseanne Barr, some Trumpites and a few high-profile right-wing accounts. But among them, close to the bottom of the list (coinciding with the early days of the block button), I spotted a few outliers, and decided to give them a second chance.

Technology is constantly changing and progressing and yet, the block button—and blocklists—remain in rudimentary form. They’re simply not priorities for companies whose focus is on profit. But were we to redesign them, perhaps we could find a way to make blocks time-limited, or at least provide users with more nuanced options. One such existing feature is Facebook’s “snoozeâ€� button, which allows users to “muteâ€� another person for 30 days, with a reminder when that time period is up; I found that one particularly handy last summer while a friend was going heavy on self-promotion. I use Twitter’s “muteâ€� function to rid my feed of people with whom I have to interact professionally and thus can’t block. And then there’s the “soft blockâ€�—a feature or bug, it isn’t clear—wherein one can block and unblock someone quickly on Twitter so that the user no longer follows them…at least until they wisen up (this feature/bug is made easier by the fact that Twitter seems to be perpetually plagued by an “unfollow bugâ€�). These tools are helpful, but with all the riches these companies have, they could design something—with input from those most affected by harassment—that is less blunt, more elegant, more thoughtful.

Ultimately, the block button is an imperfect solution to a pervasive problem, and therefore remains as necessary as ever. I know that I’ll continue to use it as long as I’m on social media. But…don’t we deserve something better?


Source: TechCrunch

Pixel 4 turns up the heat on other Android phones, and not because of the camera – CNET

Commentary: Other Android makers had better follow suit.
Source: CNET

La IA ya puede vernos a través de la pared y saber qué hacemos

Un sistema de visión artificial combina entrenamiento con luz visible y ondas de radio para identificar las acciones de personas ocultas tras cualquier estructura. Dado que el sistema no puede reconocer caras, no presenta problemas de privacidad y podría usarse para monitorizar a personas mayores
Source: MIT

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471