package Ġcom . adam k ob us . compose . navigation . model Ċ Ċ import Ġcom . adam k ob us . compose . navigation . Compose Navigation Ċ import Ġcom . adam k ob us . compose . navigation . Navigation Consumer Ċ import Ġcom . adam k ob us . compose . navigation . action . Nav Action Ċ import Ġcom . adam k ob us . compose . navigation . action . Nav Action Wrapper Ċ import Ġcom . adam k ob us . compose . navigation . action . Navigation Result Ċ import Ġcom . adam k ob us . compose . navigation . intent . Nav Intent Ċ import Ġkotlinx . coroutines . Comp letable Deferred Ċ Ċ internal Ġclass ĠNavigation Consumer Impl Ġ: ĠNavigation Consumer Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġnav Processor ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠCompose Navigation . get Nav Processor () ĊĊĠĠĠ Ġoverride Ġfun Ġoffer ( action : ĠNav Action ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnav Processor . post Nav Action ( action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġoffer ( wrapper : ĠNav Action Wrapper ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnav Processor . post Nav Action ( wrapper . action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġoffer ( intent : ĠNav Intent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnav Processor . post Nav Intent ( intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġoffer Blocking ( action : ĠNav Action ): ĠNavigation Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠComp letable Deferred < Navigation Result >() ĊĠĠĠĠĠĠĠ Ġnav Processor . post Nav Action ( action , Ġresult ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult . await () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġoffer Blocking ( wrapper : ĠNav Action Wrapper ): ĠNavigation Result Ġ= Ġoffer Blocking ( wrapper . action ) ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġoffer Blocking ( intent : ĠNav Intent ): ĠNavigation Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠComp letable Deferred < Navigation Result >() ĊĠĠĠĠĠĠĠ Ġnav Processor . post Nav Intent ( intent , Ġresult ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult . await () ĊĠĠĠ Ġ} Ċ } Ċ